【发布时间】:2014-07-27 16:14:03
【问题描述】:
我正在尝试制作一个可以捆绑故事板的框架。我已经检查过了,创建的 .framework 包括我的 .storyboard 文件(作为.storyboardc 文件),并且已经获得了在运行时加载情节提要的框架。但是,这是一个框架,我希望代码尽可能多才多艺,而且我觉得我目前的解决方案有点笨拙。目前,我正在使用以下代码加载情节提要:
let mainBundlePath: String = NSBundle.mainBundle().resourcePath
let frameworkBundlePath = mainBundlePath.stringByAppendingPathComponent("Frameworks/AuthenticationManager.framework")
let frameworkBundle = NSBundle(path: frameworkBundlePath)
let storyboard = UIStoryboard(name: "Storyboard", bundle: frameworkBundle)
我注意到的几件事可能是陷阱:
- 框架 (
Frameworks/) 的路径可能会在未来发生变化,不应依赖? - 框架的名称可以更改,但如果不先获取框架的
NSBundle,就无法获取产品名称? - 框架并不是真正的捆绑包 (?),因此将它们作为捆绑包加载可能会在未来产生无法预料的后果?
可能还有其他问题,上述问题的解决方案,或者上述问题可能根本不是问题,但我一直想不出来。
这个问题可能更适合Code Review,但我觉得它也很适合这里。如果需要将其移到那里,请随时这样做或告诉我这样做。
【问题讨论】:
-
你好,我知道这个话题已经有 4 年历史了。我想做几乎相同的事情,但我没有找到任何教程或好的例子,所以我可以从中学习。你(或其他人)能帮帮我吗?只是给我一个提示或一些链接..非常感谢