138

私は現在、プッシュ通知を受信するアプリを開発しています。私はこれをすべてPHPページで100%機能させています。アプリが受信できるプッシュ通知にはいくつかの種類があります。PHPはこれを処理し、さまざまな情報パケットをアプリに送信します。これらのパケットはすべて正常に受信されます。

ただし、ユーザーが通知を「表示」してアプリを起動するときは、ユーザーがアプリを手動で起動した場合とは明らかに異なるアクションを実行したいと思います。さらに、プッシュ通知の種類に応じて異なるアクションを実行します。私はこれをうまく機能させました...構造的に。

私のプッシュタイプの1つは、いくつかの異なるサーバーへの複数の接続を確立し、データを相互にネゴシエートするUIViewを開くことになっています。このUIViewは、たとえばメインメニューからトリガーされた場合は正常に機能しますが、プッシュ通知によってこのUIViewが表示されるようにトリガーされている場合、ソケット接続は期待どおりに機能していません。

さて、私の質問はソケットについてではなく、もっとそうです-そのような問題をどのようにデバッグしますか?プッシュ通知からアプリを起動したときに私が知ることができることから(私は比較的新しいです)、その実行をデバッガー/コンソールなどにリンクする方法はありません...私はを使用してコードをデバッグしようとするのに非常に苦労していますUIAlertViews、さまざまなサーバー間でやり取りされる多くの通信回線があるため。

何かアドバイスをいただければ幸いです。

4

6 に答える 6

147

Xcode <4.0(Xcode> = 4の場合、以下のdelirusによる回答を参照)では、デバッガーを介してアプリを起動する代わりに、起動後にデバッガーをアプリに接続するようにXcodeを構成できるようになりました。これにより、URLスキーム、ペーストボード、プッシュ通知など、アプリケーションの起動状態に基づいて変化するものをデバッグできます。

  1. Xcodeでソースバーを確認すると、ターゲットの下に実行可能ファイルが表示されます。
  2. 実行可能ファイルでアプリのインスペクターを起動します。
  3. インスペクタの[デバッグ]タブタブをクリックします。
  4. 「デバッガの起動後に実行可能ファイルを起動する」のチェックを外します
  5. 「次の起動/プッシュ通知を待つ」を確認してください

これで、アプリを起動する代わりにXcodeからデバッグをクリックすると、アプリの起動を待機していることを示すウィンドウが表示されます。次に、電話で通常どおりアプリを起動すると、Xcodeがアプリに接続します

于 2009-08-06T15:10:17.437 に答える
124

Xcode 4の場合、次のことを行う必要があります。

  1. [スキーム]ドロップダウンからアクティブなスキームを編集します。((⌘</kbd>+<)
  2. 製品を選択するよりも-左側の「MyApp.appを実行」。
  3. 右側の[情報]タブを選択します。
  4. そして最後に「MyApp.appが起動するのを待つ」オプションを選択します。

詳細については、「スキームエディタで実行可能ファイルをカスタマイズする」セクションを参照してください。

編集:
GDBのログを見逃した場合は、LouisGerbargの回答に対するコメントを参照してください。

于 2011-06-23T08:59:13.237 に答える
114

Xcode 10、9、8、7、および6の場合:

  1. ツールバーのスキームを選択します(デバッグしているデバイスのすぐ左)
  2. スキームの編集を選択
  3. 左側のパネルで[実行]を選択します
  4. [起動]オプションで、[実行可能ファイルが起動されるのを待つ]を選択します
  5. スキームエディタを閉じて、Xcodeプロジェクトを実行します

通知、カスタムURLから、またはアプリアイコンをタッチして、起動時にデバッグできるようになりました。

于 2015-04-24T17:31:45.500 に答える
3

私はプッシュ通知を使用していないので、プッシュ通知の正確な動作がわかりません。ただし、可能であれば、プログラムのメインメソッドに通知が投稿されたように見せかけるか、applicationDidFinishLaunching:メソッド内からapplication:didFinishLaunchingWithOptions:UIApplicationDelegateメソッドを呼び出すことで、プッシュ通知の受信を模倣してみます。

HTH-乾杯、ダーン

于 2009-08-06T14:12:50.007 に答える
3

Xcode 6の場合:

  1. iPhoneをUSBでMacbookに接続する
  2. アイコンをタップしてiPhoneでアプリを起動します
  3. Xcodeメニューで、Debug>>Attach to Processアプリを選択します
于 2015-04-14T16:18:39.920 に答える
2

Xcode 11および10の場合、次のことができます。

  1. スキームオプションを選択します。

  2. [スキームの編集]を選択します。

  3. 左側のパネルから[実行]オプションを選択します

  4. 起動部分で、実行可能ファイルが起動するのを待つを選択し、ダイアログを閉じます。

  5. プロジェクトをビルドして実行します。これで、アプリアイコンをタップするか、通知メッセージをタップしてアプリを起動できます。

于 2019-10-10T23:42:33.567 に答える