0

我从未更改过构建设置,几周前我将我的应用程序提交到应用程序商店,没有任何问题。

我今天尝试提交更新,但我收到了错误

此捆绑包无效。Info.plist 的 UIRequiredDeviceCapabilities 键中提供了一个未知的设备能力值。确保 UIRequiredDeviceCapabilities 的值是一个数组或字典,包含信息属性列表键参考中描述的有效值。

这是我的构建设置的片段。如果我注释掉麦克风线,那么一切正常。

iphone = {
    plist = {
        CFBundleVersion = "20130423",
        CFBundleShortVersionString = "3.1.1",
        CFBundleDisplayName = "App Name",
        CFBundleIdentifier = "com.example.mypackagename",
        UIRequiredDeviceCapabilities = "microphone",   -- <<---- this line is the problem
        UIStatusBarHidden = true,
        UIPrerenderedIcon = false, -- set to false for "shine" overlay
        --UIApplicationExitsOnSuspend = true, -- uncomment to quit app on suspend
        CFBundleIconFile = "Icon.png",
        CFBundleIconFiles = {
           "Icon.png",
           "Icon@2x.png",
           "Icon-72.png"
         }
    }
},
4

2 回答 2

2

只是改变:

UIRequiredDeviceCapabilities = "microphone"

到:

UIRequiredDeviceCapabilities = {"microphone"}

笔记:

UIRequiredDeviceCapabilities期望其值为arrayor dictionary。您将其作为 传递string,这就是问题发生的原因。


参考:

UIRequiredDeviceCapabilities

UIRequiredDeviceCapabilities(数组或字典 - iOS)让 iTunes 和 App Store 知道应用程序需要哪些与设备相关的功能才能运行。iTunes 和移动 App Store 使用此列表来防止客户在不支持所列功能的设备上安装应用程序。

如果您使用数组,则给定键的存在表示需要相应的功能。如果使用字典,则必须为每个键指定一个布尔值。如果此键的值为 true,则该功能是必需的。如果密钥的值为 false,则该功能不得存在于设备上。在这两种情况下,省略一个键表示不需要该功能,但如果该功能存在,则应用程序能够运行。

检查InfoPlistKeyReference了解更多详细信息。

于 2013-04-24T05:17:09.813 回答
0

使用这种格式

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>microphone</string>
</array>
于 2013-04-24T05:11:17.653 回答