繁体   English   中英

带Cocoapods的SocketRocket会出错

[英]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

所以我猜我可能会错过一个设置它的步骤吗?

任何帮助,将不胜感激...

所以有几件事情

  1. 您可能应该向SocketRocket提交一个pull请求以删除dispatch_get_current_queue的使用并将其更改为替换它的任何内容,但这是一个警告,因此它现在不是一个大问题。

  2. 由于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_releasedispatch_retain ,因此您需要删除这些调用或执行拉动请求55中为项目建议的操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM