Objective C - 加载bundle时出错

时间:2014-11-22 03:36:25

标签: objective-c nsbundle theos tweak

我正在使用THEOS项目。在我的项目中,我想使用其他框架或库及其捆绑资源(* .bundle),例如Google Plus框架。因为,这不是Xcode项目,所以它没有复制捆绑资源部分。我使用NSBundle类来加载bundle资源但是我收到了这个错误

  

错误Domain = NSCocoaErrorDomain Code = 4“捆绑”MyBundle“不能   因为无法找到它的可执行文件而被加载。“   UserInfo = 0x15a308d0 {NSLocalizedRecoverySuggestion =尝试重新安装   bundle。,NSLocalizedFailureReason = bundle的可执行文件不能   位于。,NSLocalizedDescription =捆绑“MyBundle”不可能   因为无法找到其可执行文件而加载。   NSBundlePath =的/ var /移动/文档/ MyBundle.bundle}

这是我的代码

NSString *bundlePath = @"/var/mobile/Documents/MyBundle.bundle";
NSBundle *myBundle = [NSBundle bundleWithPath:bundlePath];
NSError *error;
BOOL loaded = [myBundle loadAndReturnError:&error];

NSLog(@"loaded: %@", (loaded ? @"TRUE" : @"FALSE"));
NSLog(@"error: %@", error);

我已经尝试过其他路径和其他捆绑资源,但我仍然遇到同样的错误

1 个答案:

答案 0 :(得分:1)

您无法从应用程序包或捆绑容器外部加载资源。 " / var / mobile / Documents"您的申请无法访问。

您遇到的实际错误是系统无法加载捆绑包的可执行文件-loadAndReturnError:用于加载该捆绑包中的代码。您似乎正在加载具有资源但不是可执行代码的捆绑包。