我从未更改过我的构建设置,几周前我将应用程序提交到了应用商店,没有任何问题。
我今天尝试提交更新,但我收到了错误
此捆绑包无效。 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"
}
}
},
答案 0 :(得分:2)
只需改变:
UIRequiredDeviceCapabilities = "microphone"
为:
UIRequiredDeviceCapabilities = {"microphone"}
UIRequiredDeviceCapabilities
预计它的值为array
或dictionary
。您将其作为string
传递,这就是问题发生的原因。
<强> UIRequiredDeviceCapabilities 强>
UIRequiredDeviceCapabilities(数组或字典 - iOS)让iTunes 并且App Store知道应用程序需要哪些与设备相关的功能 为了奔跑。 iTunes和移动App Store使用此列表 阻止客户在没有安装应用的设备上安装应用 支持列出的功能。
如果使用数组,则给定键的存在表示 相应的功能是必需的。如果你使用字典,你必须 为每个键指定一个布尔值。如果此键的值是 是的,该功能是必需的。如果键的值为false,则为 功能不得出现在设备上。在这两种情况下,省略一个 key表示该功能不是必需的,但应用程序是 如果该功能存在,则能够运行。
查看InfoPlistKeyReference了解详情。
答案 1 :(得分:0)
使用此格式
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>microphone</string>
</array>