我在加载Nib时遇到问题,生成者:
ibtool MyNib.xib --compile MyNib.nib
我尝试过使用完整路径。我尝试过--output-format human-readable-text和binary1。
这是代码:
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。该错误包含以下信息:
“操作无法完成。(Cocoa错误257.)”UserInfo = 0x7c6d9c0 {NSFilePath = / Users / onbek / Library / Application Support / iPhone Simulator / 6.1 / Applications / 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构建的nib,复制它,看看我是否可以创建一个NSData对象。它没有。 删除派生数据并重置模拟器令人作呕。 祈祷。
我的目标是能够从任意位置加载Nib(已下载)。