ios arm64 接入了一些 第三方插件, 在unity生成的 main.mm 代码中本来捕获了 SIGPIPE ,但是仍然会在 电源键按下的时候 crash。
ios 按下电源键 会切断应用的网络,因此会触发 SIGPIPE 这个异常, 不捕获会导致 crash。
ios按下home键,不会立即切断网络,因此SIGPIPE不会立即触发的。
unity自己的捕获不知道为什么失效了,可能是第三方取消了这个信号的忽略处理, 因此在UI初始化完的时候, Application didFinishLaunchingWithOption 调用 signal(SIGPIPE, SIG_IGN);
来忽略掉这个信号。