在macOS app 上创建socket server
发现创建失败
抛出异常代码如下
1 | try checkNotMinus1{ Darwin.bind(ipv4Socket, addrPtr, UInt32(MemoryLayout<sockaddr_in>.size)) |
1 | /// 封装检测是否为-1 |
catch
中的error 为ssocketCreateFailed(1)
也就是errno
为1
⌘左键 进入代码定义(Jump to Definition)
发现只有定义没有注释,能看到他是定义在Darwin中
打开Darwin-xnu
找到errno.h (<sys/errno.h>)
发现错误码为1 对应 Operation not permitted
我是使用Xcode的版本 Version 11.2.1 (11B500)
新版Xcode会把app 的能力单独一页列出来
当我勾选Network 的 Server选项后 bind成功了