Storyboard Custom Class module

作者: liuwin7 | 来源:发表于2016-07-13 15:21 被阅读776次

    之初

    项目使用 SwiftObjective-C 混合开发模式,后续的想通过多个 targetschema 来管理项目的版本,设定有两个 target, 分别是 project-nameproject-name-dev, 这两个 target 分别有不同的 schema 管理,并配置不同的 bundle-idbundle-icon,这样,就可以在一台设备上方便地区分发布和开发两个版本。
    在之前,只有一个 target 的时候,打包没有问题,后来在新的 scheme project-name-dev 下,打包出来的项目有些页面是空白的。甚是费解。

    迷茫

    由于打包出来的项目,直接部署到设备上,具体报错,没法看到。同样的代码,同样的配置,为何就新的target有问题,一度怀疑这个多target的方法是不是可行。

    曙光

    同事提示说,这些跳转都是在Storyboard里实现的。是不是在Storyboard里的某些控制器设置的问题。
    可是不知道具体报什么样的错误,也不知道在哪里改啊!

    足下

    不怕麻烦,修改工程的mobileprovision文件,在手机上运行调试。直觉告诉我,console里一定会有报错。

    报错

    **Unknown class xxxController in Interface Builder file.**

    Google & Stack Overflow

    Xcode 6 Strange Bug: Unknown class in Interface Builder file
    XCODE 7.1 Swift 2 Unknown class in Interface Builder file

    众矢之的

    所有的问题都指向了Storyboard,而且都指向了ViewControllerCustom class>module.

    水落石出

    在那些没有出现的ViewController里面,Custom class module 被设置成了 'project-name' ,里面有两个选项 'project-name' 和 'project-name-dev'。选哪个都合适啊。果断删除,运行调试。完美解决。

    Learn More

    通过版本控制工具git,发现了改动之后的storyboard文件的变化


    修改前和修改后的对比

    之前也是设置了 module 为readme,但是少了一个字段 customModuleProvider。这个字段通过google发现有好多人也是出现丢失的情况,他们也提供了一些修复的方法。我的修复方法很简单,直接把这个之前的内容删除,然后回车,就好了。

    这个问题,也在这里被提到过,同样是多Target导致的。

    In a Word

    Stay hungry, stay foolish.

    相关文章

      网友评论

        本文标题:Storyboard Custom Class module

        本文链接:https://www.haomeiwen.com/subject/odgsjttx.html