Résolution des problèmes liés au Kit de développement logiciel (SDK) macOS
Important
La mise hors service de Visual Studio App Center est prévue pour le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à sa mise hors service complète, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager la migration.
En savoir plus sur les chronologies et les alternatives de support.
Problèmes lors de l’installation
- Dans la console, recherchez un journal Assert avec le message « Kit de développement logiciel (SDK) App Center configuré avec succès ». Cela vérifie que le KIT de développement logiciel (SDK) est correctement configuré.
- Si vous utilisez Cocoapods pour intégrer App Center dans votre application macOS et que vous rencontrez une erreur avec le message -
CocoaPods - Unable to find a specification for AppCenter
, exécutezpod repo update
pour mettre à jour votre dépôt Cocoapods local, puis réexécutezpod install
. - Si vous intégrez manuellement les fichiers binaires du SDK, assurez-vous que vos modules sont activés pour votre projet.
Les données analytiques n’apparaissent pas dans le portail.
Vérifiez que vous avez correctement intégré les modules du KIT de développement logiciel (SDK).
Assurez-vous que le secret d’application correct est inclus avec l’appel de méthode
start:withServices:
. Vous pouvez copier le code exactstart:withServices:
en ouvrant l’application dans le portail et en accédant à Prise en main page.Si vous souhaitez voir les journaux envoyés au back-end, remplacez le niveau de journalisation par Détaillé dans votre application et le Kit de développement logiciel (SDK) imprime les journaux dans la console. Insérez l’appel suivant avant le démarrage du Kit de développement logiciel (SDK) :
[MSACAppCenter setLogLevel:MSACLogLevelVerbose]
AppCenter.logLevel = .verbose
Vérifiez que « Kit de développement logiciel (SDK) App Center a été correctement configuré » s’affiche dans les journaux (au niveau du journal INFO), puis case activée si vous voyez les journaux des requêtes HTTPS.
Assurez-vous que votre appareil est en ligne et que l’application a accès à Internet.
Notes
Si votre application utilise le bac à sable d’application, vous devez définir la possibilité d’autoriser les connexions entrantes (serveur) et sortantes (client) pour permettre à l’application d’accéder à Internet. Xcode 9 active le bac à sable d’application par défaut, mais les fonctionnalités des connexions entrantes et sortantes doivent être définies explicitement.
Sélectionnez votre projet dans le navigateur de projet, sélectionnez l’onglet Fonctionnalités et, si votre application utilise le bac à sable, ajoutez les fonctionnalités pour les connexions entrantes et sortantes.
Parfois, la surface des journaux d’activité peut prendre quelques minutes dans le portail. Attendez un certain temps si c’est le cas.
Pour case activée si le serveur principal App Center a reçu vos données, accédez à la section Flux de journal dans le service Analytics. Vos événements doivent apparaître une fois qu’ils ont été envoyés.
Les incidents n’apparaissent pas dans le portail.
Vérifiez que vous avez correctement intégré les modules du KIT de développement logiciel (SDK).
Assurez-vous que le secret d’application correct est inclus avec l’appel de méthode
start:withServices:
. Vous pouvez copier le code exactstart:withServices:
en ouvrant l’application dans le portail et en accédant à Prise en main page.Redémarrez l’application après un plantage. Les incidents app Center transfèrent le journal des incidents uniquement après le redémarrage de l’application. En outre, le Kit de développement logiciel (SDK) ne transfère aucun journal d’incident si vous êtes attaché au débogueur. Vérifiez que le débogueur n’est pas attaché lorsque vous plantez l’application.
Si vous souhaitez voir les journaux envoyés au back-end, remplacez le niveau de journalisation par Détaillé dans votre application et le Kit de développement logiciel (SDK) imprime les journaux dans la console. Insérez l’appel suivant avant le démarrage du Kit de développement logiciel (SDK) :
[MSACAppCenter setLogLevel:MSACLogLevelVerbose]
AppCenter.logLevel = .verbose
Vérifiez que « Kit de développement logiciel (SDK) App Center a été correctement configuré » s’affiche dans les journaux (au niveau du journal INFO), puis case activée si vous voyez les journaux des requêtes HTTPS.
N’utilisez pas d’autres bibliothèques qui fournissent des fonctionnalités de rapport d’incident. Vous ne pouvez avoir qu’un seul SDK de rapports d’incidents intégré à votre application.
Assurez-vous que votre appareil est en ligne et que l’application a accès à Internet.
Notes
Si votre application utilise le bac à sable d’application, vous devez définir la possibilité d’autoriser les connexions entrantes (serveur) et sortantes (client) pour permettre à l’application d’accéder à Internet. Xcode 9 active le bac à sable d’application par défaut, mais les fonctionnalités des connexions entrantes et sortantes doivent être définies explicitement.
Sélectionnez votre projet dans le navigateur de projet, sélectionnez l’onglet Fonctionnalités et, si votre application utilise le bac à sable, activez les connexions entrantes et sortantes.
Parfois, la surface des journaux d’activité peut prendre quelques minutes dans le portail. Attendez un certain temps si c’est le cas.
Si vous souhaitez case activée si le SDK a détecté le blocage au prochain démarrage de l’application, vous pouvez appeler l’API pour case activée si l’application s’est bloquée dans la dernière session et affiche une alerte. Vous pouvez également étendre le rappel d’incident
didSucceedSendingErrorReport
pour voir s’il a été correctement envoyé au serveur.Pour case activée si le serveur principal App Center a reçu l’incident, accédez à la section Flux de journal dans le service Analytics. Vos incidents doivent apparaître là, une fois qu’il a été envoyé.
Protéger la valeur du secret App Center
Est app_secret
un identificateur de votre application, il est nécessaire de savoir à quelle application le trafic s’applique et il ne peut pas être utilisé pour récupérer ou modifier des données existantes. Si votre app_secret
est exposé, le plus grand risque est d’envoyer des données incorrectes à votre application, mais cela n’aura pas d’effet sur la sécurité des données.
Pour récupérer des données sensibles, vous devez fournir un jeton d’application/utilisateur, qui est généré côté client. Il n’existe aucun moyen de sécuriser complètement les données côté client.
Vous pouvez améliorer la sécurité de votre application à l’aide d’une variable d’environnement pour injecter le secret de l’application dans votre code. De cette façon, le secret n’est pas visible dans votre code.