web-dev-qa-db-ja.com

未定義のシンボル___llvm_profile_runtime

SwiftUIを使用するxcode 11の時点では、単体テストでコードカバレッジを有効にし、プレビューが機能するようにするのは非常に困難または方法がないように見えます。

これは私がやったことです:

  1. Xcodeでターゲットを選択->「スキーマを編集」
  2. [テスト]タブを選択し、[オプション]タブで[一部のターゲットのコードカバレッジを生成する]を選択します(メインターゲットのみを選択)
  3. SwiftUIファイルに移動すると、プレビューが次のエラーで機能しなくなります。ただし、ビルドオプションは問題なく使用できます。

そしてこれはエラーです:

リンカーコマンドが終了コード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

善人ティムムは非常に類似した問題についていくつかの洞察を持っていました。

8
UndergroundFox

私もその問題に悩みました。この問題を解決するには、-fprofile-instr-generateからBuild Settings > Linking > Other Linker Flags

このフラグは、カバレッジ出力に使用されるオプションです。私の環境でこの設定を使用すると、カバレッジを有効にしながらプレビューを有効にすることに成功しました。

13
AkkeyLab

Objective-Cプロジェクトで同様の___llvm_profile_runtime_userエラーが発生しました。

これは、私のアプリで使用されているフレームワークの1つが、コードカバレッジをオンにして構築されていたためです。 (「デバッグ」構成で個別にビルドされました。現在のプロジェクト/ワークスペースではビルドされませんでした。)

アプリのスキームで同じ設定をオンにしてXcodeを幸せにしました:スキームの編集->テスト->オプション->コードカバレッジ

3
Walt Sellers