2015-02-02 4 views
0

Я создаю каталог в папке с документами. Он отлично работает с более низкими версиями ios, который составляет ios 6,7 до 8,0.Не удалось создать каталог в версии iOS 8.1.3

Но это создает проблему в ios 8.1.3.

NSString *folderPath; 
NSArray *path = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 
NSString *library = [path objectAtIndex:0]; 
folderPath = [library stringByAppendingPathComponent:@"Documents/custom"]; 

BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:folderPath withIntermediateDirectories:NO attributes:nil error:nil]; 

NSLog(@"create %d",success); 

Создать возврат 0 в случае версии iOS версии 8.1.3.

Может кто-нибудь предложить что-то, что происходит.

+0

Попробуйте использовать эту ошибку, и посмотреть, что вы получите обратно: 'NSError * ошибка; BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath: folderPath withIntermediateDirectories: NO атрибуты: nil error: & error]; NSLog (@ "Сообщение об ошибке:% @", ошибка); "EDIT: Я предполагаю, что использование' withInterMediatDirectories: YES' может помочь; – Aaganrmu

ответ

0

== Ошибка

2015-02-02 17: 37: 10,561 ALLDOX [903: 51379]. Ошибка создания домена = NSCocoaErrorDomain Code = 4 «Операция не может быть завершена (ошибка какао 4.) «UserInfo = 0x1565f500 {NSFilePath =/var/mobile/Containers/Data/Application/36F75DC4-C5E1-4501-A13D-0B17A3B2663E/Library/Documents/custom, NSUnderlyingError = 0x1565d7b0« Операция не может быть выполнена. каталог "}

Я получил ответ

компания Apple изменила каталог дорожка.

/var/mobile/Containers/Data/Application/36F75DC4-C5E1-4501-A13D-0B17A3B2663E/Library/Documents/custom //Wrong path in ios 8.1.* 

/var/mobile/Containers/Data/Application/36F75DC4-C5E1-4501-A13D-0B17A3B2663E/Documents/custom  //Correct path for ios 8.1.* 

Правильный код для получения правильного каталога является

NSString *folderPath; 
folderPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/custom"]; 

BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:folderPath withIntermediateDirectories:NO attributes:nil error:nil]; 

NSLog(@"create %d",success); 

см Справочной link