因为 iOS 编译的特殊性,为了方便开发者在模拟器调试,不少 SDK 将i386
、x86_64
、armv7
、arm64
几个平台都合并到了一块儿。在开发阶段都没有问题,但生产编译上传到 App Store 时,须要将i386
和x86_64
两个平台的库删除,不然没法正常提交审核。shell
以环信Hyphenate.framework
为例,具体操做以下:spa
先把Hyphenate.framework
拷贝一份;调试
从Hyphenate.framework
剥离出armv7
和arm64
的库code
// armv7
lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
// arm64
lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
复制代码
将armv7
和arm64
的库打包ip
lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
复制代码
修改文件名开发
mv Hyphenate Hyphenate.framework
复制代码
以上操做后,使用新的Hyphenate.framework
替换到项目中,而后从新编译就好了。编译
PS:注意最后获得的包必须真机编译运行,而且工程要设置编译二进制文件General
->Embedded Bunaries
。class