UIRequiredDeviceCapabilities对iOS应用程序

时间:2016-08-25 01:54:07

标签: ios app-store info.plist

我正在尝试将iOS应用程序上传到iTunes Connect,但每次尝试上传应用程序时,都会收到以下消息:

  

表现 - 2.3

     

我们无法安装该应用。 UIRequiredDeviceCapabilities   Info.plist中的键设置方式应用程序不会   安装。

     

后续步骤

     

请检查UIRequiredDeviceCapabilities键以验证它   仅包含应用功能所需的属性或   设备上不得出现的属性。属性   如果需要,字典指定应设置为true   如果它们不能出现在设备上,则为假。

我不明白我对UIRequiredDeviceCapabilities的错误。

我的应用程序要求设备配备相机,因为它涉及读取QR码。

以下是我的info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>still-camera</string>
    </array>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIcons</key>
    <dict/>
    <key>CFBundleIcons~ipad</key>
    <dict/>
    <key>CFBundleIdentifier</key>
    <string>pw.whatsyourwifi.ios</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.1</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>5</string>
    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>LSApplicationCategoryType</key>
    <string></string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

我查看了Apple提供的一些资源,例如: Expected App Behaviours List of Possible Values

感谢任何帮助,只是不知道我现在做错了什么。

2 个答案:

答案 0 :(得分:0)

UIRequiredDeviceCapabilities的内容必须是字典,而不是数组;该功能用作字典中的键,并且该值必须设置为布尔值true或false以指示设备是否必须具有该功能,或者必须具有该功能。

(在应用中禁用功能的实用程序有点可疑。我不知道为什么有一个拒绝安装在带摄像头的设备上的应用程序是有意义的,例如但那是Apple放在那里的东西,所以......)

在您的情况下,这看起来像:

<key>UIRequiredDeviceCapabilities</key>
<dict>
    <key>still-camera</key>
    <true/>
</dict>

答案 1 :(得分:0)

仅供参考,当我回复应用程序拒绝时,我已经解决了这个问题,说明我的plist文件对于文档是正确的(假设你的应用程序和文档是正确的)。他们接受了我。