[英]Cannot access storyboard in resource bundle file inside iOS static library
[英]Use Storyboard from Resource Bundle File
我创建了一个包文件并将包文件导入到我的项目中。 这个捆绑文件中有一个故事板,我想从这个故事板创建视图。 我一直试图找出正确的方法来做这2天,但没有运气。 它始终显示“'无法在捆绑NSBundle中找到名为'StoryboardA'的故事板”错误。 我在这里有一个示例项目: https : //github.com/tsunglintsai/Storyboard-In-Resource-Bundle 。
以下是我试过的代码。
NSBundle *resourceBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"bundlefilename" ofType:@"bundle"]];
[resourceBundle load];
NSLog(@"resourceBundle:%@",resourceBundle);
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"StoryboardA" bundle:resourceBundle];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"];
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:vc animated:YES completion:NULL];
- 我无法从以下类似问题的帖子中找到答案:
如果您使用loadAndReturnError:
而不是只是load
,您会收到以下错误消息:
Error Domain = NSCocoaErrorDomain Code = 4“无法加载bundle”bundlefilename.bundle“,因为无法找到它的可执行文件。” UserInfo = 0xb8c8720 {NSLocalizedRecoverySuggestion =尝试重新安装捆绑包。,NSLocalizedFailureReason =无法找到捆绑包的可执行文件。,NSLocalizedDescription =无法加载捆绑包“bundlefilename.bundle”,因为无法找到其可执行文件。,NSBundlePath = / Users / user1 / Library / Application Support / iPhone Simulator / 7.0.3 / Applications / 2952FC15-F092-4F04-9BD3-902A923BC692 / StoryboardInBundle.app / bundlefilename.bundle}
所以你的软件包似乎有问题(虽然我没有任何加载软件包的经验)。
如果您的对象是使用该包中包含的故事板和图像,您可以在查找器中打开该包,单击“显示包内容”,然后将这两个文件拖到您的项目中。 然后您不需要加载包,它可以从项目中删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.