我正在尝试创建一个.xcframework
我正在使用的一些第三方库的文件。按照以下指示https://appspector.com/blog/xcframeworks https://appspector.com/blog/xcframeworks, I
- 创建特定于平台的
framework
files:
# Archive for device
xcodebuild archive -scheme TestFramework -destination="iOS" -archivePath /tmp/xcf/ios.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
# Archive for simulator
xcodebuild archive -scheme TestFramework -destination="iOS Simulator" -archivePath /tmp/xcf/iossimulator.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
至此,我已经得到了两个框架.swiftmodule
文件;一切看起来都不错。框架做not一起去.swiftinterface
文件,但我认为这没关系,因为这些是 objc 项目。然后我
- 结合个体
framework
s 形成一个单一的xcframework
file:
# Build xcframework with two archives
xcodebuild -create-xcframework -framework /tmp/xcf/ios.xcarchive/Products/Library/Frameworks/TestFramework.framework -framework /tmp/xcf/iossimulator.xcarchive/Products/Library/Frameworks/TestFramework.framework -output /tmp/xcf/TestFramework.xcframework
Here, xcodebuild
不fail,但它会发出一个奇怪的错误:
No 'swiftinterface' files found within '/Users/user/git/ReactiveObjC/output/xcf/ios.xcarchive/Products/Products/Library/TestFramework.framework/Modules/TestFramework.swiftmodule'.
至关重要的是,.xcframework
包装中不包含单独的framework
s or中指定的文件夹Info.plist
文件。显然,当我尝试链接到xcframework
在这种状态下,我收到一堆“丢失符号”链接器错误。
为什么是这样?我必须做什么才能得到xcodebuild
来创建xcframework
完全地?
注意:手动创建文件夹目前似乎可行,但这感觉不对并且很脆弱 - Apple 可以改变这种方式xcodebuild
随时工作。