Info.plist 中 CFBundleDocumentTypes 键的值必须是字典数组
Posted
技术标签:
【中文标题】Info.plist 中 CFBundleDocumentTypes 键的值必须是字典数组【英文标题】:The value of the CFBundleDocumentTypes key in the Info.plist must be an array of dictionaries 【发布时间】:2020-07-05 06:38:51 【问题描述】:我们在将我们的应用上传到应用商店时遇到以下问题,尽管我们没有在应用中使用 CFBundleDocumentTypes 并且上周成功上传了上一个版本
错误 ITMS-90149:“此捆绑包无效。,每个字典至少包含 CFBundleTypeName 键。”
我们如何解决这个问题?
XCODE 11.3.1
谢谢。
【问题讨论】:
已经做了这一步..但同样的问题 【参考方案1】:您好,您能否将您的 info.plist 文件作为源打开并检查您的 CFBundleDocumentTypes 密钥是否具有正确的格式,即
<key>CFBundleDocumentTypes</key>
<array>
<dict>
</dict>
</array>
我猜在您的情况下,您还缺少必须的 CFBundleTypeName 键 即
<key>CFBundleTypeName</key>
<string>Your App</string>
要完整了解代码,请参阅here
【讨论】:
谢谢 .. 但是在 info.plist 中根本不存在密钥我用文本编辑器打开它并搜索它 可能是 entitlement.plist 中的内容吗?我们为未来的开发版本启用了关联域。我试图将它添加到这个版本,也是同样的问题。【参考方案2】:经过这么多小时的研究终于成功上传到应用商店。
看来苹果在app的提交上有一些变化。
info.plist
中有以下内容,过去 10 次提交工作正常
<key>UTExportedTypeDeclarations</key>
<array>
<string>public.url</string>
<string>public.plain-text</string>
<string>public.image</string>
</array>
删除它并上传到存储后一切正常
不知道与CFBundleDocumentTypes
有什么关系,但这就是原因
【讨论】:
以上是关于Info.plist 中 CFBundleDocumentTypes 键的值必须是字典数组的主要内容,如果未能解决你的问题,请参考以下文章
左列中不存在 Info.plist(但存在于 FINder 中)
从 iOS 的 UITests 中读取 Info.plist?
Info.plist 和 [app name]-Info.plist 有啥区别?