将Nib文件加载到NSData

时间:2014-06-26 22:32:56

标签: ios objective-c xcode nsdata nib

我在加载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(已下载)。

0 个答案:

没有答案