it-swarm.com.de

Die Info.plist-Datei der App sollte einen NSBluetoothAlwaysUsageDescription-Schlüssel enthalten, während sich der Schlüssel in der Plist-Datei befindet

Zunächst möchte ich festhalten, dass ich mir bereits Stapelüberlauf-Post hier angesehen habe und das Hinzufügen eines der von iCoder & Deepak erwähnten Probleme das Problem für mich nicht gelöst habe.

Ich verwende React-Native, um meine Apps zu entwickeln, einschließlich dieses React-Native-Permissions -Pakets, das ich gefunden habe. Ihre Dokumentation besagt, dass ich alle Berechtigungen hinzufügen sollte, die ihr Paket ermöglicht, z. Ort, Kamera und alle anderen dort genannten. Nachdem ich dies getan hatte, konnte ich meine Bewerbung in den Store hochladen und zur Überprüfung einreichen.

Heute bin ich ins Büro gekommen und habe gesehen, dass es einige Rückmeldungen von Apple verfügbar) gibt. Nachdem ich die Rückmeldungen ausgefüllt habe, wollte ich sie erneut in den Store hochladen (die Build-Nummer erhöhen, während ich ' Ich soll es tun.

Und jetzt bekomme ich die Nachricht immer wieder in dem oben genannten Titel, während ich sie so in meiner info.plist habe

<key>NSBluetoothAlwaysUsageDescription</key>
<string>Our app does not request this permission or utilize this functionality but it is included in our info.plist since our app utilizes the react-native-permissions library, which references this permission in its code.</string>

BEARBEITEN:

Ich hoffe, die Dinge unten zu klären, um eine Antwort auf das Problem zu finden, mit dem ich konfrontiert bin. Der im Titel angegebene Fehler tritt direkt nach dem Hochladen in den Store auf (ich vermute also, dass der tatsächliche Fehler bei den vom System durchgeführten automatischen Überprüfungen festgestellt wurde).

Die folgende Antwort hilft mir nicht, das Problem zu beheben, da die aussagekräftigere Zeichenfolge nicht von der automatischen Systemprüfung überprüft wird. Und ich habe diese Zeichenfolge erfolgreich für andere Elemente in der info.plist verwendet. Daneben habe ich Beweise dafür gefunden, dass Leute ihre App mit dieser Taktik erfolgreich an den App Store senden. Wie der Kommentar von Gradner unter diesem Link zeigt React Native Permission, Ausgabe 266

23
MikeSli

Jemand hat eine Antwort gepostet, die mir geholfen hat, sie dann aber gelöscht! Um die Antwort zu paraphrasieren:

Das Hinzufügen der Datenschutzschlüssel zur Liste, ohne zu wissen, was den Fehler auslöst, ist Apple ist nicht der beste Weg, dies zu lösen.

In meinem Fall stellte ich bei einer Grep-Suche fest, dass in meinem CoreBluetooth.framework Ein Verweis auf project.pbxproj Enthält. Ich habe die Referenz entfernt und der Build- und TestFlight-Upload war erfolgreich!

Verwenden Sie zum Suchen den folgenden Befehl:

grep -r -a CoreBluetooth.framework ProjectFolder
7
rmp251

Wenn Sie kein Bluetooth verwenden,

fügen Sie dies einfach Ihrer Info.plist-Datei hinzu:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>Our app does not request this permission or utilize this functionality but it is included in our info.plist since our app utilizes the react-native-permissions library, which references this permission in its code.</string>

Apple hat die Eigenschaft NSBluetoothPeripheralUsageDescription zugunsten von NSBluetoothAlwaysUsageDescription abgelehnt.

Details finden Sie hier: Link zu Apple docs

Wenn Sie Bluetooth verwenden,

fügen Sie dies einfach Ihrer Info.plist-Datei hinzu:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>Our app uses bluetooth to find, connect and transfer data between different devices</string>
23
lellefood

Ich habe die Grundursache

Wir haben unten zwei Standardoptionen in plist, um die Bluetooth-Nutzung einzugeben.

1.Privacy - Beschreibung der Verwendung von Bluetooth-Peripheriegeräten 2.Privacy - Bluetooth Always Usage Description

Aber Xcode speichert diese Option im Quellcode wie unten

1.NSBluetoothPeripheralUsageDescription anstelle von Privacy - Bluetooth Peripheral Usage Description

2. Datenschutz - Bluetooth Always Usage Description anstelle von Privacy - Bluetooth Always Usage Description

Jetzt geht es darum, dass NSBluetoothPeripheralUsageDescription veraltet ist und den Schlüssel "NSBluetoothAlwaysUsageDescription" erwartet.

Hier ist die Lösung: Öffnen Sie die Plist-Datei als Quellcode in Xcode und kopieren Sie das folgende Schlüssel-Wert-Paar

Schlüssel: NSBluetoothAlwaysUsageDescription Wert: Diese Anwendung benötigt Bluetooth, um bla bla bla zu können.

5

Ich kann nicht herausfinden, warum es das erste Mal nicht funktioniert hat, aber als ich heute ins Büro kam, sah ich den Kommentar von Sumeet.Jain, der vorschlug, das zu ersetzen

NSBluetoothPeripheralUsageDescription-Schlüssel mit dem NSBluetoothAlwaysUsageDescription-Schlüssel

Dies würde tatsächlich zu einem Fehler führen, der besagt, dass NSBluetoothPeripheralUsageDescription fehlt, wie wir es erwarten könnten. Also habe ich die NSBluetoothPeripheralUsageDescription wieder zu meiner info.plist hinzugefügt und konnte nun endlich meine App in den Store hochladen. Vielen Dank für alle, die mir geholfen haben.

p.s. Das einzige, was ich mir anders vorstellen kann als gestern, ist, dass ich jetzt den Schlüssel mit Xcode hinzugefügt habe, anstatt nur die Datei info.plist in meinem Editor zu bearbeiten, den ich für reag-native verwende. Hoffentlich hilft das anderen, wie es mir geholfen hat

2
MikeSli