错误:协议不可用,转储回溯

Rah*_*ani 82 objective-c ios10 xcode8.2

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
Run Code Online (Sandbox Code Playgroud)

我正在使用xcode 8版本ios 10.现在,我正在使用API​​.如果,我在Xcode 7其工作中使用API 很好,但是当我在xcode 8错误消息中使用的相同API 出现时无法解析.

小智 145

我找到了解决方案如下:

  1. 在XCode菜单中,转到产品>方案>编辑方案
  2. 打开"参数"选项卡
  3. 添加环境变量: - OS_ACTIVITY_MODEdisable

Xcode 8 Edit Scheme屏幕截图

  • 没有解释`OS_ACTIVITY_MODE`是什么,以及禁用它做什么.此外,不清楚所有代码是什么. (8认同)
  • 此选项还会将NSLog隐藏在通常不需要的实际设备中.更好的解决方案是http://stackoverflow.com/questions/37800790/hide-strange-unwanted-xcode-8-logs/39461256#39461256 (4认同)
  • 我正在使用React Native并获得相同的异常.试试代码是什么意思?你能否提一下我想在哪里添加你提供的代码片段? (2认同)

Vla*_*llo 12

man socket中没有SO_NOAPNFALLBK套接字选项.我想,这个选项是由Apple添加的,与推送通知服务有关,这些服务在模拟器上不可用.


Cœu*_*œur 8

可以在/sf/answers/2775575141/获得一个更清晰的解决方案(比Ankit Goyal提供的解决方案)修复模拟器日志而不影响设备日志:

  1. 在Product> Scheme> Edit Scheme ...> Run下,将OS_ACTIVITY_MODE环境变量设置为$ {DEBUG_ACTIVITY_MODE},如下所示:

OS_ACTIVITY_MODE环境变量为$ {DEBUG_ACTIVITY_MODE}

  1. 转到项目构建设置,然后单击+以添加名为DEBUG_ACTIVITY_MODE的用户定义设置.展开此设置并单击Debug旁边的+以添加特定于平台的值.选择下拉列表并将其更改为"Any iOS Simulator SDK".然后将其值设置为"禁用"(Xcode 8)或"默认"(Xcode 9),使其如下所示:

用户定义的设置DEBUG_ACTIVITY_MODE


Ket*_*tan 5

要为OS活动模式关闭Verbose,您只需转到(在Xcode菜单栏中)

  • Product - > Scheme - > Edit Scheme-> Run(Left) - > Select Arguments - > On Environment Variables,

  • 将OS_ACTIVITY_MODE和值添加为禁用