一連の通知拡張機能(サービス/コンテンツ)を構築しています。 Xcodeデバッガーに接続できず、デバイスのログやコンソールにログアウトすることさえできません。
何らかの出力を確認する方法はありますか?
私はブレンダンの回答に従って試みましたが、私のためにまったく働いていません!
コンソールでエラーが発生しています
Program ended with exit code: 0
次に、Googleで検索した後、 this answer をチェックしました。しかし、これもしばらくの間私のために機能しませんでした!
次に、現在実行中のアプリを停止した後、答えに示されているのと同じ手順をもう一度試しました。その後、同じ手順に従います。明確にするために、この手順を以下のように書いています。
拡張機能を含むアプリを実行した後、
1) Set your breakpoint in the extension
2) Select Debug / Attach to Process by PID or name
3) Enter the name of the extension target
4) Trigger the Push notification
ステップ2の前に、現在実行中のアプリを必ず停止してください。
これは、拡張機能のブレークポイントで停止し、拡張機能ログを表示するのに役立ちました:
Choose an app to run
Message from debugger: Terminated due to signal 9
になります。[pdate:デバイスでアプリを手動で終了する必要はないようです。機能しない場合は、どちらかの方法を試してください。 ]Debug > Attach to Process by PID or Name
を選択します私の場合、上記のすべての方法にはいくつかの間違いがありました。要点は、Pushを1回送信し、デバッガーを介して接続し、Pushをデバッグに送信する必要があることです。したがって、完全なリスト:
アプリを起動します(拡張機能ではありません)。
XCodeからアプリを停止します。
ワンプッシュを送信します。
「PIDまたは名前によるプロセスへの接続...」を介して、拡張プロセスに接続します。
別のプッシュを送信します。
これが役立つかどうかはわかりませんが、同じアプリの複数のビルド(アルファ版、ベータ版など)があります。デバッグしようとしたときに「アタッチする権限がありません」というエラーが表示され続けました。プロセスリストを開くと、notification-extension
という名前のプロセスが2つあることに気づいたので、xcodeは他のビルドの1つにデフォルト設定されていたはずです。適切なものを手動で選択するか、携帯電話から他のビルドを削除することで、物事が再び機能し始めました。
私のために働いた唯一の方法は、ログを表示することでした。 Xcode 10.1を使用します。ログは、[ウィンドウ]-> [デバイスとシミュレーター]->デバイスを選択-> [コンソールを開く]をクリックします。このようにして、拡張機能からのログも見ることができました。