アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【XcodeSwift
【Xcode】SwiftUIコード上でUse of undeclared typeと怒られる場合
POSTED BY
2023-05-23

Swift UIベースのプロジェクトにおいて、別ファイルでSwift UIを使わない汎用クラスを作成

例)BLEを扱うクラスMyBLE.swift

import Foundation
import CoreBluetooth
class MyBLE: NSObject, CBCentralManagerDelegate ,CBPeripheralDelegate {

}

と作成して、メインのContentView.swiftにて

import SwiftUI

struct ContentView: View {
    let myble: MyBLE

と宣言した場合、「Use of undeclared type」=そんな型は存在しない=とエディタでエラー表示が出る場合がある。
しかしそんなはずは無く、ちゃんと作成しているので、コンパイル・ビルドは問題無く通る。しかしエラーは気持ち悪い。

<解決法>

Xcode→Preferences→Locationsを選択し、

Derived Dataの下にある超薄いグレー表示のパスにある右矢印をクリックする。
例)/Users/hogeuser/Library/Developer/Xcode/DerivedData → ここをクリック

するとFinderでウインドウXcodeが開いて、DerivedDataフォルダがあるので、右クリックで「ごみ箱に入れる」

エラーの出ていた該当プロジェクトを閉じて、もう一回開く。

エラーは消えているはずである。

または、上記で消すべきパスの答えは出ているので、ターミナルで

rm -Rf /Users/hogeuser/Library/Developer/Xcode/DerivedData

としてしまってもよい。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】