使用 XCode 上传到 App Store 时出现错误。我们能够在设备上签名和构建应用程序,但在提交过程中出现此错误:
验证过程中发现以下问题:
验证时出现异常:- [NSCFDictionary pathExtension]:无法识别的选择器发送到实例 0x405590b00
我以前遇到过这个问题。首先,这里发生的事情是 Apple 提供的用于验证二进制文件的命令行工具在进行检查时捕获了异常。验证器实际上并不运行您的应用程序,因此任何错误可能不在任何特定代码文件中,而是在您的应用程序的“元数据”文件之一中。
可能错误在您的 info.plist 文件中。当它处理它时,它期望一个字符串作为一个值,而是从 plist 中获取一个字典。
当我遇到问题时,这是CFBundleIcons
信息 plist 中的密钥问题。修复它的代码更改如下。
由此:
<key>CFBundleIconFiles</key>
<array>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon@2x.png</string>
</array>
</dict>
</array>
对此:
<key>CFBundleIconFiles</key>
<array>
<string>icon@2x.png</string>
<string>icon.png</string>
</array>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>icon@2x.png</string>
<string>icon.png</string>
</array>
</dict>
</dict>