Файловая операция не работает на устройстве - PullRequest
0 голосов
/ 10 января 2012

Что может сделать файловая операция, которая хорошо работает на симуляторе, чтобы не работать на устройстве iOS ?

При использовании [NSBundle mainBundle], когда файл находится по FileManager, что может быть причиной того, что смежные файловые операции могут иметь разные результаты?

Я иногда замечаю это и просто хочу понять, о чем думать, когда это произойдет.

Ответы [ 2 ]

0 голосов
/ 11 января 2012

Похоже, вы пытаетесь прочитать файл в вашем комплекте приложений.Вы можете получить его путь по коду:

NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "fileName" ofType: @ "ext"];// Затем вы можете использовать NSFileManager для чтения / копирования

Все файлы в комплекте приложений доступны только для чтения.Вы можете получить больше информации здесь:

http://developer.apple.com/library/ios/#documentation/CoreFoundation/Conceptual/CFBundles/AccessingaBundlesContents/AccessingaBundlesContents.html#//apple_ref/doc/uid/10000123i-CH104-SW8

0 голосов
/ 11 января 2012

Как сказал @Aadhira в комментарии выше, симулятор хранит свои файлы в куче папок на вашем Mac, а не в какой-то эмулированной изолированной программной среде директории bundle / docs.

Чтобы получитьстатический файл из вашего основного комплекта, вы должны создать путь начиная с [NSBundle mainBundle] и добавить в него компоненты пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...