我将构建上传到itunes connect时遇到了问题。我总是得到以下错误
我的常规项目设置如下所示
我也在我的项目中使用cocoapods,但之前从未收到此错误,我已经上传了几个版本。我不知道那个奇怪的数字[1443188838-89]
来自哪里。
同样在信息标签上,捆绑版本对我来说很好看
与info.plist一样,源代码看起来不错
非常感谢任何帮助。
答案 0 :(得分:3)
好的,所以在花了很多时间在这个问题上后我终于可以解决了。
如果您的Info.plist文件中有错误的CFBundleVersion
号码,请检查全部。浏览所有Cocoapods 和静态框架及其捆绑包(右键单击 - 显示包内容)。在我的例子中,它是Netverify(Jumio)框架和包中的一个不正确的CFBundleVersion
密钥。 (与错误消息中显示的相同)。
我刚刚将其更改为1.0.0之类的有效密钥,现在可以正常使用了!
答案 1 :(得分:3)
你是对的,问题是非数字CocoaPods版本,但我不建议手动修复它。 Podfile
中的此脚本可以完成工作:
# fix for non numeric CocoaPods versions
# https://github.com/CocoaPods/CocoaPods/issues/4421#issuecomment-151804311
post_install do |installer|
plist_buddy = "/usr/libexec/PlistBuddy"
installer.pods_project.targets.each do |target|
plist = "Pods/Target Support Files/#{target}/Info.plist"
original_version = `#{plist_buddy} -c "Print CFBundleShortVersionString" "#{plist}"`.strip
changed_version = original_version[/(\d+\.){1,2}(\d+)?/]
unless original_version == changed_version
puts "Fix version of Pod #{target}: #{original_version} => #{changed_version}"
`#{plist_buddy} -c "Set CFBundleShortVersionString #{changed_version}" "Pods/Target Support Files/#{target}/Info.plist"`
end
end
end
ReactiveCocoa 4的输出示例:
Installing ReactiveCocoa (4.0.4-alpha-1)
(...)
Fix version of Pod ReactiveCocoa: 4.0.4-alpha-1 => 4.0.4
答案 2 :(得分:0)
我也遇到过这个问题,即使已经上传并发布到TestFlight内部测试的构建版本也是如此。它不允许我释放给外部测试人员,因为版本字符串必须是由句点分隔的三个数字。
我正在使用Cocoapods构建框架与Swift并在我的项目中进行搜索,发现RxSwift的Info.plist的版本字符串设置为' 2.0.0-alpha'。值得庆幸的是,我没有开始大量使用它,所以我能够删除pod并成功提交没有问题。您应该能够修改有问题的pod的版本字符串以使您的提交能够完成(尽管这显然不是理想的)。
我不知道这是Apple的服务或新政策中的错误,但无论哪种方式都很痛苦。
答案 3 :(得分:0)
我的解决方案是在Podfile中更新pod SVWebViewController:
这
pod SVWebViewController, :HEAD
//Info.plist
<key>CFBundleShortVersionString</key>
<string>HEAD 1.0</string>
到
pod SVWebViewController
//Info.plist
<key>CFBundleShortVersionString</key>
<string>1.0</string>
此更新对此特定窗格的Info.plist文件进行了更改。感谢您提示用户1463853。