使用资源包文件中的Storyboard

Tsu*_*sai 4 bundle storyboard ios

我创建了一个包文件并将包文件导入到我的项目中.这个捆绑文件中有一个故事板,我想从这个故事板创建视图.我一直试图找出正确的方法来做这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];
Run Code Online (Sandbox Code Playgroud)

- 我无法从以下类似问题的帖子中找到答案:

如何从IOS应用程序中的自定义捆绑加载故事板文件?

Xcode Copy Bundle Resources无法找到文件

"无法在捆绑NSBundle中找到名为'MainStoryboard'的故事板"

Jim*_*Jim 6

您需要创建一个合适的包,而不仅仅是使用.bundle扩展名重命名目录.

你的资源,如故事板必须是在Contents/Resources/子目录,您需要Info.plistContents/目录中.

您可以通过创建新目标并从OS X> Framework&Library中选择Bundle来生成基本模板.然后将其存档并查看存档.

可能有一种更简化的方式来实现目标依赖,但对我来说,如何使Xcode使用普通的构建命令构建捆绑包并不明显,它似乎只能用于归档.

有关更多信息,请参阅Apple捆绑编程指南中的装入分发包.