我在Xcode项目中遇到SIGPIPE
错误。自一周前开始显示此错误。如果我评论此方法调用:[self configureBump];
一切正常。我在项目中集成了BUMP API。这个API工作到一周之前没有任何问题。我不确定这个错误的原因。有谁可以帮我解决这个错误?我的一些朋友也报告了这个错误。
Xcode版本:4.5 iOS版本:iOS 6.0 / iOS 5.0
请参阅下面的堆栈跟踪:
* thread #1: tid = 0x1c03, 0x95a887d2 libsystem_kernel.dylib`mach_msg_trap + 10, stop reason = signal SIGPIPE
frame #0: 0x95a887d2 libsystem_kernel.dylib`mach_msg_trap + 10
frame #1: 0x95a87cb0 libsystem_kernel.dylib`mach_msg + 68
frame #2: 0x029ef13a CoreFoundation`__CFRunLoopServiceMachPort + 186
frame #3: 0x02952580 CoreFoundation`__CFRunLoopRun + 1312
frame #4: 0x02951db4 CoreFoundation`CFRunLoopRunSpecific + 212
frame #5: 0x02951ccb CoreFoundation`CFRunLoopRunInMode + 123
frame #6: 0x03093879 GraphicsServices`GSEventRunModal + 207
frame #7: 0x0309393e GraphicsServices`GSEventRun + 114
frame #8: 0x017a0a9b UIKit`UIApplicationMain + 1175
frame #9: 0x00002dd7 iCard`main + 199 at main.m:17
frame #10: 0x00002185 iCard`start + 53
答案 0 :(得分:9)
有可能在套接字超时时抛出SIGPIPE
或在该lib内没有/丢失连接。可能会有一些服务器故障或其他什么。
您可以通过以下方式忽略SIGPIPE:
signal(SIGPIPE, SIG_IGN);
或
signal(SIGPIPE, SO_NOSIGPIPE);
查看this link了解详情。
另一方面,您可以通过使用
设置处理函数来进一步调试 signal(SIGPIPE, yourHandlerFunc);
并检查其中的套接字/ ivars / etc的状态。