lipo -create我通過加入模擬器和 iphone 架構框架,使用命令從帶有“example.com.a”捆綁識別符號的 xcode 專案制作了一個自定義框架。info.plist因此,默認情況下,它的檔案中有一個包識別符號“example.com.a” 。我可以在我的應用程式中使用這個框架,并且我的應用程式安裝在設備上沒有任何錯誤
現在,當我嘗試通過手動編輯框架檔案夾中的 info.plist 而不是 xcode 專案來將自定義框架的包識別符號更改為“myapp.custom.framework”之類的東西時。
通過這樣做,我無法在設備中安裝 .ipa。它顯示“無法安裝應用程式”。
所以我的問題是
1) 手動更改捆綁識別符號或向自定義框架的 info.plist 添加鍵是否會影響自定義框架功能?
2)要更改自定義框架的捆綁識別符號,我們是否需要在主 xcode 專案中更改它?現在我正在框架檔案夾中的 info.plist 中更改和添加鍵。
uj5u.com熱心網友回復:
經過長時間的研究和試驗,我發現如果我們在自定義框架檔案夾中的 info.plist 中更改包識別符號,它會在添加示例專案時產生錯誤,而我們需要從 XCode 專案中更改包識別符號然后生成iPhone 和模擬器.framework,并使用lipo -create output它們來組合它們并創建一個通用庫。
以下是步驟:
構建和分發通用/胖框架: 在框架專案中:
- 為模擬器構建 xcode 框架專案并為設備構建,這將在派生資料檔案夾中生成兩個框架。
在終端中:
2. 找到專案的派生資料路徑。查找檔案夾Build->Products。里面應該是“-iphoneos”和“-iphonesimulator”。每個里面都有一個 .framework 檔案夾。將其中一個復制到一些不錯的檔案夾中。從每個 .frawework 檔案夾中,將其中的二進制檔案復制到一個檔案夾中。3.在終端運行命令lipo -create -output <outputName> <binaryFromiphoneos> <binaryFromiphonesimulator>。這將為模擬器和設備創建一個包含所有架構的胖二進制檔案。將復制的 .framework 目錄中的替換為新生成的,最好在 iPhone 平臺框架檔案夾中。
- 在終端中運行
lipo -info <framework path>以了解框架的架構
要在另一個應用程式中使用該框架:
Project在 Project Navigator 中選擇,選擇目標,然后選擇選項General卡。- 將 .framework 檔案夾拖到顯示“在此處添加嵌入式二進制檔案”的位置。
- 在目標的構建設定中,將 .framework 檔案夾的路徑添加到“框架搜索路徑”。
- 使用 #import 在源代碼中匯入檔案
<frameworkName/frameworkName.h>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/471002.html
上一篇:為什么顏色修飾符順序會影響SwiftUI中的視圖大小?
下一篇:IOS模擬器打不開
