2013-10-04 42 views
279

我想知道如果有人能告訴我什麼Xcode是實際做時,它說:「處理符號文件」在您的設備插入後?處理符號文件在Xcode

Screenshot

+0

我不得不等待相當長的時間......大約30分鐘,在設備部署後成功。也許Mac正在花時間識別設備。 –

回答

261

它下載從設備(調試)的符號,因此它成爲可以調試與特定的iOS版本的設備同時也symbolicate是發生在那的iOS版本崩潰報告。

由於符號是CPU特定的,如果你已經導入的符號,不僅對特定iOS設備同時也爲特定的CPU類型以上纔有效。當前所需的CPU類型是armv7(例如iPhone 4,iPhone 4s),armv7s(例如iPhone 5)和arm64(例如iPhone 5s)。

因此,如果您想要用armv7s來描述發生在iPhone 5上的崩潰報告,並且只有該特定iOS版本的armv7符號,則Xcode將無法(完全)象徵性地顯示崩潰報告。

+19

我最近發現Xcode不會處理來自我的iPad2或iPhone4的符號文件。總是會停下來,永遠不會完成,甚至在半小時後也不會完成。最後,我開始工作......打開一個全新的連接線並將其直接插入我的Mac Mini(以前我已通過擴展電纜插入)。我得出結論,糟糕的連接真的與符號更新混淆。 – Ash

+5

那麼爲什麼不把這些符號與xcode分佈綁定呢?爲什麼要從設備中提取它們的所有麻煩? –

+3

所有體系結構的符號大小均大於1GB(iOS)版本,並且每個修補程序版本並不總是有Xcode更新。 Xcode只會更新API更新/更改。 – Kerni

0

它比較從設備中檢索到存檔(符號是正確的)應用程序的版本的崩潰日誌,試圖取回您的代碼崩潰發生的位置。

xcode symbol file location的細節

35

在Xcode中版本6.1.1(6A2008a),「處理符號文件」後,將含有與該設備相關聯的符號(包括IOS版本和CPU類型)的文件夾中的〜/庫/開發商/ Xcode中/ iOS的DeviceSupport創建/是這樣的:

enter image description here

+6

什麼是(null)(null)? –

+6

@AntonTropashko'(null)((null))'實際上。 –

+6

在我的情況下,「(null)((null))」包含......什麼都沒有! – Sjakelien

0

惱人的錯誤。我通過將電纜直接插入iPad來解決這個問題。出於某種原因,如果我在蘋果的傳遞站中使用iPad,流程將永遠不會結束。

+7

這不是一個錯誤,但一個「任務」Xcode正在處理你.. – Cesare

+3

這是一個錯誤,因爲它永遠不會如果我在展位上有它,那就完成了。 – GoldenJoe

+2

我認識到答案是表達不好,但它確實是適合我,直接連接到爲我解決的USB端口,儘管USB集線器工作正常任何其他任務 – jalone

18

Xcode的只是複製所有的崩潰日誌。如果您想加快速度:直接在此窗口中分析後刪除崩潰報告的數量。

Devices -> View Device Logs -> All Logs 

screenshot

+2

刪除所有日誌工作! –

+0

@QLiu好的。這似乎是錯誤,或日誌比預期的大。 – WINSergey

+0

@WoShiNiBaBa當然,它仍然在Xcode8上工作 – WINSergey

1

我知道,這不是一個技術解決方案,但我有我的iPhone通過電纜將計算機連接和斷開與電腦的設備,它(通過電纜再次)重新連接的工作因爲我無法用之前提供的解決方案來解決它。

+0

這可能是幸運的時機...或對你採取的其他行動的延遲反應。我斷開連接並重新連接,然後重新進入該模式,直至完成。 –

4

在我的情況symbolicating是採取永遠。我強制重啓我的手機與開/關和主頁按鈕。現在快速完成符號化,我開始通過xcode運行我的應用程序。

0

添加SDK版本對應到你的iPhone的iOS,例如:iOS的10.3

路徑:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport


它的下載。完成後,沒關係。如圖所示:

enter image description here