2014-02-21 28 views
2

我認爲我剛剛進入了一個大新手的錯誤。如何正確構建iOS Xcode項目以進行多路調試

這是我的問題:我開發了兩個iOS應用程序(客戶端和服務器)。客戶端和服務器項目都嵌入了另外兩個項目共同的子項目。

的結構是這樣的:

Client 
+ subproject (logger) 
+ subproject (multipeer session manager) 

Server 
+ subproject (logger) 
+ subproject (multipeer session manager) 

我試圖在同一時間調試客戶端和服務器項目 - 但Xcode的不喜歡具有相同項目開盤兩次(我需要),所以我不得不忙於關閉/打開/編譯等等。雖然我可以同時操作兩個應用程序(模擬器和設備),但我打開的最後一個項目無法訪問子項目(因爲它們已經打開),所以我只能一次調試一個(儘管我可以看到兩者都有日誌輸出)。我能做些什麼來重組我的環境,以便我可以同時調試這兩個應用程序?

回答

0

你是說客戶端和服務器是兩個不同的項目?然後,您可以逐個打開這兩個項目,並在兩個不同的iOS設備上運行它們(或者在iOS設備上的另一個模擬器上運行它們)。 如果你想啓動兩個模擬器,這似乎是不可能的。

+0

對不起,我的問題有點不清楚,希望編輯有幫助。是的,客戶端/服務器是兩個獨立的項目 – 300baud

-1

如果你只有一個MAC(聽起來)只有最後一個推出將能夠登錄到xcodes調試..

那麼也許你可以制定出另一種方式來記錄比NSLog的。 也許你有一臺Apple TV,你可以在上面放置一個臨時的第二屏幕Airplay視圖控制器用於記錄。否則,可能在iPad或iPad模擬器上的splitviewcontroller?

+0

喜歡你的建議,但傻眼了爲什麼我沒有想到它 - 我確實有一臺MacBook,所以我會挖掘並使用它 - 在我買了一個更大的桌子後: ) – 300baud

+0

嗯,有人不喜歡它:(很高興成爲服務 – Jef

1

XCode不支持在兩個窗口中打開相同的項目。

在這裏我有一個建議,使logger project,multipeer session manager兩個靜態庫項目。 Server項目包含兩個項目,目標取決於由兩個庫項目建立的.a文件。然後Client項目爲兩個.a文件添加引用。因此,在運行Server項目時,將爲Client項目新建兩個.a文件,然後直接使用.a文件運行Client項目;

+0

可能是一個愚蠢的問題,但如果我走這條路,並創建靜態庫,我可以跟蹤代碼? – 300baud

+0

是的,你可以,但仍然只人們可以在任何時候訪問調試記錄器,這只是爲代碼添加了另一層抽象 – Jef