App falha após o upgrade do Xcode para 4.5. Atribuindo objeto retido a variável insegura_unidade
Na minha aula eu tenho umdispatch_queue_t
propriedade declarada assim:
@property (nonatomic, assign) dispatch_queue_t queue;
Então, no meu método init eu faço:
- (id)initWithServerUrls: (NSString*)serverUrls
{
if (self = [super init])
{
_queue = dispatch_queue_create("com.xxx.my_send_queue", DISPATCH_QUEUE_SERIAL);
}
return self;
}
No Xcode 4.4.1 funcionou e não causou nenhum problema (o aplicativo testado + no appstore). Agora, depois que fiz o upgrade para o Xcode 4.5, o aplicativo travouEXC_BAD_ACCESS e o Xcode me dá um aviso nessa linha dizendo:
Atribuir objeto retido à variável insegura_unidade; objeto será liberado após a atribuição
A Apple atualizou o compilador no Xcode 4.5 do LLVM 4.0 para o LLVM 4.1, mas não tenho ideia do motivo pelo qual meu código está falhando no momento.
Eu passei pelo código e o acidente acontece logo após a linha. Você tem alguma idéia do que pode estar errado e como posso corrigi-lo?
SOLUÇÃO:
Consegui fazê-lo funcionar com os dois SDKs. Acabei de adicionar:
#if OS_OBJECT_USE_OBJC
@property (nonatomic, strong) dispatch_queue_t queue; // this is for Xcode 4.5 with LLVM 4.1 and iOS 6 SDK
#else
@property (nonatomic, assign) dispatch_queue_t queue; // this is for older Xcodes with older SDKs
#endif
Espero que alguém ache útil