アプリケーション (具体的にはhttps://github.com/jazzychad/CEPubnub )で外部ライブラリを使用しており、メモリ管理の問題が発生しています。「CEPubnub」オブジェクトの初期化に続いて、更新を受信するためにチャネルに登録する必要があります。そのため、次のコードを書くことになりました。
self.pubnub = [[[CEPubnub alloc]
publishKey:@"..."
subscribeKey:@"..."
secretKey:@"..."
sslOn:NO
origin:@"pubsub.pubnub.com"] autorelease];
//Set the channel for this holler
[self setPubnubChannel:[[[NSMutableString alloc] initWithString:@"channelprefix_"] autorelease]];
[pubnubChannel appendString:[event eventId]];
NSLog(@"Subscribing to the pubnubChannel: %@", (NSString *)[[pubnubChannel copy] autorelease]);
このアプリケーションを実行して、これが呼び出されたビューをロードし、ビューを終了して再度ロードすると、最終的にメモリリークが発生し、そこにあるコードの 2 行目が問題の原因として強調表示されます (私の漏れ楽器)。
Analyze を実行すると、コードの 2 行目も強調表示されますが、最初の行が問題であるかのように、「[行 1] に割り当てられたオブジェクトの潜在的なリーク」と表示されます。viewDidUnload メソッドと dealloc メソッドで、pubnub プロパティを解放するようにしていますが、それでも漏れているようで、唖然とします。私が何をすべきかについてのアイデアはありますか?