web-dev-qa-db-ja.com

Xcode9.2シミュレータのデバッグが壊れています。プロセスIDにアタッチできませんでした

IOSシミュレータでのXcode9.2のデバッグは完全に壊れています。

私はこれに何時間も取り組み、ハードドライブを完全に消去して、オペレーティングシステムの新規インストールから始める以外に、たくさんの提案を試みました。私は結局Appleにバグを提出した。誰かがこの問題に遭遇し、何か提案がある場合に備えて、ここに投稿してください。

概要:
デバッグ実行可能ファイルを使用してデバッグモードでビルドおよび実行しようとした場合。シミュレーターはアプリケーションを白い画面で開くだけで、Xcodeはエラーをポップアップします:

Could not attach to pid: "<a process id>"
Ensure "<app>" is not already running, and "<user>" has permission to debug it.

再現手順:
任意のプロジェクトを作成し、任意のシミュレーターで実行してみてください。

期待される結果:
デバッガーがデバッガーに正常に接続します。

実際の結果:
デバッガーは、デバッグのためにiOSシミュレータープロセス/アプリにアタッチできません。デバッガーは、物理デバイスに接続してビルドし、正常に実行できます。

バージョン/ビルド:
-Xcodeバージョン9.2(9C40b)
-macOSSierra 10.12.6
-iOSプロジェクト
-iOSシミュレーター

その他の注意事項:
-この問題がランダムに開始されるまで、Xcode9.2は正常に機能していました。エラーは最初に言った:

 Failed to initiate service connection to simulator
 DTServiceHubClient failed to bless service hub for 
 simulator iPhone 8 Plus <simulator identifier>

-コンピュータを再起動した後、エラーは「pidに接続できませんでした...」にシフトしました。

コンピュータを完全に消去する以外に、いくつかの提案された解決策を試しました:

  • シミュレータでのデバイスの内容と設定のリセット
  • 新しいデバイスを作成します(異なるデバイスとOSの組み合わせでも)
  • 単純な1回限りのシングルビューアプリケーションでも、さまざまなXcodeプロジェクトを試してください
  • Etc/hostsファイルを見て、ローカルホストにpingできることを確認します
  • コンピュータを複数回再起動する
  • 派生データの削除(複数回)
  • デバッガーをアタッチせずにビルドして実行し、「プロセスIDにアタッチ」してデバッガーをアタッチしてみます
  • Xcodeとすべてのシミュレータを完全にアンインストールし、再インストールします。
  • キーチェーン内の無効な証明書を削除する

enter image description here

enter image description here

9
n8tr

セキュリティソフトウェアがデバッガをブロックしていたことがわかりました。ランニング Sudo sysdiagnoseブロックされていることを示すログエントリを見つけるのに役立ちました。ソフトウェアはCb Defense(Carbon BlackDefense)です。どうやら唯一の回避策は、セキュリティチームがハッシュでホワイトリストに登録することであり、そのハッシュは将来変更される可能性があります。

5
n8tr

Xcode 9.0-9.2にはバグがあり、しばらく実行するとこの問題が発生します。ログアウトして再度ログインすると、問題が解決するはずです。

2
russbishop