83
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

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

4

4 回答 4

147

我发现解决方案如下:

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

Xcode 8 编辑方案屏幕截图

于 2016-09-19T12:57:27.427 回答
12

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

于 2016-10-30T14:36:01.607 回答
9

https://stackoverflow.com/a/39651073/1033581提供了一种更清洁的解决方案(比 Ankit Goyal 给出的解决方案)可以修复模拟器日志而不影响设备日志:

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

OS_ACTIVITY_MODE 环境变量为 ${DEBUG_ACTIVITY_MODE}

  1. 转到您的项目构建设置,然后单击 + 以添加名为 DEBUG_ACTIVITY_MODE 的用户定义设置。展开此设置并单击“调试”旁边的 + 以添加特定于平台的值。选择下拉菜单并将其更改为“任何 iOS 模拟器 SDK”。然后将其值设置为“禁用”(Xcode 8)或“默认”(Xcode 9),如下所示:

用户定义的设置 DEBUG_ACTIVITY_MODE

于 2017-02-09T15:18:56.543 回答
5

要关闭操作系统活动模式的详细信息,您只需转到(在 Xcode 菜单栏中)

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

  • 添加 OS_ACTIVITY_MODE 和值作为禁用

于 2016-12-30T06:54:40.667 回答