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"}

ノート:

UIRequiredDeviceCapabilitiesarrayorとしての値を期待します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 に答える