簡體   English   中英

Xcode12.4 - iOS Umbrella xcframework 框架和 xcframework 子項目

[英]Xcode12.4 - iOS Umbrella xcframework framework with xcframework sub projects

我想將一些 XCFrameworks 放入一個傘形框架或傘形 xcframework 中,使用 iOS 的 Xcode 12.4。 我嘗試了這些線程中提到的所有方法。 但是,我無法讓它適用於我的客戶端應用程序中的任何 swift 類。

請注意,這與 ObjC 類無縫協作。

傘架

XCFramework 與 static 框架子依賴項

方法 1 - Create.framework

當我通過添加子 xcframeworks 來復制框架構建階段來構建 a.framework 時,我看到 xcframework 子項目被提取到 static 庫“.a”文件中。 我在我的應用程序中導入 this.framework,即 ObjC + Swift,對於導入傘形框架的所有 swift 類中的所有子項目,我收到“沒有此類模塊”錯誤

方法 2 - Create.xcframework

當我使用所有 xcframework 子項目創建 a.xcframework 時,當我在客戶端應用程序中使用傘形框架時,x86_64-apple-ios-simulator.swiftinterface 中出現 No such module 'XXXX' 錯誤

請注意,我在客戶端應用程序中鏈接和嵌入了雨傘/xcframework。

另一個想法

此外,當我使用 Xcode 12.4 創建示例應用程序並導入相同的傘形框架/.xcframework 時,一切正常。 這與在舊版本的 XCode 中創建的客戶端 app.xcodeproj 有關嗎?

一些事情要嘗試:

  1. 確保設置了BUILD_LIBRARY_FOR_DISTRIBUTION

  2. 靜態鏈接子框架。 如果您使用 CocoaPods 包含其他框架,請確保指定use_frameworks: :linkage => :static

  3. 在您使用子框架的源文件中,編寫@_implementationOnly import SomeFramework

暫無
暫無

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

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