質問: ### 前提・実現したいこと swift開発初心者です。 初歩的な質問だと認識しておりますが、なかなか解決できないのでご質問させていただきます。 unknown classのエラーが出ております。ビルドは成功しますが、アプリ起動時にコンソールに エラー表示されます。 作りとしてはTabBarControllerからMain: ViewControllerにSegueで繋いでいる状態です。 TabBarControllerがない状態では出ないのですが、TabBarControllerを is Initial View Controllerの状態でMainに設定するViewControllerに 繋いでいる状態ですと下記エラーが出ます。 その他のViewControllerのカスタムクラスでも同様のエラーが出てしまいます。 その他補足情報としては、CocoaPodでライブラリを使用しています。 プロジェクトはworkspsceから起動しております。 2019/01/28 19:30 追記 説明不足かと思われたので追記致します。 ・ViewControllerをstoryboard上で配置し、それとクラスファイル内のMainクラスとを紐付け(ViewControllerのidentity inspectorのCustom ClassをMainに設定)した場合 -> 表題エラー出ず。 ・TabBarControllerからViewControllerへSegueをcontrol+ドラッグでview controller接続 。その状態で同じように、クラスファイル内のMainクラスとViewControllerを紐付けてbuild&runした場合 -> 表題エラーがコンソールに表示される。 上記のような状態となります。 ### 発生している問題・エラーメッセージ ``` Unknown class _TtC25プロジェクト名4Main in Interface Builder file. ``` ### 該当のソースコード ``` class Main: UIViewController { override func viewDidLoad() { super.viewDidLoad(); } } ``` ### 試したこと ・プロジェクトの「Build Phases」のCompile Sources内ファイルの追加。 ・storyboard内custom class 「Class -> Main、 Module -> プロジェクト名」 ・「Shift + Command + K」クリーンビルド ・Xcodeを再起動 ・Macを再起動 追加 ・storyboardを作り直して再度紐付けてビルド ←変わらず もしかしたら、キャッシュ周りがおかしくなっている可能性もあるのではと思いました。 ### 補足情報(FW/ツールのバージョンなど) swift4 X-Code10
回答: 直接自分でstoryboardで手動で繋いでいるんですか? しかも、TabBarControllerから。。。 よくわかりませんが、 TabBarControllerを適用したいなら、 新しく、singleViewでプロジェクトを作って Storyboardに移り、表示されているViewを選び、 メニューバーの「Editor → Embed in → Tab bar controller」 で行うようにすればできますよ。 さらにTabを増やすにはまずUIViewControllerを配置し、 Tab Bar ControllerからそのUIViewControllerにつなぎ、 「Relationship Segue → viewControllers」を選べば増やせます。 これを参考に適用したいviewで行ってみてください。 コードでの実現方法はGoogle先生に聞いてください