2016-06-15 2 views
1

я не могу ссылаться на файл, который упакован с моим приложением на моем iPhone разработки 6. Он может быть найден штраф в тренажере XCode о iPhone 6.Не удается найти «Папка ссылки» файл в приложении

Файл I пытаюсь ссылки:

enter image description here

Где я ссылку на файл:

NSString *epubPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"epubjs/ios.html"]; 

ошибка это возвращает:

Error Domain=NSCocoaErrorDomain Code=260 "The file “ios.html” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/containers/Bundle/Application/8BB11DEC-4823-4603-83E7-F4C23BC3C983/BSAVA.app/epubjs/ios.html, NSUnderlyingError=0x126df1110 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}} 

Я пробовал различные вещи, чтобы получить список файлов в NSBundle и/или выполнить поиск файла, но я не могу получить к нему в приложении, когда он работает на реальном устройстве:

// 
NSString *bundleRoot = [[NSBundle mainBundle] bundlePath]; 
NSFileManager *fm = [NSFileManager defaultManager]; 
NSArray *dirContents = [fm contentsOfDirectoryAtPath:bundleRoot error:nil]; 
NSPredicate *fltr = [NSPredicate predicateWithFormat:@"self ENDSWITH '.html'"]; 
NSArray *onlyHTMLs = [dirContents filteredArrayUsingPredicate:fltr]; 
NSLog(@".html file array: %@", onlyHTMLs); 
// 
NSError * error; 
NSString * resourcePath = [[NSBundle mainBundle] resourcePath]; 
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:resourcePath error:&error]; 
// 
NSString * documentsPath = [resourcePath stringByAppendingPathComponent:@"BSAVA"]; 
NSArray * directoryContents2 = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error]; 
// 
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"ios" ofType:@"html"]; 
NSURL *path = [[NSBundle mainBundle] URLForResource:@"ios" withExtension:@"html"]; 
// 

Все они возвращают нуль.

+0

Показать в окне поиска может помочь вам проверить правильный путь к этой папке. – Nirav

+0

- это целевой файл? это находится в правой панели XCode, когда файл выбран. Вы ищете «Target Membership» – Dominic

+0

Я могу найти файл ok на Mac разработки с помощью finder. Мое приложение не может найти вложенную версию файла во время работы. – Ryan

ответ

1

Кажется, из беседы с вами в комментариях, что вы просто забыли связать файлы с приложением и, следовательно, вообще не существуют во время выполнения. Я не понимаю разницы в поведении между Симулятором и устройством, но я ожидаю, что это была красная селедка, так как это должно потерпеть неудачу на обоих.

Этот Apple Guide показывает, как копировать файлы в комплект приложения во время сборки.

+0

В предыдущих приложениях я просто запустил приложение для загрузки файлов, необходимых после установки (по разным причинам). Для этого приложения я связал эти файлы, но, как сказал Droppy, я забыл установить фазу сборки, чтобы фактически включить файлы. Это разрешило проблему, и мое приложение теперь может найти файлы снова. – Ryan

Смежные вопросы