LoginSignup
0
3

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-11-15
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のストリボードを確認。すると

test.png

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

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

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

やった!

iOS、Androidアプリの制作なら、hq7781@gmail.comまで、
法人並みに、信頼且つ満足できる製品を納品いたします

0
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3