我正在使用 xcodebuild
从工作区生成存档。我使用以下命令:
xcodebuild -workspace MyProject.xcworkspace -scheme "MyProject"
-destination generic/platform=iOS archive
-archivePath "../PathToArchive/MyProject.xcarchive
(为了便于阅读,我将其分隔成多行)
此命令生成一个MyProject.xcarchive
。但是,它会生成通用“Xcode Archive”而不是“iOS App Archive”。这无法提交到 App Store。
如果我使用 Xcode.app 版本 7.0.1 (7A1001) 而不是 xcodebuild
归档完全相同的工作区和方案,那么我会得到一个“iOS App Archive”,可以将其提交到 App Store 。
检查这两个 xcarchive
的内容可以看出,主要区别在于捆绑的 Info.plist
文件。由 Xcode.app 生成的包含一个附加的 ApplicationProperties
字典,其中包含版本控制和签名详细信息。由 xcodebuild
生成的 Info.plist 中缺少这些详细信息。
将 Xcode.app 生成的 Info.plist 复制到由 xcodebuild
生成的 xcarchive
中,可以“修复”存档,并且可以将其提交到 App Store。但这不是一个解决方案,因为这意味着我无法在命令行上构建。
请注意,执行 xcodebuild -version
会打印:
Xcode 7.0.1
Build version 7A1001
编辑:有时 xcodebuild
似乎会生成正确的 iOS 应用程序存档,而不是通用存档。我不太清楚为什么会发生这种情况。不一致。
最佳答案
你在使用 Cocoapods 吗?如果是这样,请尝试使用预发布版本 gem install cocoapods --pre
。我有这个问题是因为复制 pods 阶段不应该在某个地方,请通过 https://github.com/CocoaPods/CocoaPods/issues/4021您应该找到适合您的解决方案。
关于ios - xcodebuild 生成与 Xcode 7.0.1 不同的存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33160701/