[英]SocketRocket with Cocoapods gives errors
我今天刚刚开始使用CocoaPods ......首先我添加了AFNetworking,它运行良好......然后我需要SocketRocket ......
但是,在添加CocoaPods之后,SRWebSocket.m会抛出9个警告和6个错误......错误是关于保留/释放不可用和ARC限制...警告都是:
'dispatch_get_current_queue' is deprecated: first deprecated in iOS 6.0
所以我猜我可能会错过一个设置它的步骤吗?
任何帮助,将不胜感激...
所以有几件事情
您可能应该向SocketRocket提交一个pull请求以删除dispatch_get_current_queue
的使用并将其更改为替换它的任何内容,但这是一个警告,因此它现在不是一个大问题。
由于SocketRocket项目不支持/使用ARC(可能因为它中有保留/释放调用),您需要进入Build Phases> Compile Sources并找到所有SocketRocket类并添加-fno-objc-arc
编译器标志。 这将允许您编译,理想情况下应更新SkyRocket Podspec以指定应关闭ARC。 Podspec中的compiler_flags
属性应该包含-fno-objc-arc
,你应该提交一个pull请求来更新。
编辑
有趣的是SocketRocket吹嘘它使用ARC,我没有看到任何保留/释放的调用(在CFRetain / CFRelease之外,这在ARC中很好/必要)。
我在SRWebSocket.m的源代码中找到了一个高峰,因为podspec repo(0.1.0和0.2.0)中列出的两个版本都没有保留/释放调用。
0.2.0: https : //github.com/square/SocketRocket/blob/v0.2.0/SocketRocket/SRWebSocket.m
0.1.0: https : //github.com/square/SocketRocket/blob/82c9f8938f8b9b7aa578866cb7ce56bc11e52ced/SocketRocket/SRWebSocket.m
奇怪?? 您确定收到有关SRWebSocket.m的错误吗?
编辑2
经过进一步挖掘并在评论中提到。 在针对iOS 6.0+或OS X 10.8+时,不允许使用dispatch_release
和dispatch_retain
,因此您需要删除这些调用或执行拉动请求55中为项目建议的操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.