iOS 打包移除 i386 和 x86_64 平臺動態庫

因爲 iOS 編譯的特殊性,爲了方便開發者在模擬器調試,不少 SDK 將i386x86_64armv7arm64幾個平臺都合併到了一塊兒。在開發階段都沒有問題,但生產編譯上傳到 App Store 時,須要將i386x86_64兩個平臺的庫刪除,不然沒法正常提交審覈。shell

以環信Hyphenate.framework爲例,具體操做以下:spa

  1. 先把Hyphenate.framework拷貝一份;調試

  2. Hyphenate.framework剝離出armv7arm64的庫code

    // armv7
    lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
    // arm64
    lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
    複製代碼
  3. armv7arm64的庫打包ip

    lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
    複製代碼
  4. 修改文件名開發

    mv Hyphenate Hyphenate.framework
    複製代碼
  5. 以上操做後,使用新的Hyphenate.framework替換到項目中,而後從新編譯就好了。編譯

PS:注意最後獲得的包必須真機編譯運行,而且工程要設置編譯二進制文件General->Embedded Bunariesclass

相關文章
相關標籤/搜索