我正在将框架集成到我的项目中。但是,我在引用Resources
文件夹下的文件时遇到了麻烦。
代码应为:
NSString *frameworkPath = @"SomeFramework.framework/Resources/abc";
NSString *filePath = [[NSBundle mainBundle] pathForResource:frameworkPath ofType:@"json"]; // always nil !!!
// Load the file into an NSData object called JSONData
NSError *error = nil;
NSData *JSONData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:&error]; // crashed here !!!
由于我无法引用abc.json
文件夹下的SomeFramework.framework/Resources
,filePath
始终为nil
,导致应用程序在JSONData
崩溃:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[_NSPlaceholderData initWithContentsOfFile:options:error:]: nil file argument'
*** First throw call stack:
(0x2435c49f 0x31b52c8b 0x2435c3e5 0x24fc3f3b 0x24fc3ecd 0x345fd 0x323e9 0x32021 0x27307 0x20d99 0x1a19b 0x24036369 0x240363b9 0x240364fd 0x240342b7 0x24030675 0x2403b357 0x1ae9db 0x1ae9c7 0x1b6e29 0x1b12c9 0x1b221f 0x243223b1 0x24320ab1 0x2426e3c1 0x2426e1d3 0x2b66c0a9 0x2787dfa1 0x22d79 0x320d2aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
在Finder
中,我检查了SomeFramework.framework
。 确实有 Resources
文件夹,遗憾的是我无法找到如何引用其文件。
为了引用Resources
SomeFramework.framework
文件夹下的文件,我是否遗漏了一些操作?
请告诉我如何。
(我在XCode 6中开发)
谢谢大家
答案 0 :(得分:0)
感谢此链接IOS Static Framework with resources inside,我发现了如何解决我的问题:转到Build Phase
/ Copy Bundle Resources
并添加SomeFramework.framework。
正如预期的那样,添加SomeFramework.framework
后,该应用现在可以引用SomeFramework.framework
下的资源,因此效果很好。
此致