我正在尝试更新我在Xcode 3.x版本中创建的iPhone / iPad应用程序。
我已经在我的Info.plist中添加了CFBundleVersion和另一个,我已经检查了所有内容,但我仍然收到以下错误。
此捆绑包无效。 Info.plist文件缺少必需的密钥:CFBundleVersion(1091)
我一次又一次地收到它并检查了我的Info.plist文件中已经存在的CFBundleVersion。
请帮帮我
由于
以下是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>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleDocumentTypes</key>
<array/>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>icon.png</string>
<key>CFBundleIconFiles</key>
<array>
<string>icon-57.png</string>
<string>icon-72.png</string>
<string>icon-144.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>com.my-irc</string>
<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.3.5</string>
<key>CFBundleSignature</key>
<string>coRC</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Internet Relay Chat Server</string>
<key>CFBundleURLSchemes</key>
<array>
<string>irc</string>
<string>ircs</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.1</string>
<key>CQBuildType</key>
<string>personal</string>
<key>LSMinimumSystemVersion</key>
<string>3.1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MVChatCoreCTCPVersionReplyInfo</key>
<string>http://colloquy.mobi</string>
<key>UIPrerenderedIcon</key>
<true/>
<key>UIRequiresPersistentWiFi</key>
<true/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UTExportedTypeDeclarations</key>
<array/>
<key>UTImportedTypeDeclarations</key>
<array/>
</dict>
</plist>
答案 0 :(得分:16)
我遇到了同样的问题。我这样解决了。在XCode 4.2中,单击Target。在摘要部分中,您将看到版本和内部版本号。如果你将它们设置为相同的东西,它就可以了。如果您只设置版本并忽略构建字段,您将收到错误。这解决了我的问题。
答案 1 :(得分:1)
在从3.x过渡到4.0的过程中听起来有些问题需要检查一些事情:
否则,你应该可以在这里粘贴你的plist。在Xcode中右键单击plist文件,然后选择Open As&gt;源代码。这将为您提供可以粘贴到您的问题中的raw-xml(编辑您的问题以进行更新)。
答案 2 :(得分:1)
在我的情况下,CFBundleVersion
由构建时的subversion工作副本修订号组成。这是通过以下脚本完成的:
Target -> Build Phases -> Run script
在检查构建日志之后,事实证明Xcode使用的子版本二进制文件与我在命令行上使用的版本不同(MacPorts版本)。收到的错误是:
svn: The path '.' appears to be part of a Subversion 1.7 or greater /.../
修改以下行后:
REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
为:
REV=`/opt/local/bin/svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
一切都恢复正常。
答案 3 :(得分:1)
我也有这个问题。这是我的解决方案: