之初
項(xiàng)目使用 Swift 和 Objective-C 混合開發(fā)模式,后續(xù)的想通過(guò)多個(gè) target 和 schema 來(lái)管理項(xiàng)目的版本,設(shè)定有兩個(gè) target, 分別是 project-name 和 project-name-dev, 這兩個(gè) target 分別有不同的 schema 管理,并配置不同的 bundle-id 和 bundle-icon,這樣,就可以在一臺(tái)設(shè)備上方便地區(qū)分發(fā)布和開發(fā)兩個(gè)版本。
在之前,只有一個(gè) target 的時(shí)候,打包沒有問(wèn)題,后來(lái)在新的 scheme project-name-dev 下,打包出來(lái)的項(xiàng)目有些頁(yè)面是空白的。甚是費(fèi)解。
迷茫
由于打包出來(lái)的項(xiàng)目,直接部署到設(shè)備上,具體報(bào)錯(cuò),沒法看到。同樣的代碼,同樣的配置,為何就新的target有問(wèn)題,一度懷疑這個(gè)多target的方法是不是可行。
曙光
同事提示說(shuō),這些跳轉(zhuǎn)都是在Storyboard里實(shí)現(xiàn)的。是不是在Storyboard里的某些控制器設(shè)置的問(wèn)題。
可是不知道具體報(bào)什么樣的錯(cuò)誤,也不知道在哪里改??!
足下
不怕麻煩,修改工程的mobileprovision文件,在手機(jī)上運(yùn)行調(diào)試。直覺告訴我,console里一定會(huì)有報(bào)錯(cuò)。
報(bào)錯(cuò)
**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
眾矢之的
所有的問(wèn)題都指向了Storyboard,而且都指向了ViewController的 Custom class>module.
水落石出
在那些沒有出現(xiàn)的ViewController里面,Custom class module 被設(shè)置成了 'project-name' ,里面有兩個(gè)選項(xiàng) 'project-name' 和 'project-name-dev'。選哪個(gè)都合適啊。果斷刪除,運(yùn)行調(diào)試。完美解決。
Learn More
通過(guò)版本控制工具git,發(fā)現(xiàn)了改動(dòng)之后的storyboard文件的變化

之前也是設(shè)置了 module 為readme,但是少了一個(gè)字段 customModuleProvider。這個(gè)字段通過(guò)google發(fā)現(xiàn)有好多人也是出現(xiàn)丟失的情況,他們也提供了一些修復(fù)的方法。我的修復(fù)方法很簡(jiǎn)單,直接把這個(gè)之前的內(nèi)容刪除,然后回車,就好了。
這個(gè)問(wèn)題,也在這里被提到過(guò),同樣是多Target導(dǎo)致的。
In a Word
Stay hungry, stay foolish.