ios - xcodebuild 生成与 Xcode 7.0.1 不同的存档

标签 ios xcode xcodebuild

我正在使用 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/

相关文章:

ios - UIAlertController addAction 不起作用

objective-c - UITableView 滚动不稳定

ios - 获取文档目录中特定文件夹的内容

ios - xcodebuild:错误:无法构建工作区。原因:仅构 build 备不能用于运行此目标

ios - 在不破坏 xcodebuild 存档的情况下将 os x 工具构建为 iOS 项目的一部分?

ios - 过滤一个 Json 填充的 UITableView Swift 2

objective-c - 如何为 Mac (Cocoa) 应用程序创建端到端测试?

ios - 访问选项卡 Controller View ?

xcode - 使用 LLVM/Clang 忽略特定文件中的所有警告

ios - 为什么未签名的 xcarchive 比签名的大?