簡體   English   中英

無法使用Xcode 10.2中的通用框架編譯項目

[英]Unable to compile project using universal framework in Xcode 10.2

我有一個框架,它是用SwiftObjective-C 我為兩者都創建了一個胖框架,如果嘗試在項目中使用它,則會收到如下錯誤:

找不到架構x86_64的模塊,找到arm64,arm,arm7

對於兩個框架。 我正在使用Xcode 10.2。

如果您要構建一個包含Swift代碼的框架,並使用lipo創建同時支持設備和模擬器平台的二進制文件,則還必須為每個平台組合生成的Framework-Swift.h標頭,以創建同時支持設備和模擬器的標頭平台。 (48635615)例如,如果您已構建:

- iOS/Framework.framework
- iOS Simulator/Framework.framework

采取:

- iOS/Framework.framework/Headers/Framework-Swift.h
- iOS Simulator/Framework.framework/Framework-Swift.h

創建一個新的:

- iOS + iOS Simulator/Framework.framework/Headers/Framework-Swift.h

新Framework-Swift.h的內容應為:

#if TARGET_OS_SIMULATOR
<contents of original iOS Simulator/Framework.framework/Framework-Swift.h>
#else
<contents of original iOS/Framework.framework/Framework-Swift.h>
#endif

信用: https : //developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes?language=objc

剛遇到同樣的問題,可以使用此處存儲的腳本對其進行修復:

https://gist.github.com/quangDecember/9f7d65964b7df8d71c4a1cfd4f95c0ee

只需使用鏈接中的腳本替換創建胖框架的腳本即可。 這對我來說很完美。 XCode 10.2

我有同樣的問題,唯一的選擇是在真實設備上運行該應用程序。 但是,如果您只想構建項目,則選擇“通用iOS設備”選項,而不選擇“ iPhone 6”,“ iPhone 7”或其他。

除了要求框架的所有者發布具有x86_64體系結構的版本外,沒有其他解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM