SwiftUIを使用するxcode 11の時点では、単体テストでコードカバレッジを有効にし、プレビューが機能するようにするのは非常に困難または方法がないように見えます。
これは私がやったことです:
そしてこれはエラーです:
リンカーコマンドが終了コード1で失敗しました(-vを使用して呼び出しを確認してください)
failedToBuildDylib:ld:警告:オプション '-F/Applications/Xcode.app/Contents/SharedFrameworks-iphonesimulator'のディレクトリが見つかりませんアーキテクチャx86_64の未定義のシンボル: "___llvm_profile_runtime"、参照元:Pods_RadioDemo(Pods-RadioDemo.dummyの___llvm_profile_runtime_user o)(おそらく意味:___llvm_profile_runtime_user)ld:アーキテクチャx86_64のシンボルが見つかりませんclang:エラー:リンカーコマンドが終了コード1で失敗しました(-vを使用して呼び出しを確認してください)
この問題を回避するには、コードカバレッジをオフにします。明らかにそれは私が探しているものではありません。プレビューとコードカバレッジの両方を使用して、完璧な世界に到達する方法を教えてください。ありがとう。
ここで参考にしてください:
https://github.com/parse-community/Parse-SDK-iOS-OSX/issues/1159#issuecomment-35771155
善人ティムムは非常に類似した問題についていくつかの洞察を持っていました。
私もその問題に悩みました。この問題を解決するには、-fprofile-instr-generate
からBuild Settings > Linking > Other Linker Flags
。
このフラグは、カバレッジ出力に使用されるオプションです。私の環境でこの設定を使用すると、カバレッジを有効にしながらプレビューを有効にすることに成功しました。
Objective-Cプロジェクトで同様の___llvm_profile_runtime_userエラーが発生しました。
これは、私のアプリで使用されているフレームワークの1つが、コードカバレッジをオンにして構築されていたためです。 (「デバッグ」構成で個別にビルドされました。現在のプロジェクト/ワークスペースではビルドされませんでした。)
アプリのスキームで同じ設定をオンにしてXcodeを幸せにしました:スキームの編集->テスト->オプション->コードカバレッジ