我目前正在开发一个框架,旨在由客户发布并提交给应用商店。
目前,我正在执行以下
#!/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:"无效的段对齐。 “二进制”中的应用二进制文件 FreeCell.app/Frameworks/MyFramework.framework/MyFramework'不 没有适当的段对齐。尝试使用重建应用程序 最新的Xcode版本。"错误ITMS-90209:"无效的段对齐。 “二进制”中的应用二进制文件 FreeCell.app/Frameworks/CNVRTagManager.framework/MyFramework'不 没有适当的段对齐。尝试使用重建应用程序 最新的Xcode版本。“
警告ITMS-90080:"可执行文件'有效负载/ CV FreeCell.app/Frameworks/MyFramework.framework'不是一个职位 独立可执行文件。请确保您的构建设置 配置为创建PIE可执行文件。有关更多信息,请参阅 技术Q& A QA1788 - 在中国建立一个独立于位置的可执行文件 iOS开发者库。"警告ITMS-90080:"可执行文件 ' Payload / CV FreeCell.app/Frameworks/MyFramework.framework'不是一个 位置独立可执行文件。请确保您的构建 设置配置为创建PIE可执行文件。更多 信息参见技术Q& A QA1788 - 建立职位 iOS开发人员库中的独立可执行文件。
现在我很想我必须为模拟器和设备发布一个框架。是这样的吗?是否有某个我缺少的资源?
感谢。
答案 0 :(得分:-1)
最佳做法是创建一个组合框架。一个支持设备和模拟器。
这个过程通常涉及单独为两个架构构建框架,然后将它们组合在一起。
您还可以使用一个脚本,在您构建框架时将为您处理合并。
此answer此处应为您提供更多指导。