因爲 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