2012-01-10 4 views
0

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

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

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

+1

Если вы дали путь, который существует в вашем Mac, она будет работать и выполнять работу на тренажере. Но в устройстве это не будет. – Ilanchezhian

ответ

0

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

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

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

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

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