gpt4 book ai didi

ios - 即使忽略 SIGPIPE 信号,IOS 6.0 也会出现 SIGPIPE 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:44 27 4
gpt4 key购买 nike

在我的示例应用程序中它显示 SIGPIPE 错误,即使我在 main.m 文件中忽略了该信号

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
@autoreleasepool {
signal(SIGPIPE, SIG_IGN);
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}

gdb的回溯是

 #0  0x38579eb4 in mach_msg_trap ()
#1 0x3857a04c in mach_msg ()
#2 0x3605b044 in __CFRunLoopServiceMachPort ()
#3 0x36059d5e in __CFRunLoopRun ()
#4 0x35fccebc in CFRunLoopRunSpecific ()
#5 0x35fccd48 in CFRunLoopRunInMode ()
#6 0x328cf2ea in GSEventRunModal ()
#7 0x32939300 in UIApplicationMain ()
#8 0x000b6c52 in main (argc=1, argv=0x2fd4bc40) at /Users/bdsu/Desktop/Git_repo/VoipApp_iOS/VoipApp_iOS/main.m:17

当我进入待机模式并返回时,会发生此错误。我已经使用 IOS 6.0 在 IPAD 上对其进行了测试。 Xcode 版本是 4.5/5.0 。

最佳答案

我的应用在后台运行时需要互联网连接。但并非所有应用程序都获得在后台运行的权限。您必须将应用程序的后台模式设置为 voip 应用程序,并且还有一些其他选项可用于使其在后台运行。此外,默认情况下,IOS 会在后台 10 分钟后暂停所有应用程序,并且套接字正在关闭,这会导致 sigpipe 错误。这就是为什么我编写了一个函数,当应用程序进入后台时将调用该函数并使应用程序保持事件状态。这样,应用程序在后台运行时将获得互联网连接并避免 sigpipe

关于ios - 即使忽略 SIGPIPE 信号,IOS 6.0 也会出现 SIGPIPE 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19830244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com