Storyboard Custom Class module

之初

项目使用 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)