2013-01-08 3 views
0

Я только начал использовать сегодня CocoaPods ... Сначала я добавил AFNetworking, который работал хорошо ... Тогда я нуждался в SocketRocket ...SocketRocket с Cocoapods появляется ошибка

Однако SRWebSocket.m бросает 9 предупреждения и 6 ошибок после добавления с CocoaPods ... ошибки относительно удержания/отпускания не доступны и ARC ограничения ... предупреждений все:

'dispatch_get_current_queue' is deprecated: first deprecated in iOS 6.0 

Так что я предполагаю, я может быть, отсутствует какой-либо шаг в настройке этого?

Любая помощь будет оценена ...

ответ

2

Так пара вещей

  1. Вы должны, вероятно, отправить запрос тянуть к SocketRocket, чтобы удалить использование dispatch_get_current_queue и изменить его на то, что он был заменен с, но это предупреждение, поэтому на данный момент это не является большой проблемой.

  2. Поскольку проект SocketRocket не поддерживает/использовать ARC (предположительно, так как она имеет сохранить/релиз вызывает в нем), вам нужно пойти в Строительства фазам> Источники компилировать и найти все классы SocketRocket и добавить флаг в -fno-objc-arc компилятор , Это позволит вам скомпилировать, в идеале, хотя SkyRocket Podspec должен быть обновлен, чтобы указать, что ARC следует отключить. Свойство compiler_flags в Podspec должно включать -fno-objc-arc, вы должны отправить запрос на перенос, чтобы обновить его.

EDIT

Интересно SocketRocket рекламирует, что он использует ARC, и я не вижу никаких вызовов для удержания/освобождения (за пределами CFRetain/CFRelease, что штраф/необходимо в АРК).

Я взял пик в исходном коде для 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

После дальнейшего рытье и, как упоминалось в комментарии. dispatch_release и dispatch_retain не допускаются при ориентации IOS 6.0+ или OS X 10.8+ так что вам нужно будет удалить эти вызовы или делать что-то, что был предложен в pull request 55 для проекта

+0

Привет, Крис, спасибо за ваш ответ thourough ... Да, я получаю 6 ошибок от SRWebSocket.m - все они появляются на dispatch_retain или dispatch_release (я указал SocketRocket 0.2.0 в моем подкоде) - например посмотрите строки 332 и 333 из 0.2.0 SRWebSocket.m от GitHub – user969043

+0

Хорошо, вот ваш ответ. http://stackoverflow.com/questions/8618632/does-arc-support-dispatch-queues Я не знал, что вы больше не можете использовать dispatch_retain/release в iOS 6 или OSX 10.8. Поэтому вам нужно будет удалить их, они больше не нужны.Такой отстой, поскольку вы действительно не хотите изменять свой код зависимостей следующим образом. Проверьте этот запрос на растяжение, который открыт в проекте https://github.com/square/SocketRocket/pull/55 –

+0

А, отлично ... Я совершенно новый с использованием GitHub, поэтому я просто взял этот код и заменил это с кодом, который у меня был, который разрешил ошибки, отлично! Не уверен, есть ли лучший способ заменить код, чем просто C & P'ing? – user969043

Смежные вопросы