xcodebuild存档在添加自定义构建设置时会生成格式错误的xcarchive

时间:2014-03-12 11:21:23

标签: ios objective-c xcode5 xcodebuild

我尝试使用xcodebuild生成一个xcarchive,稍后我可以使用添加了Xcode 5的新功能将其导出为.ipa。

这完全没问题:

xcodebuild -workspace 'MyWorkspace.xcworkspace' -scheme 'MyScheme' -configuration 'Release' -archivePath tmp.xcarchive archive
xcodebuild -exportArchive -exportFormat IPA -archivePath tmp.xcarchive -exportPath app.ipa -exportWithOriginalSigningIdentity

但是,只要我将自定义构建设置添加到存档命令:

-derivedDataPath build SYMROOT=build/build.sym DSTROOT=build/build.dst OBJROOT=build/build.obj SHARED_PRECOMPS_DIR=build/build.pch

生成的.xcarchive为空,但没有错误。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

对我来说,这与Xcode中的Installation Directory部署构建设置有关:CMake以某种方式将其设置为"",即空字符串,应该是"/Applications", Xcode默认。对我来说,将其设置为"/Applications"以外的任何内容都会导致生成的存档为空,因此“格式错误”。

因此,由于CMake或其他原因,您的项目可能因Installation Directory设置为"/Applications"而不知情。

要使用CMake进行设置,请将其添加到目标属性:

set_target_properties(${MODULE} PROPERTIES
     ...
     XCODE_ATTRIBUTE_INSTALL_PATH "/Applications"
     ...
)

答案 1 :(得分:3)

对我来说,当我尝试创建存档的驱动器上没有剩余空间时,会发生此错误。但我无法从控制台中的错误中分辨出来

答案 2 :(得分:0)

在我的情况下,'archivepath'目录/文件路径在前面的步骤中设置不正确,并且它正在查找没有.xcarchive文件的目录。值得手动检查路径以及目录中是否存在存档文件

答案 3 :(得分:0)

就我而言,我在路径末尾缺少 (SELECT * FROM EMP ORDER BY EMP.COMM) UNION ALL B_SAL 扩展名。

.xcarchive