iOS 应用程序分发失败,错误为 ITMS-90635 嵌套包包含 arm64(机器码),而主包包含 arm64(位代码)

弗罗

我制作了自己的胖框架,并将其分发到 Cocoapods 上。

但是,当我尝试使用我的框架上传启用了位码的应用程序时,我被拒绝并显示错误 ITMS-90635,请参阅:

分发失败的应用商店

我希望我的框架与 bitcode 兼容,因此我在构建框架时设置了ENABLE_BITCODE=YES, BITCODE_GENERATION_MODE=bitcode(此外还尝试了OTHER_CFLAGS="-fembed-bitcode")。

这是我构建框架的方法:

[...]

echo "Clean ${TARGET_NAME} for simulator"
xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' -scheme ${SCHEME} CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode clean

echo "Clean ${TARGET_NAME} for generic device"
xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -configuration ${CONFIGURATION} -destination generic/platform=iOS -scheme ${SCHEME} CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode clean

echo "Build ${WORKSPACE_NAME} for simulator"
xcrun xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -scheme ${SCHEME} -configuration ${CONFIGURATION} -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode

echo "Build ${WORKSPACE_NAME} for generic device"
xcrun xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -scheme ${SCHEME} -configuration ${CONFIGURATION} -destination generic/platform=iOS -sdk iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=YES BITCODE_GENERATION_MODE=bitcode

[...]

lipo -create "${DEVICE_BIN}/${TARGET_NAME}" "${SIMULATOR_BIN}/${TARGET_NAME}" -output  "${UNIVERSAL_PATH}/${TARGET_NAME}.framework/${TARGET_NAME}"

我真正不明白的是,我的框架似乎启用了位码,请参阅:

位码似乎已启用

在验证时

我在构建框架时做错了什么吗?

弗罗

好的,我终于找到了问题所在:)

一旦lipo做了,我用复制/粘贴

Build/Products/Release-iphoneos/MyFramework.framework/Modules/MyFramework.swiftmodule/

进入

Build/Products/Release-iphonesimulator/MyFramework.framework/Modules/MyFramework.swiftmodule/

然后我分发了这个最终框架:

Build/Products/Release-iphonesimulator/MyFramework.framework.

反其道而行之一旦lipo完成,复制/粘贴MyFramework.swiftmodule/Release-iphonesimulator/进入Release-iphoneos/一个与分布在.framework Release-iphoneos/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章