objective-c - 集成了 BUMP API 的 iOS 项目中的 SIGPIPE 异常

标签 objective-c ios6 bump sigpipe

我在我的 Xcode 项目中遇到了 SIGPIPE 错误。这个错误从一周前就开始出现了。如果我评论此方法调用:[self configureBump]; 一切正常。我整合了BUMP API在我的项目中。这个 API 一直工作到一周前没有任何问题。我不确定此错误的原因。谁能帮我解决这个错误?我的一些 friend 也报了这个错误。

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

最佳答案

SIGPIPE 有可能在套接字超时或该库内没有/丢失连接时被抛出。他们这边可能有一些服务器故障或其他原因。

您可以通过忽略 SIGPIPE 来绕过:

signal(SIGPIPE, SIG_IGN); 

signal(SIGPIPE, SO_NOSIGPIPE);

检查 this link了解详情。

另一方面,您可以通过使用

设置您的处理函数来进一步调试

信号(SIGPIPE, yourHandlerFunc);

并检查其中的 sockets/ivars/etc 的状态。

关于objective-c - 集成了 BUMP API 的 iOS 项目中的 SIGPIPE 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13965890/

相关文章:

ios - 带有 Xcode 4.1 的设备中的 Bump API 3.0 崩溃

iphone - 如何从 iPhone 向蓝牙 LE 设备发送电子邮件、短信通知?

iphone - 检查照片库的授权状态

android - 如何在android中制作一个凹凸应用程序?

objective-c - 如何在 swift 中使用内联方法分配回调处理程序?

ios - 为什么我的 DEBUG 预处理器宏没有被识别 objective-c

objective-c - 用NSView制作淡入淡出效果

ios - 具有 UITapGestureRecognizer 操作的 UICollectionViewCell 仅在状态 3 下调用一次

ios - 在 xCode 5 项目中使用 iOS6 If 语句时生成错误