2009-01-17 93 views
8

我正在爲iPhone開發一個應用程序,但我想這個問題在Mac上是一樣的。 您的應用程序在通過其URL方案啓動後調試應用程序狀態的方法是什麼?如何開始使用自定義URL方案來調試應用程序?

+0

尤其是我說的是到達斷點的AppDelegates內 - (BOOL)申請:(UIApplication的*)應用handleOpenURL :(NSURL *)url 方法? – stigi 2009-01-17 22:26:01

回答

21

有調試時,它從外部URL啓動應用程序的方式:

  1. 設置一個斷點,你想讓它在application:handleOpenURL:application:didFinishLaunchingWithOptions:
  2. 在Xcode中,編輯主動可執行文件的設置。在調試選項卡上,選擇「等待下一次啓動/推送通知」複選框。
  3. 構建和調試。控制檯會給你一條警告,提示「正在等待[AppName]啓動...調試器將在下次啓動時附加到[AppName]。」
  4. 通過調用自定義URL或向其發送推送通知來打開您的應用程序。調試器將停止在您的斷點處。
+0

謝謝,在一個月前找到了自己的答案,但忘了發佈在這裏。回答,檢查! – stigi 2010-04-26 10:16:32

2

實際上,我認爲在Mac上會比在iPhone上完全不同,因爲您可以在Mac上打開應用程序並調用URL方案,而在iPhone上,您需要退出應用程序以打開另一個應用程序調用URL方案。

你可以嘗試的是添加一個調試按鈕到你的用戶界面,它允許你從正在運行的應用程序內調用URL方案(調用-openURL:在NSWorkspace上)。無論您的應用在URL模式發送時是打開還是關閉,這在理論上都應該是一樣的。

+0

謝謝,我也認爲多數民衆贊成的方式去.. – stigi 2009-01-18 18:24:12

2

我在Xcode 8.2.1上,最快的方法是簡單地轉到產品 - >編輯方案,然後選擇「等待可執行文件啓動」,如下圖所示。開始調試時,它不會啓動應用程序,而是「等待」APP「啓動..」。當一個動作(點擊推送通知),斷點會踢

enter image description here