Загрузка Nib-файла в NSData
У меня проблемы с загрузкой Nib, созданного:
ibtool MyNib.xib --compile MyNib.nib
Я пытался использовать полный путь для всего. Я пробовал - output-формат удобочитаемый текст и двоичный файл1.
Это код:
NSString* path = [[NSBundle mainBundle] pathForResource:@"MyView" ofType:@"nib"];
NSFileManager* fs = [[NSFileManager alloc] init];
BOOL isDir;
// Debugger shows this to be true
BOOL exists = [fs fileExistsAtPath:path isDirectory:&isDir];
NSError* error;
NSData* data = [NSData dataWithContentsOfFile: path
options: nil
error: &error];
Я проверяю, существует ли файл, что он делает. Но это не в состоянии создать NSData. Ошибка содержит эту информацию:
"Операция не может быть завершена. (Ошибка Какао 257.)" UserInfo=0x7c6d9c0 {NSFilePath=/ Пользователи /onbek/ Библиотека / Поддержка приложений /iPhone Simulator/6.1/ Приложения /FE56BA5C-9333-4E7B-A13C-137E0357519B/MyApp.app/MyView.nib, NSUnderlyingError=0x7c70ad0 "Операция не может быть завершена. В доступе отказано"}
Вот разрешения для файла:
drwxr-xr-x 4 onbek staff 136 26 Jun 19:56 MyView.nib
И его содержание:
-rw-r--r-- 1 onbek staff 5275 26 Jun 19:56 objects.nib
-rw-r--r-- 1 onbek staff 5983 26 Jun 19:56 runtime.nib
Я искал и не смог найти, почему я не могу создать объект NSData. Моя первоначальная информация, которую я использовал, чтобы узнать это, была на http://www.indelible.org/ink/nib-loading/ Загрузка необработанных данных пера.
Я перепробовал много вещей, которые я пробовал после выполнения чистой сборки:
Возиться с разрешениями. Я попытался найти в папке производных данных для своего проекта, скопировать перо, созданное Xcode, скопировать его и посмотреть, смогу ли я получить его для создания объекта NSData. Это не так. Удаление производных данных и сброс симулятора до тошноты. Молитва.
Моя цель - иметь возможность загрузить Nib из произвольного местоположения (то есть загруженного).