Je souhaite implémenter rapport d'incident natif _ (sans utiliser de bibliothèque tierce recommandée) dans mon code iOS Swift 4_ et informer mon serveur dorsal avec appel d'API lorsque le App Crashes ou en générant des exceptions. J'ai constaté que l'App Store/iTunes Connect fournit le nombre de crashs, mais il {ne fournit pas d'informations de crash comme de quelle UIViewController ou de quelle erreur il est tombé en panne. Quelqu'un pourrait-il m'aider dans ce domaine? Merci d'avance.
Oui, vous devez créer votre gestionnaire de rapports de blocage personnalisé et vous pouvez utiliser NSSetUncaughtExceptionHandler
pour obtenir la pile de rapports de blocage.
Exemple
NSSetUncaughtExceptionHandler { exception in
print(exception)
print(exception.callStackSymbols)
// Write callStackSymbols into the file
// Call your mail function with that file
// mail()
}
let array = NSArray()
let element = array.object(at: 4)
Vous pouvez écrire ce rapport d'incident dans le fichier et le poster.
Comme vous l'avez dit plus tôt, iTunes fournit uniquement le nombre de crashs, mais ne fournit pas d'informations sur le crash.
En réalité, XCode vous fournit lui-même les détails complets du plantage, avec le numéro de ligne, les informations sur le périphérique, les détails de la construction, etc.
Ici, je décris comment vous pouvez obtenir détail des plantages de Xcode
Crashes
dans le contrôle du segment supérieur.Je pense, vous le savez maintenant, comment visualiser les collisions de l'application en direct.