1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Xcode】アプリ(プロセス)Kill後の起動をデバッグする方法

Posted at

概要

アプリのプロセスをkillした状態から、様々な方法でAPPを立ち上げる時の挙動をBreakpointを差し込んでデバッグしたい場合がありました。
ただ、Xcodeのデフォルト設定ではアプリをビルドするとすぐにアプリが立ち上がってしまうため、DeepLinkやPush通知からの起動をデバッグできません。
今回はこの解決方法をまとめておきます。

方法

スクリーンショット 2025-03-02 15.18.23.png
まずProject name > Edit Schemeを選択

スクリーンショット 2025-03-02 15.18.45.png

続いてRun > Info > Launch を "Wait fot the executable to launched"にします。
これにより、Xcodeはアプリがシステムによって起動されるまでデバッガを待機するようになります。
(= デバッガがアタッチされ、デバッグ可能になってからアプリが起動するようになります)

以上で設定は完了です。

あとは、シミュレータ上でアプリを上にスワイプしてkillしましょう。
そしていつも通りビルドを実行してください。

すると
スクリーンショット 2025-03-02 16.44.12.png
このように、デバッガのアタッチを待っている状態になります。
あとはデバッグしたい起動方法でアプリを起動すると、しっかりBreakpointでとまってくれます。

使いどころ

1. Deeplink(カスタムURLスキームやユニバーサルリンク)でのアプリ起動のデバッグ

  • Deeplinkを開いたときに、scene(_:openURLContexts:)(SceneDelegate)や application(_:open:options:)(AppDelegate)が正しく動作するかを確認したい場合

2. プッシュ通知でのアプリ起動のデバッグ

  • フォアグラウンド / バックグラウンド / kill状態の各パターンで通知をタップしたときの動作を確認する
  • userNotificationCenter(_:didReceive:withCompletionHandler:) やdidFinishLaunchingWithOptions 内の処理が期待通り動くかチェックしたい場合

おわり

モバイルアプリ開発は、バックエンドとか以上にエディタの使いこなしも大切になってきますよね...
今度この記事のAndroid版(Android Studio版)も書こうかな。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?