2012-05-24 3 views
14

stavo cercando di creare una directoryNSFileManager creando errore di directory 518 NSFileWriteUnsupportedSchemeError

NSError*error=nil; 

NSString* BIDirectory=[[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) objectAtIndex:0] stringByAppendingPathComponent:@"BI"]; 
BOOL isDir,flag=YES; 
    //if the directory doesn't exist create it. 
if(!([[NSFileManager defaultManager] fileExistsAtPath:BIDirectory isDirectory:&isDir]&& isDir))  
    flag=[[NSFileManager defaultManager] createDirectoryAtURL:[NSURL URLWithString:BIDirectory] withIntermediateDirectories:YES attributes:nil error:&error]; 

ho ottenuto il seguente errore

enter code hereError Domain=NSCocoaErrorDomain Code=518 "The operation couldn’t be completed. (Cocoa error 518.)" UserInfo=0x197190 {NSURL=/var/mobile/Applications/55793654-6CDB-4B07-8FBF-553DC37D583D/Library/Caches/BI} 

forse l'url è sbagliato?

risposta

35

Invece di

[NSURL URLWithString:BIDirectory] 

utilizzare

[NSURL fileURLWithPath:BIDirectory] 

suo sbagliato usare URLWithString: BIDirectory su file locali

+1

Buona chiamata! Passato pochi minuti e non riuscivo a capire qual è il problema – Yariv

+0

Grazie grazie grazie. Ho passato parecchie ore su questo oggi prima di trovare questa risposta. Stavo passando i miei test, ma non sul dispositivo. –