我想要分发的iOS SDK是由一个框架组成的,该框架的frameworks文件夹中有其他框架。我想将最旧的框架转换为XCFramework进行分发。要做到这一点,首先我用以下命令归档框架:
xcodebuild archive
-scheme "MySDK"
-destination "generic/platform=iOS"
-archivePath ../output/MySDK-iOS
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
-workspace "MyWorkspace.xcworkspace"
xcodebuild archive
-scheme "MySDK"
-destination "generic/platform=iOS Simulator"
-archivePath ../output/MySDK-Sim
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
-workspace "MyWorkspace.xcworkspace"
因此,在档案的Package Contents中,我看到内部框架和主框架都已创建并列在Products->库->框架。我试图用以下命令创建xcframework:
xcodebuild -create-xcframework
-framework ./MySDK-iOS.xcarchive/Products/Library/Frameworks/MySDK.framework
-framework ./MySDK-Sim.xcarchive/Products/Library/Frameworks/MySDK.framework
-output ./MySDK.xcframework
我得到错误:
The CodingKeys(stringValue: "SupportedPlatform", intValue: nil) is empty in library -arm64_armv7.
如何在此设置中创建XCFramework而不出现错误?
在目标的Frameworks和Libraries部分下有一个带有.a扩展的额外库用于测试,删除此库解决了问题。