Добавление папки в комплект iPad работает на симуляторе, а не на устройстве - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть две цели для моего приложения.
У каждого есть свой собственный Info.plist и отдельная папка (как ссылки, а не группа).
Когда я запускаю свою цель на симуляторе, папкаправильно вставлен в пакет и файлы внутри него читаются без проблем.
Это код для чтения пути к папке:

NSBundle* mainBundle;
NSString *fileFolder;
mainBundle = [NSBundle mainBundle];
NSLog(@"Bundle path: %@", [mainBundle bundlePath]);
NSLog(@"Folder name: %@", [mainBundle objectForInfoDictionaryKey:@"CustomFolder"]);
NSString *folder = [mainBundle objectForInfoDictionaryKey:@"CustomFolder"];
fileFolder = [[[NSBundle mainBundle] pathForResource:folder ofType:nil] retain];
NSLog(@"Folder: %@", fileFolder);

Если я пытаюсь отладить приложение на устройстве, путь к пакетуи имя папки правильное, но строка папки пуста.
Я проверил в своем приложении продукт, и есть правильная папка со всеми файлами.
Так в чем проблема?Это проблема с разрешением на чтение?

ОБНОВЛЕНИЕ Полученный в результате симулятор iPad работает следующим образом:

/ * / Библиотека / Поддержка приложений / iPhoneSimulator / 4.3.2 / Applications / 8337B9E5-1BFE-4A17-969E-E3E6E43193D6 / MyApp.app / CustomFolder /

UPDATE 2 Проблема в том, что я добавил папку с "«Создать ссылки на папки для любых добавленных папок».
Я заменил pathForResource на stringByAppendingPathComponent, но теперь проблема сохраняется для subpathsOfDirectoryAtPath.

1 Ответ

0 голосов
/ 15 сентября 2011

Вы должны убедиться, что используете правильное место в памяти iPad. нет никаких ограничений на то, где вы сохраняете вещи на симуляторе. Этот код работает

+(NSString*) pathToDocumentsFolder
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return documentsDirectory;  
}
+(NSString*) pathToFileInDocumentsFolder:(NSString*)filename
{
NSString *pathToDoc = [NSBundle pathToDocumentsFolder];
return [pathToDoc stringByAppendingPathComponent:filename];
}
...