2016-10-10 2 views
5

J'ai construit une application xamarin.ios. L'application a fonctionné absolument bien. Il n'y a eu aucun changement de code et à l'improviste, l'application se bloque maintenant lors de l'accès à la caméra. Je ne sais pas pourquoi cela se passe, quelqu'un pourrait-il nous éclairer sur ce problème? J'ai essayé de contourner cette erreur et j'ai essayé différentes choses, y compris la suppression de divers paquets. J'ai récemment mis à jour vers iOS 10, mais l'application fonctionnait toujours bien après la mise à jour. L'erreur est ci-dessous:J'ai obtenu un SIGABRT lors de l'exécution du code natif xamarin.ios

2016-10-10 21: 44: 28,925 Coacher [307: 24128] critique: Native stacktrace:

2016-10-10 21: 44: 28,934 Coacher [307 : 24128] critique: 0
libmonosgen-2.0.dylib 0x00363d33 mono_handle_native_sigsegv + 242 10.10.2016 21: 44: 28,934 Coacher [307: 24128] critique: 1 libsystem_platform.dylib
0x1db5326d _sigtramp + 24 2016-10 -10 21: 44: 28.935 Coacher [307: 24128] critique: 2 libsystem_kernel.dylib 0x1da9fd8f + 64 2016-10-10 21: 44: 28.935 Coacher [307: 24128] critique: 3 libsystem_kernel.dylib 0x1da9fdd9 system_set_sfi_window + 0 2016-10-10 21: 44: 28.935 Coacher [307: 24128] critique: 4 TCC 0x201a8e85 + 228 2016-10-10 21: 44: 28,936 Coacher [307: 24128] critique: 5 TCC 0x201a8da1 + 0 2016-10-10 21: 44: 28,936 Coacher [307: 24128] critique: 6 TCC
0x201ab57b + 276 2016-10-10 21: 44: 28,936 Coacher [307: 24128] critique: 7 libxpc.dylib 0x1db8915f + 46 2016-10-10 21: 44: 28.937 Coacher [307: 24128] critique: 8 libxpc.dylib 0x1db89101 + 26 2016-10-10 21: 44: 28.937 Coacher [307: 24128] critique: 9
libdispatch.dylib 0x1d9ae49b + 604 10/10/2016 21: 44: 28,937 Coacher [307: 24128] critique: 10 libdispatch.dylib 0x1d9afa91 + 378 10/10/2016 21: 44: 28,938 Coacher [307: 24128] critique: 11 libdispatch.dylib 0x1d9af8b7 + 106 10/10/2016 21: 44: 28,938 Coacher [307: 24128] critique: 12 libsystem_pthread.dylib 0x1db55947 _pthread_wqthread + 1168 10/10/2016 21:44: 28,938 Coacher [307: 24128] critique: 13 libsystem_pthread.dylib 0x1db5549c start_wqthread + 8 10/10/2016 21: 44: 28,939 Coacher [307: 24128] critique: ============ ============================================= === Vous avez un SIGABRT pendant l'exécution du code natif. Cela indique généralement une erreur fatale dans le mono runtime ou l'une des bibliothèques natives utilisées par votre application

.

Répondre

8

Ceci est dû à votre mise à jour iOS 10. Vous devez demander la permission pour la caméra maintenant. L'article de blog suivant explique comment configurer ces autorisations, maintenant.

https://blog.xamarin.com/new-ios-10-privacy-permission-settings/

À partir de iOS 10, presque toutes les API qui nécessitent demandent l'autorisation et d'autres API, telles que l'ouverture de l'appareil photo ou une galerie de photos, ont besoin d'une nouvelle paire de valeurs clés pour décrire leur utilisation dans l'info. plist. Ceci est très similaire à l'exigence de placer NSLocationWhenInUseUsageDescription ou NSLocationAlwaysUsageDescription dans Info.plit lorsque vous utilisez les API Geolocation et iBeacon. La différence est maintenant que l'application se bloque lorsque l'application tente une autorisation sans que ces clés soient définies.

+0

Wow merci beaucoup !!!! Tu as vraiment sauvé mon bacon. Je ne savais pas que je devais le faire, l'erreur n'était pas claire quel était le problème. Merci!!! –

+0

J'ai toujours un problème ici, je veux enregistrer des vidéos avec audio, donc j'ai ajouté à la fois NSCameraUsageDescription et NSMicrophoneUsageDescription. L'application demande l'accès à la caméra, puis se bloque, si je rouvre l'application, il demande alors l'accès audio et fonctionne. Comment puis-je demander les deux autorisations? –

+0

Hmm pas sûr peut-être demander d'abord le microphone, puis démarrez l'appareil photo? Sans code, c'est difficile à dire maintenant. Je devrais jouer et chercher les docs aussi. Peut-être ajouter 'NSPhotoLibraryUsageDescription', aussi. Désolé, je ne l'ai pas encore utilisé en production. –