将我的应用程序提交到应用程序商店时,我收到此错误:
这是我的 info.plist 文件中的相关部分:
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
当我提交应用程序时,您可以清楚地看到没有版本1.0.0.pre
.
我也使用 CocoaPods。
我该如何解决这个问题?
更新:这是我在项目路径上尝试的内容:find . -name "*.plist" -exec grep -o -A 1 "CFBundleShortVersionString" {} \;
这是结果:
CFBundleShortVersionString
<string>1.0.6</string>
CFBundleShortVersionString
<string>1.0</string>
CFBundleShortVersionString
<string>3.3.4</string>
CFBundleShortVersionString
<string>1.5.5</string>
CFBundleShortVersionString
<string>2.0.2</string>
CFBundleShortVersionString
<string>0.7.0</string>
CFBundleShortVersionString
<string>0.0.9</string>
CFBundleShortVersionString
<string>1.2.2</string>
CFBundleShortVersionString
<string>1.6.0</string>
CFBundleShortVersionString
<string>1.7.2</string>
CFBundleShortVersionString
<string>2.0.0</string>
CFBundleShortVersionString
<string>1.3.2</string>
CFBundleShortVersionString
<string>1.4.1</string>
CFBundleShortVersionString
<string>1.0</string>
CFBundleShortVersionString
<string>0.9.1</string>
CFBundleShortVersionString
<string>0.2.3</string>
CFBundleShortVersionString
<string>1.0.0</string>
CFBundleShortVersionString
<string>3.7.3</string>
CFBundleShortVersionString
<string>0.15.0</string>
CFBundleShortVersionString
<string>1.0.0.pre</string>
CFBundleShortVersionString
<string>2.3.0</string>
CFBundleShortVersionString
<string>2.0.0</string>
CFBundleShortVersionString
<string>1.2</string>
CFBundleShortVersionString
<string>3.0.2</string>
更新2:做:xcodebuild > build.log
我收到以下错误:
2015-10-25 22:02:52.653 xcodebuild[6273:1043943] [MT] PluginLoading: Required plug-in compatibility UUID 7265231C-39B4-402C-89E1-16167C4CC990 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/VVDocumenter-Xcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
** BUILD FAILED **
查找版本号
由于您在项目中看不到该字符串,因此可能有与您的项目相关的捆绑包、框架或库负责。从项目的最顶层目录中,您可以使用find
此外grep
寻找罪魁祸首:
find . -name "*.plist" -exec grep -iq "CFBundleShortVersionString" {} \; \
-exec grep -Him 1 "1.0.0.pre" {} \;
这可能会返回类似于以下内容的结果:
Binary file ./FooProject/Foo.framework/Info.plist matches
./FooProject/Resources/Info.plist- <string>1.0.0.pre</string>
如果返回结果,那么您将找到“错误 ITMS-90096 该捆绑包无效。键 CFBundleVersionShortString 的值...”。如果返回的结果在框架内,如上面第一个结果所示(例如:Binary file
)或另一个包/库,那么您将需要更改其定义的项目中的值(前提是这只是版本号中的错误)。您还可以创建一个清理脚本来替换代码签名之前构建时的值。
1.0.0.pre
但这里更重要的是你的应用程序被拒绝的原因以及1.0.0.pre
版本是专门创建的。使用故意使您的应用程序被拒绝的版本标签是为了防止您在生产应用程序中使用预发布代码 -这是设计使然。创建特定 pod、bundle、框架、库的人告诉您:
“不要在您计划向公众部署的应用程序中使用此预发布代码”。
我建议不要只是简单地更改项目的版本号.plist
以便您的应用程序成功提交 - 相反,检查是否有用于生产的稳定发布版本。
多个Info.plist
框架、pod 和包都有自己的.plist
和版本号。它们不会“覆盖”您的主应用程序版本号,而只是拥有自己的版本号(其中之一显然无效)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)