【问题标题】:iOS - Linking framework storyboard to ViewController for use in main projectiOS - 将框架故事板链接到 ViewController 以在主项目中使用
【发布时间】:2013-11-26 02:42:20
【问题描述】:

我正在尝试在我的主要项目中完成并使用故事板,该项目是在框架中创建的。这是为了在未来的众多不同项目中使用该框架。

我已经使用捆绑包将故事板提供给主项目,我可以在构建应用程序时看到它。然而,同样位于框架内的附加 ViewController 在运行时不会链接。框架中的所有类都被导入到主项目中。

错误消息说它找不到视图控制器。

我尝试将视图控制器添加到包中,但它不喜欢这样,因为它不允许 .h 文件进入包中。我还尝试反转依赖关系,使框架成为捆绑包的依赖关系(认为它会导致其中的所有类,包括我的视图控制器,首先加载)。

有没有人遇到过这种情况?非常感谢您提出修复建议!

谢谢, 克里斯

【问题讨论】:

  • 哇,我正要问一个类似的问题,我有点卡在如何让应用程序看到框架中的故事板。您的捆绑包是位于框架内部还是外部(又名它是 .a 的一部分吗?),我的故事板仅在框架本身内使用过(很好地尝试以这种方式实现)
  • 我的包位于框架之外,与 .a 文件分开。但是,它确实包含位于框架内的情节提要,并且它们具有相互依赖关系。
  • 你的意思是故事板只与框架一起使用?听起来这可能是我的问题的可行解决方案....
  • 我的应用程序有一种插件消息收件箱,将在其他应用程序中使用,基本上您将调用一个函数并出现一个视图控制器(它将来自框架中的情节提要)最终开发人员将无法访问框架故事板或任何东西,只需调用该函数即可转换到新窗口,这就是我希望实现的目标,我确定 facebooks sdk 会做类似的事情
  • 实际上,只是查看 facebooks sdk 资源包,它们只包含图像,没有 xib 的 r 故事板......所以我想知道他们是否在他们的框架中使用了类似的东西

标签: ios frameworks runtime bundle viewcontroller


【解决方案1】:

要让它找到关联的视图控制器,您只需要在您的应用程序中使用-all_load -ObjC 构建设置中的其他链接器标志。

由于应用程序代码实际上并未使用或引用 ViewController,链接器似乎遗漏了必要的文件,因此链接器将其遗漏了。这会强制它在现在链接时使用 ViewController。 (查看this answer了解更多详情)

我只是将我的框架故事板与我的框架捆绑在一起,我跟着 this guide 了解如何为框架制作捆绑包

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    相关资源
    最近更新 更多