由于缺少Info.plist,xcarchive格式错误

时间:2016-09-29 10:00:45

标签: ios xcode8 xcodebuild xcarchive

我有两个基于相同Rake脚本构建的项目,它在内部使用XCode构建。 使用xcodebuild -archivePath构建它(ARCHIVE成功),然后我用xcodebuild -exportArchive打包应用程序。 问题是第一个项目成功完成所有步骤,但第二个项目在xcodebuild -exportArchive失败,因为xcarchive格式不正确。 我比较了这两个档案,并且由于档案内缺少Info.plist导致了畸形。 当我手动准备这样的Info.plist并将其放入xcarchive时,我就可以毫无问题地打包应用。

为什么XCode构建不会在Info.plist文件中生成xcarchive的任何线索?

2 个答案:

答案 0 :(得分:1)

@ diidu对这个问题的评论是我的问题的解决方案,我认为与@ Fishman的相同。从我的构建脚本添加CONFIGURATION_BUILD_DIR(以及删除SYMROOT的使用)导致Info.plist写入存档,然后导出成功。

答案 1 :(得分:0)

我在 iOS 应用程序项目中也遇到了这个错误。该项目使用链接到框架的 GIT 子模块,作为子项目集成到 Xcode 工作区。

该项目确实正常构建,直到框架子模块升级为使用 XCFramework 而不是普通框架。深入研究这个问题,我终于找到了问题所在:BUILD_LIBRARY_FOR_DISTRIBUTIONSKIP_INSTALL 框架构建设置

如果你设置

BUILD_LIBRARY_FOR_DISTRIBUTION=YES
SKIP_INSTALL=否

为了构建框架,应用程序归档任务将生成一个错误的XCArchive,使其成为Info.plist,没有ApplicationProperties 条目。 您必须确保至少没有 BUILD_LIBRARY_FOR_DISTRIBUTION 构建属性设置为 YES,并且可能没有 SKIP_INSTALL 设置为 NO