Search code examples
ios4crashnslogviewdidload

App is crashing in a certain line, Why?


My real code is full of NSLog's, the following line is the reason for he crash but I don't understand why

NSString *newDir = [documentsDirectory stringByAppendingPathComponent:file];

Here is the whole method:

 - (void)viewDidLoad {  

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);   
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSFileManager *fileManager = [NSFileManager defaultManager];    
    NSArray* newArray= [[NSArray alloc]init];   
    newArray=  [fileManager contentsOfDirectoryAtURL:[NSURL fileURLWithPath:@"/Users/admin/Library/FotoAppFotos/"]
    includingPropertiesForKeys:[NSArray arrayWithObject:NSURLNameKey]                                        options:NSDirectoryEnumerationSkipsHiddenFiles error:nil];         
    categories= [NSMutableArray arrayWithArray: newArray];

        for(NSString *file in categories) {  

        NSString *newDir = [documentsDirectory stringByAppendingPathComponent:file]; // in this line the app crashes        
        [categories addObject:newDir]; //categories         
        } 
        [super viewDidLoad]; 
    }

As mentioned the NSLog print of documentsDirectory and file are:

documentsDirectory: /Users/admin/Library/Application Support/iPhone Simulator/4.3/Applications/D5AB6F90-0420-4A66-B141-D27AB2C11C3C/Documents

file://localhost/Users/admin/Library/FotoAppFotos/Audio/

The whole crash log is:

2011-11-09 09:21:42.989 TestTest[543:207] -[NSURL length]: unrecognized selector sent to instance 0x5c07df0
2011-11-09 09:21:42.992 TestTest[543:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL length]: unrecognized selector sent to instance 0x5c07df0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x0102b5a9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x0117f313 objc_exception_throw + 44
    2   CoreFoundation                      0x0102d0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x00f9c966 ___forwarding___ + 966
    4   CoreFoundation                      0x00f9c522 _CF_forwarding_prep_0 + 50
    5   Foundation                          0x0002b1ad -[NSPathStore2 stringByAppendingPathComponent:] + 211
    6   TestTest                            0x00003244 -[Produktpalette viewDidLoad] + 535
    7   UIKit                               0x0036f089 -[UIViewController view] + 179
    8   UIKit                               0x0060ca40 -[UIPopoverController _setupIncomingViewController:presenting:animated:] + 143
    9   UIKit                               0x0060be26 -[UIPopoverController initWithContentViewController:] + 321
    10  TestTest                            0x00002540 -[TestTestViewController produktpalette:] + 151
    11  UIKit                               0x002bf4fd -[UIApplication sendAction:to:from:forEvent:] + 119
    12  UIKit                               0x004d1cc3 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 156
    13  UIKit                               0x002bf4fd -[UIApplication sendAction:to:from:forEvent:] + 119
    14  UIKit                               0x0034f799 -[UIControl sendAction:to:forEvent:] + 67
    15  UIKit                               0x00351c2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
    16  UIKit                               0x003507d8 -[UIControl touchesEnded:withEvent:] + 458
    17  UIKit                               0x002e3ded -[UIWindow _sendTouchesForEvent:] + 567
    18  UIKit                               0x002c4c37 -[UIApplication sendEvent:] + 447
    19  UIKit                               0x002c9f2e _UIApplicationHandleEvent + 7576
    20  GraphicsServices                    0x01983992 PurpleEventCallback + 1550
    21  CoreFoundation                      0x0100c944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    22  CoreFoundation                      0x00f6ccf7 __CFRunLoopDoSource1 + 215
    23  CoreFoundation                      0x00f69f83 __CFRunLoopRun + 979
    24  CoreFoundation                      0x00f69840 CFRunLoopRunSpecific + 208
    25  CoreFoundation                      0x00f69761 CFRunLoopRunInMode + 97
    26  GraphicsServices                    0x019821c4 GSEventRunModal + 217
    27  GraphicsServices                    0x01982289 GSEventRun + 115
    28  UIKit                               0x002cdc93 UIApplicationMain + 1160
    29  TestTest                            0x00001c2a main + 84
    30  TestTest                            0x00001bcd start + 53
)
terminate called after throwing an instance of 'NSException'

Thank you for any help and presumption in advance


Solution

  • The hint comes from:

    [NSURL length]: unrecognized selector sent to instance
    

    If you are working on iOS, sorry to tell that :

    This method is unimplemented in iOS, so it performs no operation.

    Somebody has similar problem .