從 XCode 3.26 轉換到 XCode 4 所會遇到的問題

XCode 4 推出一陣子了,不知道有多少人改用 XCode 4 ?就我自己覺得,XCode 4 嘗試的改變與進步太多了,連帶而來就會產生在 XCode 3 所不會遇到的問題,關於 XCode 4 的使用與介紹我會留待以後講,今天這篇主要是記錄我轉換到 XCode 4 的痛苦歷程XD。
XCode 4 相關的 bugs 不只我以下列出的這些,更多的 Bugs:這裡

一、無法切換 Provisioning Profile

在 XCode 3 之中,當我們遇到 Provisioning Profile 過期的時候,只要到 ADC 下載一個新的並且拖回 Organizer 覆蓋掉舊的即可從 Project Setting 中選擇新的 Profile (或是讓 XCode 3 自動幫你選擇),但是在 XCode 4 不管怎麼樣都會選擇你在 XCode 3 使用的那個 Profile ,這會導致你的程式無法順利安裝到手機上,大家都有這個困擾,所以網路上也有提供暫時的暴力解法:直接修改 PRJNAME.xcodeproj/project.pbxproj 裡頭有的變數("PROVISIONING_PROFILE[sdk=iphoneos*]")的值,而要改成什麼數值就依你的 Profile 而定(請參考下圖)。

二、神奇的錯誤:pngcrush caught libpng error: Not enough image data

因為 XCode 4 編譯時對圖片所做的檢查比以前還嚴格,所以原本沒有的錯誤就突然這樣冒出來了,第一次看到還真的是一頭霧水,解決方式也是非常神奇,只要用 Photoshop 打開有問題的圖檔,並且在儲存的時候選擇非交錯模式(Not interlaced)即可。

三、安裝 Mac OX 10.4 SDK

在 XCode 4 的時候,安裝選項已經移除了 10.4 SDK ,所以如果要使用到舊版的支援就必須再拿出 XCode 3.26 (好寶貴啊!)來重新安裝,選擇安裝在不同的資料夾下避免覆蓋,接著再透過 Symbolic link 來使用即可。