предупреждение «без явного владения» Архив ошибок Project XCode

в Xcode 7.2.1 У меня проблема, когда я архивирую свой проект, мое приложение с помощью WebSocket, и я использую CocoaAsyncSocket Library, приложение работает на Simulator или любом устройстве, но когда архив, xcode, покажу мне эти предупреждения об ошибках:

в классе GCDAsyncUdpSocket в методе:

- (void)getDelegate:(id <GCDAsyncUdpSocketDelegate>*)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr; 

ошибка предупреждений:

 /Users/Dennis/Desktop/WebSocketDennis/CocoaAsyncSocket/Source/GCD/GCDAsyncUdpSocket.m:569:56: Method parameter of type '__autoreleasing id<GCDAsyncUdpSocketDelegate> *' with no explicit ownership 

а также

 /Users/Dennis/Desktop/WebSocketDennis/CocoaAsyncSocket/Source/GCD/GCDAsyncUdpSocket.m:569:102: Method parameter of type '__autoreleasing dispatch_queue_t *' (aka 'NSObject<OS_dispatch_queue> *__autoreleasing *') with no explicit ownership 

Я попробовал другие ответы, например:

вопрос 1 , вопрос 2 или вопрос 3

но как я могу исправить эту проблему с ARC, если мне нужен делегат id или dispatch_queue_t

и почему этот вопрос появляется только при необходимости архивирования проекта?

EDIT 1 кто-то знает, как ARC обрабатывает возврат по косвенности в этом случае? becocuse предупреждения ошибок показывают только в методах:

.h файл:

 - (void)getDelegate:(id <GCDAsyncUdpSocketDelegate>*)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr; - (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)delegate delegateQueue:(dispatch_queue_t)delegateQueue; 

в .m файле:

 - (void)getDelegate:(id <GCDAsyncUdpSocketDelegate> * )delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr { if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) { if (delegatePtr) *delegatePtr = delegate; if (delegateQueuePtr) *delegateQueuePtr = delegateQueue; } else { __block id dPtr = NULL; __block dispatch_queue_t dqPtr = NULL; dispatch_sync(socketQueue, ^{ dPtr = delegate; dqPtr = delegateQueue; }); if (delegatePtr) *delegatePtr = dPtr; if (delegateQueuePtr) *delegateQueuePtr = dqPtr; } } - (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously { dispatch_block_t block = ^{ delegate = newDelegate; #if !OS_OBJECT_USE_OBJC if (delegateQueue) dispatch_release(delegateQueue); if (newDelegateQueue) dispatch_retain(newDelegateQueue); #endif delegateQueue = newDelegateQueue; }; if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) { block(); } else { if (synchronously) dispatch_sync(socketQueue, block); else dispatch_async(socketQueue, block); } } - (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue { [self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:NO]; } - (void)synchronouslySetDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue { [self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:YES]; } 

Я могу запустить проект на симуляторе iOS и на любом реальном устройстве, проблема только в том, что я хочу, чтобы проект архива, если я делаю Product> Analyze или Product> Build For> Running или Testing, работает отлично, но когда я делаю Product> Archive или Product> Build For> Профилирование предупреждения об ошибке

благодаря!

Interesting Posts

Когда я пытаюсь создать экземпляр UINib, я получаю: этот класс не является ключевым значением, совместимым с кодировкой для ключевого представления

эффективный стиль пользовательского интерфейса для приложения iOS

Реализация приложения: openURL: sourceApplication: аннотация: не найден в iOS 8

Добавление пользовательского UIView с автозапуском в iCarousel

Как отправить NSData с помощью POST из приложения iOS?

Распознавание речи с использованием звука AVAudioEngine Blocks после записи

viewDidLoad в iOS 6 называется один раз?

Как использовать get и установить в Swift

Подтверждение от пользователя перед обновлением новой версии приложения в ios

Невозможно декодировать объект класса Employee для ключа (NS.object.0); класс может быть определен в исходном коде или библиотеке, которая не связана

Индивидуальные контакты iOS MapKit

Получите реальное имя пользователя Twitter в iOS 6

UITableViewCell UIButton Selection

Пример NSAttributedString с двумя разными размерами шрифта?

iOS – как добавить события в библиотеку kal в Objective C?

Давайте будем гением компьютера.