iOS XCFramework

Framework 在真机上正常运行,模拟器报错

Could not find module 'SDK' for target 'arm64-apple-ios-simulator'; found: arm64-apple-ios, at: 

可以在使用 framework 时通过修改 Excluded Architectures 等设置达到模拟器正常运行,不在本文讨论范围。

作为 framework 的开发者,还有更好的解决方案:XCFramework,内部也支持 swift 和 Objective-C 混编。

生成

  1. 建立 framework 名为 XCFrameworkSDK ,放到桌面

  2. 打开 terminal

~/Desktop/XCFrameworkSDK
xcodebuild archive \
-scheme XCFrameworkSDK \
-destination "generic/platform=iOS" \
-archivePath ../output/XCFrameworkSDK \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild archive \
-scheme XCFrameworkSDK \
-destination "generic/platform=iOS Simulator" \
-archivePath ../output/XCFrameworkSDK-Sim \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework \
-framework ../output/XCFrameworkSDK.xcarchive/Products/Library/Frameworks/XCFrameworkSDK.framework \
-framework ../output/XCFrameworkSDK-Sim.xcarchive/Products/Library/Frameworks/XCFrameworkSDK.framework \
-output ../output/XCFrameworkSDK.xcframework

桌面多出一个 output 文件夹,里面的 .xcframework 就是库文件了

使用

建立 iOS 项目名为 XCFrameworkDemo

  1. TARGETS->General->Frameworks, Libraries, and Embedded Content,左下加号,弹框内左下 Add Other...->Add Files,选择导入刚才生成的 .xcframework 。Embed & Sign
  2. 直接测试是否能调用库里的 API
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容