web-dev-qa-db-fra.com

Erreur: protocole non disponible, sauvegarde de la trace

2016-09-17 15:16:04.386085 appDemo[2371:94976] [] __nwlog_err_simulate_crash simulate crash already simulated **"nw_socket_set_common_sockopts setsockopt SO_NOAPNFALLBK failed: [42] Protocol not available"**
2016-09-17 15:16:04.386676 appDemo[2371:94976] [] nw_socket_set_common_sockopts setsockopt SO_NOAPNFALLBK failed: [42] Protocol not available, dumping backtrace:
        [x86_64] libnetcore-856.1.8
    0   libsystem_network.dylib             0x0000000112dc780e __nw_create_backtrace_string + 123
    1   libnetwork.dylib                    0x0000000113bfa194 nw_socket_add_input_handler + 3002
    2   libnetwork.dylib                    0x0000000113bd7db8 nw_endpoint_flow_attach_protocols + 3768
    3   libnetwork.dylib                    0x0000000113bd6dd5 nw_endpoint_flow_setup_socket + 563
    4   libnetwork.dylib                    0x0000000113bd5b34 -[NWConcrete_nw_endpoint_flow startWithHandler:] + 2612
    5   libnetwork.dylib                    0x0000000113bf0d11 nw_endpoint_handler_path_change + 1261
    6   libnetwork.dylib                    0x0000000113bf0740 nw_endpoint_handler_start + 570
    7   libdispatch.dylib                   0x0000000112b44980 _dispatch_call_block_and_release + 12
    8   libdispatch.dylib                   0x0000000112b6e
2016-09-17 15:16:04.387153 appDemo[2371:94976] [] nw_endpoint_flow_attach_protocols [2 192.168.0.100:80 in_progress socket-flow (satisfied)] Attached flow protocol
2016-09-17 15:16:04.387679 appDemo[2371:94976] [] nw_connection_endpoint_report [2 192.168.0.100:80 in_progress socket-flow (satisfied)] reported event flow:start_connect

J'utilise la version xcode 8 avec ios 10. Maintenant, je travaille sur une API. Si, j'utilise l'API dans Xcode 7, cela fonctionne correctement, mais lorsque la même API que j'ai utilisée dans xcode 8, un message d'erreur s'affiche: Impossible d'analyser.

82
Rahul Mayani

J'ai trouvé la solution comme suit:

  1. Dans le menu XCode, sélectionnez Produit> Schéma> Modifier le schéma.
  2. Ouvrez l'onglet Arguments
  3. Ajoutez la variable d'environnement: - OS_ACTIVITY_MODE est disable

Xcode 8 Edit Scheme screen capture image

145
Ankit Goyal

Il n'y a pas d'option SO_NOAPNFALLBK socket dans man socket. Je suppose que cette option est ajoutée par Apple et est liée aux services de notifications Push, qui ne sont pas disponibles sur simulateur.

12
Vladimir Afinello

Une solution plus propre (que celle fournie par Ankit Goyal) qui corrige les journaux du simulateur sans affecter les journaux du périphérique est disponible à l'adresse https://stackoverflow.com/a/39651073/1033581 :

  1. Sous Produit> Schéma> Modifier le schéma ...> Exécuter, définissez la variable d'environnement OS_ACTIVITY_MODE sur $ {DEBUG_ACTIVITY_MODE} afin qu'elle ressemble à ceci:

OS_ACTIVITY_MODE environment variable to ${DEBUG_ACTIVITY_MODE}

  1. Accédez aux paramètres de construction de votre projet, puis cliquez sur + pour ajouter un paramètre défini par l'utilisateur nommé DEBUG_ACTIVITY_MODE. Développez ce paramètre et cliquez sur le signe + en regard de Debug pour ajouter une valeur spécifique à la plate-forme. Sélectionnez le menu déroulant et remplacez-le par "Any iOS Simulator SDK". Puis définissez sa valeur sur "disable" (Xcode 8) ou "default" (Xcode 9) pour ressembler à ceci:

User-Defined setting DEBUG_ACTIVITY_MODE

8
Cœur

Pour désactiver Verbose pour le mode d’activité du système d’exploitation, il vous suffit de cliquer sur (dans la barre de menus Xcode).

  • Produit -> Schéma -> Éditer le schéma -> Exécuter (gauche) -> Sélectionner les arguments -> Variables d'environnement,

  • ajoute OS_ACTIVITY_MODE et sa valeur en tant que désactivé

5
Ketan