"您上传的二进制文件无效.Info.plist文件中的密钥CFBundleVersion必须包含比以前上传版本更高的版本."
当我上传我的应用程序时,我收到此错误.
我在iTunes Connect上将更新版本设置为1.2,并且还将.plist文件更新为1.2.
我不明白为什么我会收到这个错误.任何帮助,将不胜感激.谢谢.
iOS应用的版本/构建字段包括:
"Version" CFBundleShortVersionString(String - iOS,OS X)指定捆绑包的发布版本号,该版本号标识应用程序的已发布迭代.发行版本号是由三个以句点分隔的整数组成的字符串.
"Build" CFBundleVersion(String - iOS,OS X)指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布).构建版本号应该是由三个非负的,周期分隔的整数组成的字符串,第一个整数大于零.该字符串应仅包含数字(0-9)和句点(.)字符.前导零从每个整数中截断,将被忽略(即1.02.3相当于1.2.3).此密钥不可本地化.
"iTunes Connect版本号":在iTunes Connect上创建应用程序的新版本时指定的版本号.
我的问题是:
当新版本的应用程序上传到iTunes Connect和/或发布到App Store时,需要增加哪些版本/内部版本号?
应用更新之间的"版本" CFBundleShortVersionString或"构建"可以CFBundleVersion保持不变吗?
Apple来源的额外积分或iTunesConnect在上传无效版本/内部版本号时显示的确切错误消息.
促使这个问题的讨论是,在谷歌Android应用的大众"版本" Play商店并没有需要递增,是没有办法验证.该android:versionName可不同版本之间保持不变,升级,降级,或者是任何随机字符串,而不是东西,似乎是一个有效的"版本号".
android:versionName- 表示应用程序代码的发行版本的字符串值,因为它应显示给用户.该值是一个字符串,以便您可以将应用程序版本描述为
<major>.<minor>.<point>字符串,或任何其他类型的绝对或相对版本标识符.
Android中versionName和versionNumber之间的区别
而android:versionCode强制执行是一个递增的释放整数.
正如新接受的回答中所述,Apple最近发布了一份技术说明,详细说明了他们的版本和内部版本号:
Apple的doc可能更清楚如何提交更新版本.
正如标题中所说,有什么区别
它们有任何关联吗?
当我将应用程序上传到 App Store Connect 时出现以下错误:
The provided entity includes a relationship with an invalid value
'' is not a valid ID for this relationship. (ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX)
Run Code Online (Sandbox Code Playgroud)
该错误的解决方案是什么?
我在尝试提交我的应用时收到此警告:

警告ITMS-9000:"此捆绑包无效.info.plist文件中密钥CFBundleVersion [3.3.9.2014.08.20]的值必须是一个以句点分隔的列表,最多包含三个非负整数."
这是我在使用该版本控制格式进行大量提交后第一次看到这个.
关于CFBundleVersion有什么变化吗?
我猜这三个并不总是在那里?还是苹果刚开始警告我们呢?
来自Apple文档:
CFBundleVersion
CFBundleVersion(String - iOS,OS X)指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布).构建版本号应该是由三个非负的,周期分隔的整数组成的字符串,第一个整数大于零.该字符串应仅包含数字(0-9)和句点(.)字符.前导零从每个整数中截断,将被忽略(即1.02.3相当于1.2.3).此密钥不可本地化.
编辑:
显然CFBundleVersion已经改变,你可以在这里看到.令人遗憾的是,我需要搜索WayBackMachine这样的东西,而Apple的"文档修订历史"却没有说明这一点.
我在iTunes Connect中有一个应用程序,其状态为待定开发人员版本,即已经Apple审核小组批准,现在我可以随时手动发布它.(注意,这是最初的启动,即App Store中目前没有该应用程序的版本).
我现在的问题是,如果可以在iTunes Connect中提交新版本而不取消已经批准的版本,通过取消我正好意味着失去将其发布到App Store的机会.
我已按照所有步骤生成.ipa file并使用Application Loader上传它但仍然收到以下错误:
The Info.plist in the package must contain the CFBundleVersion key.
The Info.plist in the package must contain the CFBundleShortVersionString key.
Run Code Online (Sandbox Code Playgroud)
这是包含所有信息的Hello World-Info.plist文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>icon.png</string>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>icon-40</string>
<string>icon-small</string>
<string>icon-60</string>
<string>icon.png</string>
<string>icon@2x</string>
<string>icon-72</string>
<string>icon-72@2x</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>icon-small</string>
<string>icon-40</string>
<string>icon-50</string>
<string>icon-76</string>
<string>icon-60</string>
<string>icon</string>
<string>icon@2x</string>
<string>icon-72</string> …Run Code Online (Sandbox Code Playgroud) 我在Appstore市场上的当前iOS应用程序有以下版本.
CFBundleVersion 10301 CFBundleShortVersionString 1.3.0
我本周要更新我的应用程序,我的版本是#
CFBundleVersion 2.1.7 CFBundleShortVersionString 2.1.7
我怀疑的是
当前CFBundleVersion 10301新CFBundleVersion 2.1.7
它是否正确?
我可以在新版本中更改CFBundleVersion的格式吗?