I’ve got the following two methods:
-(void)playSound {
NSString* filePath = [self getBasePath]; // <-- warnings appear when this is called
}
and
-(NSString*) getBasePath {
if( debug ) NSLog(@">>> Entering %s <<<", __PRETTY_FUNCTION__);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
if( debug ) NSLog(@">>> Leaving %s <<<", __PRETTY_FUNCTION__);
return documentsDir;
}
When calling playsound the methode getBasePath is called. But then I get the following warning on the console:
2011-08-06 00:26:56.298 Alarm[82648:5d03] *** __NSAutoreleaseNoPool(): Object 0x4e350e0 of class __NSArrayM autoreleased with no pool in place - just leaking
2011-08-06 00:26:56.299 Alarm[82648:5d03] *** __NSAutoreleaseNoPool(): Object 0x4e350c0 of class NSCFString autoreleased with no pool in place - just leaking
2011-08-06 00:26:56.300 Alarm[82648:5d03] *** __NSAutoreleaseNoPool(): Object 0x4b43c00 of class NSCFString autoreleased with no pool in place - just leaking
2011-08-06 00:26:56.300 Alarm[82648:5d03] *** __NSAutoreleaseNoPool(): Object 0x4b46900 of class NSPathStore2 autoreleased with no pool in place - just leaking
2011-08-06 00:26:56.301 Alarm[82648:5d03] *** __NSAutoreleaseNoPool(): Object 0x4e37630 of class NSPathStore2 autoreleased with no pool in place - just leaking
2011-08-06 00:26:56.302 Alarm[82648:5d03] *** __NSAutoreleaseNoPool(): Object 0x4e35100 of class __NSArrayI autoreleased with no pool in place - just leaking
What does that mean?
Probably you are executing this method not on the main thread. If you do, you have to create a NSAutoreleasePool.