ViewInspector でビルドが通るのにシミュレーターがクラッシュする
SwiftUI 用のUIテストを行うためのFW,”Viewinspector”のインストールでビルドが通るのにアプリ起動時にクラッシュする現象が出たため、解決策を記録しておきます。
下のようなエラーが出た。XCTestが使えないらしい。
'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/XCTest.framework/XCTest' (no such file)
Library not loaded: @rpath/XCTest.framework/XCTest
原因
結論、ViewInspectorのパッケージのターゲットが間違っていた。
どうやら、メインスキームにこのパッケージを紐づけるとエラーになるようです。
解決策
パッケージのターゲット先を変更したら動作しました。
podを使っていましたが、なぜかターゲットを先を変えてもうまくいかなかったため、SPM(swift package manager) でのインストールにしました。
TARGETS>(testScheme)/Build Phases/Dependenciesにviewinspectorの追加と、同様にメインスキームからの削除を行えばエラーが出ず使えるようになります。
ちなみに、podでは下のような感じでうまくいくと思ったのですが、テスト用スキームでviewInspectorを読み込めず断念しました。。。(なぜか教えていただきたい。)
target 'YourApp' do
use_frameworks!
pod 'RealmSwift', '10.28.5' #プロジェクトに必要なパッケージ等
end
target 'YourAppUITests' do
use_frameworks!
pod 'ViewInspector', '0.9.1'
end