2017-05-02 38 views
0

我嘗試調試我的Today Extension。當我在我的設備上運行Today Extension的方案時,我可以看到所有NSLog。但到目前爲止,所有斷點都被忽略。主機應用程序可以正常調試。今天擴展斷點沒有在Xcode 8.3.2中觸發

這意味着我已經將我的Today Extension目標附加到調試器。

我已經嘗試刪除DerivedData文件夾。 我已經嘗試重置我的Xcode默認值。

break list返回設置的所有斷點。

任何想法?

+0

只選擇今日擴展架構,並把斷點和運行應用程序,然後它會趕上debuger –

+0

不,這是行不通的。只是日誌顯示出來。 – sn3ek

+0

嘗試像這一步一步先運行應用程序與主機的應用程序後,一旦運行應用程序完成,然後停止並再次選擇今天擴展架構,並設置在視圖中的斷點負載或視圖將出現並運行應用程序,它會打開應用程序與今天擴展和趕上debuger –

回答

0

當我開發今天的擴展,我調試它是這樣的:

1)我跑我的應用程序在設備上

2)調試>附加的PID或名稱來處理>類型my_process_name(見截圖)

3)單擊附加,然後它的工作

enter image description here

+0

不,不起作用。我用Xcode 8.3.2和Xcode 8.2.1試了一下。 – sn3ek

0

我能找出問題所在:

有必要將每個源文件添加到今日擴展目標。否則,調試器不可能在我的情況下找到斷點。 但是這個變化更加複雜。由於我們目前的架構。但是現在我知道Xcode適用。

+0

如果你的擴展缺少它需要的文件,你可能無法編譯它,或者如果你這樣做了,它會崩潰。調試器無法成爲問題。如果您正在討論擴展不需要的文件,那麼就沒有任何理由將它們包含在擴展目標中。 –

+0

我沒有寫這個擴展的代碼。這個架構與我預期的完全不同。沒有丟失的文件。它們被封裝,因此通常不可能調試今天的擴展。主機應用程序也不包含這些文件。所以我需要一種新的調試方法。但這與這個問題無關。 – sn3ek