最近在看Xcode裡面Report Navigator的訊息,發現有一個問題重複出現,查詢了一下,發現很多人都有這問題,而這疑似是一個bug,放著不管其實也不會有什麼問題,但如果嫌他礙眼,還是可以解決的。
雖然這不是一個迫切的問題,但隨之可以學習到更進一步的debug技巧,何樂而不為?
以下將說明如何尋找到bug所說的物件(如果不想看,也可以直接看這篇連結的文章):
在Report navigator裡面會回報每一次run的結果,裡面包含許多錯誤訊息或是警告訊息,如果是跟某一個UI物件有關,比方說
你在storyboard或是xib裡面拉出來的label通常會是上面那張圖片的結果,但是這就會造成warning,你必須把他設成0(而這表示你的佈署target是8.0之前的版本),此時旁邊的explicit會checked。或是你將deployment target改成8.0以上。
可是要找到是哪一個物件,並不是那麼好找,此時一樣在Report navigator裡面同樣的訊息,點開一下,你會發現在warning: Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0 這一串字前面,有一些字符
而這些字符就表示物件的ID,我們可以憑此名稱去找到指定的物件。
打開你的storyboard或是xib,點選任何一個UI,然後在右邊的identity inspector下方可以找到該UI的物件的ID。這樣就能確定到底是哪一個物件了,不致於讓你像是無頭蒼蠅一樣的亂改一通。
雖然這不是一個迫切的問題,但隨之可以學習到更進一步的debug技巧,何樂而不為?
以下將說明如何尋找到bug所說的物件(如果不想看,也可以直接看這篇連結的文章):
在Report navigator裡面會回報每一次run的結果,裡面包含許多錯誤訊息或是警告訊息,如果是跟某一個UI物件有關,比方說
Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0像這樣的錯誤主要是由於Label的preferred width造成的:
你在storyboard或是xib裡面拉出來的label通常會是上面那張圖片的結果,但是這就會造成warning,你必須把他設成0(而這表示你的佈署target是8.0之前的版本),此時旁邊的explicit會checked。或是你將deployment target改成8.0以上。
可是要找到是哪一個物件,並不是那麼好找,此時一樣在Report navigator裡面同樣的訊息,點開一下,你會發現在warning: Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0 這一串字前面,有一些字符
而這些字符就表示物件的ID,我們可以憑此名稱去找到指定的物件。
打開你的storyboard或是xib,點選任何一個UI,然後在右邊的identity inspector下方可以找到該UI的物件的ID。這樣就能確定到底是哪一個物件了,不致於讓你像是無頭蒼蠅一樣的亂改一通。
後記
在我所附的連結裡面,有一段是蘋果工程師解釋的理由,在他的說明中有提到,這個警告會出現,必須滿足三個條件:- 使用autolayout
- 針對多行的label設定Automatic
- Deployment target < 8.0
留言
張貼留言