【发布时间】:2016-11-03 06:42:15
【问题描述】:
我目前正在开发一个框架,该框架旨在由客户发布和包含以提交到应用商店。
目前,我正在执行以下操作
#!/bin/sh
xcodebuild -target MyFramework -sdk iphoneos -configuration Release clean build
xcodebuild -target MyFramework -sdk iphonesimulator -configuration Release clean build
mkdir build/Release-iphoneuniversal
cp -R build/Release-iphoneos/MyFramework.framework build/Release-iphoneuniversal/
cp build/Release-iphonesimulator/MyFramework.framework/Modules/CNVRTagManager.swiftmodule/* build/Release-iphoneuniversal/MyFramework.framework/Modules/CNVRTagManager.swiftmodule/
lipo build/Release-iphoneos/MyFramework.framework/MyFramework build/Release-iphonesimulator/MyFramework.framework/MyFramework -create -output build/Release-iphoneuniversal/MyFramework.framework/MyFramework
这创建了一个很棒的小框架,我可以将它包含在我可以为模拟器或设备构建的项目中。我也可以存档。特别值得注意的是,我添加了自定义构建设置
BITCODE_GENERATION_MODE=bitcode
确保正确包含位代码。
问题?好吧,当我将工作应用提交到应用商店时会发生这种情况。
错误 ITMS-90087:“不支持的架构。CV 的可执行文件 FreeCell.app/Frameworks/MyFramework.framework 包含不受支持的 架构'[x86_64,i386]'。”错误 ITMS-90087:“不支持 架构。 CV的可执行文件 FreeCell.app/Frameworks/MyFramework.framework 包含不受支持的 架构'[x86_64, i386]'。”
错误 ITMS-90209:“无效的段对齐。'CV 处的应用程序二进制文件 FreeCell.app/Frameworks/MyFramework.framework/MyFramework' 确实 没有正确的段对齐。尝试使用 最新的 Xcode 版本。” 错误 ITMS-90209:“无效的段对齐。 'CV 中的应用程序二进制文件 FreeCell.app/Frameworks/CNVRTagManager.framework/MyFramework' 确实 没有正确的段对齐。尝试使用 最新的 Xcode 版本。”
警告 ITMS-90080:“可执行的 'Payload/CV FreeCell.app/Frameworks/MyFramework.framework' 不是职位 独立可执行文件。请确保您的构建设置是 配置为创建 PIE 可执行文件。有关更多信息,请参阅 技术问答 QA1788 - 在 iOS 开发人员库。”警告 ITMS-90080:“可执行文件 'Payload/CV FreeCell.app/Frameworks/MyFramework.framework' 不是 位置无关的可执行文件。请确保您的构建 设置配置为创建 PIE 可执行文件。更多 信息请参阅技术问答 QA1788 - 建立职位 iOS 开发者库中的独立可执行文件。
现在我很想我必须发布一个用于模拟器的框架和一个用于设备的框架。是这样吗?是否有我缺少的资源?
谢谢。
【问题讨论】:
-
您找到解决此问题的方法了吗?我不想让开发人员在上传之前剥离二进制文件,我不想发布两个版本:模拟器和设备。
-
很遗憾,它没有帮助我,因为我正在构建的框架使用它自己的框架。除了不使用“子框架”之外,没有其他解决方案
标签: ios xcode swift frameworks universal