我正在尝试使用一个旧的应用程序提交存档到应用商店。但是,我一直收到两个错误提示:必须在 plist 中包含 CFBundleShortVersionString 键,更麻烦的是“该软件包不包含 plist”。
这些项目都存在于应用程序中。我已经将 CFBundleShortVersionString 键添加到了 plist 中,并且 plist 文件肯定存在,否则我就无法构建它。那么问题出在哪里呢?
我正在尝试使用一个旧的应用程序提交存档到应用商店。但是,我一直收到两个错误提示:必须在 plist 中包含 CFBundleShortVersionString 键,更麻烦的是“该软件包不包含 plist”。
这些项目都存在于应用程序中。我已经将 CFBundleShortVersionString 键添加到了 plist 中,并且 plist 文件肯定存在,否则我就无法构建它。那么问题出在哪里呢?
rm -rf ~/Library/Developer/Xcode/DerivedData
这个命令为我节省了 40GB 的空间。 - bencagri我曾遇到同样的问题。
我只需在Info.plist中添加一个带有版本值的键为Bundle versions string, short
的新行,然后它便不再出现其他错误,通过了验证。
在我的情况下,info.plist文件中的可执行文件名称条目有误,我将其替换为${EXECUTABLE_NAME},问题得以解决。
当您在应用程序中嵌入应用程序扩展时,您必须检查(启用)MainApp-Info.plist的目标成员身份以将其应用于这些应用程序扩展以及主应用程序。 在Xcode文件检查器中进行操作。
苹果已经发布了一份列出可能导致此问题的技术文档。截至今日:
您不需要编辑plist文件。只需在Targets - General中设置构建号(位于版本号下方)。这将传播到plist文件中作为Bundle Version。
我也遇到过这种情况,当我删除构建号时,结果就是您所遇到的错误。当我插入1时,问题得到了解决。
对我来说,我之前复制了一个目标,并且编译设置引用了一个不存在的二进制文件 "myApp copy"
我曾经遇到过同样的问题,出现了相同的两个错误信息。实际上,Info.plist 文件确实在包中,但它并没有包含 CFBundleShortVersionString。第一个错误(Archive does not contain Info.plist)是由苹果系统错误地给出的。
在我的情况下,项目中有几个目标,并且我将 CFBundleShortVersionString 添加到了错误的目标上(而不是我正在与苹果验证的目标)。
为了确保万无一失,请执行以下操作: