我构建了一个自定义的NSURLProtocol,供WebView在浏览时使用。但在看似随机的时间里(在浏览的20秒或几分钟之间),我得到了一个EXC_BREAKPOINT,应用程序在我的NSURLProtocol中停止运行。
下面是我的NSURLProtocol的相关部分,它是显示EXC_BREAKPOINT的最后一行
self.mutableData = NSMutableData(data: data!)
self.response = response
self.client?.URLProtocol(self, didReceiveResponse: response!, cacheStoragePolicy: NSURLCacheStoragePolicy.Allowed)
self.client?.URLProtocol(self, didLoadData: data!)
self.client?.URLProtocolDidFinishLoading(self)Xcode错误如下所示:

在这件事上我完全被蒙蔽了。有没有人知道这可能是什么原因,以及如何修复它?
谢谢!
相同的
发布于 2016-05-08 10:08:52
没有足够的上下文让我完全理解这里的代码,更不用说猜测出了什么问题,但基本上发生的情况是,有一个锁(互斥)已经释放,但仍在NSURL*堆栈中的某个位置使用。
这可能表明某些东西没有被正确保留,但任何人都不知道是什么或在哪里。甚至可能是您的协议没有被正确保留,在这种情况下,您可以通过将协议对象分配给自身的属性来修复它,直到您调用最后一个委托方法,然后将其设置为空。
话虽如此,有理由相信这是操作系统本身的一个bug,所以当你试图解决它的时候,你也应该提交一个bug。它将被其他十几个bug所欺骗,这些bug来自其他人,他们在这里和Apple开发者论坛上都提出了同样的问题。:-)
https://stackoverflow.com/questions/37091165
复制相似问题