R.generated.swift No such module 'プロジェット名' エラーの対処について


R.generated.swift:10:8: No such module 'プロジェット名'エラーの対処について

R.Swiftを導入して、リソース管理していましたが、Configrationをいじった後、上記エラーが出てしまう。

確かに、Configurationsにて既存のDebugとRelease以外にStagingと言うConfigurationsを追加してので、色々設定したので、その周りに問題があったか、調べたが、気になる所は見つからず...

Releaseモードでは上記エラーが無く無事にコンパイルされるが、DebugモードとStagingモードに切り替えてコンパイルすると、必ず、R.generated.swift:10:8: No such module 'プロジェット名' と言うコンパイルエラーが出てしまう。

一応、問題が発生するR.generated.swiftが生成する時、Releaseモードでは、import 'プロジェット名'が追加されないが、DebugモードとStagingモードでは自動に追加されるのだ。

ちらっとググって見ると、以下のように事例があるようですが、今度の問題と違うよう。。。
https://github.com/mac-cain13/R.swift/issues/326

暫くウロウロしてから、ついに、生成されるR.generated.swiftに目を通すようにした。

まず、'プロジェット名'をキーワードをして、R.generated.swift内部を検索して見たら、
複数のクラスの前に追加されたことがわかった。

R.generated.swift
import Foundation
import Rswift
import UIKit
import 'プロジェット名'

// ... ...

/// Segue identifier `toProduct`.
static let homeToProduct: Rswift.StoryboardSegueIdentifier<UIKit.UIStoryboardSegue, HomeViewController, 'プロジェット名'.ProductViewController> = Rswift.StoryboardSegueIdentifier(identifier: "toProduct")

// ... ...

なぜ、他のViewControllerクラスにはこのようクラス名前に、こんな'プロジェット名'がついてないか、直接、ProductViewControllerのストリボードを確認。すると

問題が起こすクラスにチェックがついてないまま、つまり、ビルド時洗濯されたConfigrationより生成されるモジュール名が異なる様に設定すると、ここにも影響がでることだった。

さっさと、Inherit Module From Targetにチェックを入れ、ビルドを掛け直してみる。

Release,Staging,Debug 全部生成されるR.generated.swiftに
import 'プロジェット名'追加されなくなり、クラス前にも'プロジェット名'.が消えて、無事ビルドに通った。

やった!

iOS、Androidアプリの制作なら、[email protected]まで、
法人並みに、信頼且つ満足できる製品を納品いたします