La clé NSCameraUsageDescription de Cordova Info.plist est manquante
Après les récents changements Apple exige des touches spécifiques si votre application tente d'accéder à la confidentialité des données sensibles. J'ai donc ajouté NSCameraUsageDescription clé dans ma config.xml comme ceci:
<platform name="ios">
<config-file parent="NSCameraUsageDescription" target="*-Info.plist">
<string>We are using a camera to </string>
</config-file>
</platform>
Puis
cordova build ios --release --device
produit de l'iap, qui apparemment n'a pas le droit d'info " info.plist. Il se sent comme je suis en manque de quelque chose.
Question 1:
De quoi ai-je besoin de mettre en config.xml pour résoudre NSCameraUsageDescription problème?
Question 2:
Est-il possible d'utiliser la localisation de cette chaîne?
Merci!
source d'informationauteur Pavel Kovalev
Vous devez vous connecter pour publier un commentaire.
NOUVELLE RÉPONSE:
Depuis Cordova CLI 6.5.0 vous pouvez écrire dans le
info.plist
directement à l'aide de laedit-config
balise dans leconfig.xml
comme ceci:<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>your usage message</string>
</edit-config>
Mais assurez-vous que vous utilisez la dernière version des plugins ou les valeurs peuvent être remplacées par le plugin variables.
Pour les localisations, vous pouvez utiliser le
resource-file
tag et InfoPlist.les chaînes de fichiers comme dans ce plugin (mais vous n'avez pas besoin du plugin, les ressources de tag est pris en charge à partir de la config.xml)https://github.com/MBuchalik/cordova-plugin-ios-permissions
VIEILLE RÉPONSE:
Vous ne pouvez pas écrire sur le
info.plist
de laconfig.xml
à l'aide de laconfig-file
tag encore (c'est en cours d'élaboration)Dernière version de l'appareil photo plugin vous permet d'ajouter le
NSCameraUsageDescription
lorsque vous installez le plugincordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="your usage message"
Pour l'instant il n'est pas possible de localiser cette chaîne
Voici les résultats de mes propres recherches:
l'aide de la configuration-tag, mais vous devez utiliser un plugin pour ça
(cordoue de configuration personnalisé) et suivez les instructions religieusement.
S'il vous plaît, corrigez-moi si j'ai tort. Plus d'infos sur la localisation directement à partir de config.xml est apprécié.
Personnellement, je n'aime pas l'idée d'utiliser un plugin personnalisé pour modifier un info.plist fichier. Il se sent comme à chaque nouveau plugin je rendre mon application de plus en plus fragile. 🙂
D'abord, cela fonctionne pour moi avec Cli-7.1.0 après apple rejette mon ipa.
1) Dans votre code, si vous utilisez pour ex. cordova-plugin-barcodescanner et cordova-plugin-caméra et cordova-plugin-ios-caméra-autorisations toutes les variables CAMERA_USAGE_DESCRIPTION, PHOTOLIBRARY_USAGE_DESCRIPTION doivent avoir la même chaîne à l'intérieur de. Si l'un d'entre eux est différent apple rejette votre ipa, parce que phonegap utiliser la variable par défaut .
ej:
2) ajouter ce code (n'oubliez pas d'utiliser la même chaîne, dans les variables, comme je le mentionne précédemment):
Vous pouvez modifier manuellement l' .fichier plist au sein de votre cordova projet si vous le souhaitez. Cela a fonctionné pour moi, mais comme c'est un fichier généré, je ne vous inquiétez pas à un certain point, mes modifications peuvent être écrites plus.
Mais sur aider!
L' .fichier plist doit être situé à l'intérieur de votre Cordova projet au sein de la
/platforms/ios/[Cordova Project Name]/[Cordova Project Name]-Info.plist
. Vous pouvez également ouvrir le projet dans Xcode et le long du côté gauche, cliquez sur l'icône de la Loupe qui vous permettra de rechercher des fichiers dans le projet. Si vous entrez dansinfo.plist
il doit retourner un résultat qui montre que quelque chose comme:INFOPLIST_FILE = [Some]/[Path]/[Cordova Project Name]-Info.plist
Ce chemin doit être relatif à votre projet Cordova l'installation de la recherche au sein de votre projet doit vous amener vers le fichier correct.
J'ai ouvert ce fichier dans mon éditeur et ajouté les lignes suivantes juste à l'intérieur de la première ouverture
<dict>
tag:<key>NSCameraUsageDescription</key>
<string>Uses camera to allow video chatting between two clients</string>
J'ai été en mesure de présenter et de faire mon build de se montrer et de séjour dans itunesconnect. Actuellement toujours en attente d'application de l'examen.
Je n'ai couru un
cordova prepare ios
juste pour tester si mes modifications franchirait écrit qu'ils n'ont pas donc il semble que vous devriez être en mesure de le faire et de ne pas s'inquiéter à ce sujet, mais d'être fatigués d'autres développeurs de l'installation de votre application et de l'exécution dans la même question. Je viens de copier mes mises à jour .fichier plist dans la racine de mon repo et noter dans le fichier readme.Cela permettra de résoudre votre problème (si vous utilisez le scanner de code-barres plugin)
Vous avez besoin de lire à l'intérieur de l' ./plugins/plugin-what-ever/plugin.xml pour voir de quel type de clé noms sont pris en charge.
Aller à votre projet >> Ouvrir un Terminal, il y
et exécutez cette commande
Vous pouvez tenir modifier les valeurs "d'Autoriser l'application à utiliser votre appareil photo" "Autoriser l'application à accéder à vos photos" en fonction de votre besoin.
Pour iOS 10/11, vous pouvez utiliser cordova-plugin-ios-caméra-autorisations comme un raccourci.
Fournit des valeurs par défaut et une documentation claire de la façon de fournir des messages personnalisés.
Si vous avez déjà installé iOS plate-forme, d'enlever et de le rajouter peut être nécessaire.