2013-08-29 41 views
45

URLからアプリを起動するときに、URLがアプリを新しく起動しているのか、アプリを再起動しているのかが区別されます中断状態。iOS:URLからアプリを「新しく起動する」デバッグする方法

私の質問は、「新鮮な打ち上げ」のプロセスをどのようにデバッグしますかからURLを入力してください。 Xcodeで "Run"を押すと、自動的にアプリが開きます。その後、Safariにアクセスしてテストサイトにアクセスするためにアプリを停止する必要があります。しかし、中断したアプリケーションを閉じると、Xcodeはそれに接続されなくなり、デバッグすることができなくなります。

答えて

47

これらの手順は、デバイスで実行できます。このlinkに設立されました。

  1. Xcodeからアプリを実行してデバイスにインストールし、Xcodeの を停止します。
  2. デバイスをアプリスイッチャーのUIから強制的に終了します。
  3. Xcodeでプロジェクトのスキームに移動します。実行 セクションの情報タブには、「実行可能ファイルが起動するのを待ちます」というラジオボタンがあります( )。 「自動」オプションの代わりに「 」が選択されていることを確認してください。
  4. Xcodeからアプリを実行します。デバイス上では は開かないが、デバッガはそれが開くのを待ってから が接続されます。

Marc-AlexandreBérubéが提案したシミュレータで。

  1. エミュレータでアプリを実行します。
  2. 強制的にシミュレータ上のアプリケーションを終了します。 cmd+shift+(hit h twice)を押します。アプリをスワイプします。
  3. 端末を開き、xcrun simctl openurl booted http://yourdomain/pathと入力します。
+3

iOSシミュレータを使用して簡単にテストできるように、ターミナルを使用して、 'xcrun simctl openurl booted http:// yourdomain/path'コマンドを貼り付けて、私たちが望むURL。 –

+1

しかし、私がそのようなアプリを起動するとすぐにXcodeがアタッチされません。つまり、URL解析/ルーティングコードのブレークポイントで停止したいときはどうすればいいですか? – fabb

+0

@fabb手順を正しく実行すると、URL解析でブレークポイントが発生します。 –

31

アプリを手動で起動するまでXcodeアプリの仕組みを設定する必要があります。 あなたのやり方は次のとおりです:http://blogmobile.itude.com/2013/09/03/how-to-debug-deep-linking-in-ios/

その後、起動URLをコピーしてMobile Safariに貼り付ける必要があります。これによりアプリが起動し、実行中のアプリプロセスにXcodeがアタッチされます。

+0

シミュレータでデバッグしている場合は、こちらを参考にしてください。Yuは保存されたウェブクリップのURLを編集することもできます。それらは〜/ Library/Application Support/iPhone Simulator/7.1-64/Library/WebClipsのplistです。 (必要に応じて7.1〜64を調整してください) –

+0

ありがとう!あなたは私の一日を救った! –

+0

ヒント:〜/ライブラリ/ Developer/CoreSimulator/Devices/{GUID}/data/Library/WebClipsにWebClipが見つかりました(Xcode 7.1.1/Simulator 9.1) –

関連する問題