【修改】
在發布該部落格後幾天,蘋果公司發布了xcode6.0.1,在筆者更新了xcode到6.0.1後,發現,除了在下文中提到的xcode6模擬器路徑的變更還依舊如部落格所寫之外,應用程式的路徑、document路徑、library路徑、tmp路徑,甚至nsuserdafults的路徑,都回到了xcode6之前,或許是蘋果在發布xcode6之後,遭到了開發者的集體吐槽,表示不適應後,進行了更改。
【原文】
xcode6發布後,出現了很多的變動,功能性的變動,在這裡不進行過多的贅述,在wwdc上蘋果已經進行了講述,網上也有很多文章,這裡要介紹的是一些不太容易發現的,但很重要的小地方。
1、xcode6模擬器路徑的變更
在開發中,建議將檔案拖動快捷路徑到finder左側個人收藏下,可以方便開啟檢視應用沙盒。
在xcode6中,將模擬器的位置進行了變更,位址如下:/users/username/library/developer/coresimulator,開啟後會發現如下情況:
在這裡,蘋果對模擬器進行了編碼處理,並不是以模擬器系統版本進行的命名和分類,而是對xcode6中所有的模擬器進行的區分,裡面的16個資料夾分別對應的xcode6中的16種模擬器
那如何根據這個看似亂碼的資料夾,判斷出是哪一款模擬器呢?
2、應用沙盒位址的變更
得到了模擬器路徑後,還是用很多的不同的,應用的沙盒位址也和之前有所不同。
在開啟應用沙盒後,會有應用程式檔案、document資料夾、library資料夾、tmp資料夾。至於這幾個資料夾的作用不在此做贅述。
3、nsuserdefault 檔案儲存位置變更
nsuserdefault是ios提供的本地化資料儲存方式,會在沙盒中自動建立乙個.plist的配置檔案,將資料儲存起來,在讀取時,以nsdictionary字典來進行接收
在xcode6中,程式對使用nsuserdefault方式建立的plist檔案的位置進行了更換,具體路徑為:/users/username/library/developer/coresimulator/devices/模擬器udid/data/library,preferences資料夾下。
這裡特別說一下,如果按照在finder裡開啟的路勁來看,並不是這樣的,但通過 finder,前往資料夾,通過該路徑查詢是可以查到的。上述的路徑位址是通過檢視preferences資料夾的顯示簡介獲得的。
通過上述的路徑可以看出,通過nsuserdefault建立的plist資料夾還是在library檔案下,但不同的是,真正存放的位置變了,成了在模擬器的資料庫資料夾下,這樣的改變所產生的變化就是,當我們在刪除模擬器中的應用程式後,plist檔案還是會保留,並不會刪除。
那麼,既然模擬器中的位置變了,那公升級到ios8後,在這方面有什麼不同呢?下面就說說在在真機中除錯的不同。
1、organizer中,在xcode5中,是devices、projects、archives三欄,而在xcode6中,單獨將devices拿了出來,成了和organizer平級的,在xcode選單欄,window下。如果了解過xcode從4.x公升級到5時,就會知道,organizer在那個時候也變更過,從原來的四欄變成了三欄,將幫助文件移除了。
我們通過第三方的軟體,在這裡使用的是ifunbox,找到應用程式後,開啟發現可以檢視到沙盒的內容,複製到本地後,發現,原本的5個檔案,只有3個,也就是document資料夾、library資料夾、tmp資料夾三個。
這裡特別說一下,上述提到過的,在模擬器中,通過nsuserdefault自動建立的plist檔案,在刪除軟體後,還會保留,但在真機中,也是會刪除的,相應的plist檔案的路徑到了通過匯出的library資料夾下的preferences資料夾下,刪除應用程式後,不會保留。這應該算是乙個真機和模擬器中的不同。
這個不同會造成一種情況,那是否還可以使用nsuserdefault?就筆者目前來看,還不至於廢棄nsuserdefault,畢竟它只是在模擬器中會出現刪除應用保留的情況,在真機中不會,而且nsuserdefault在開發中,作為資料持久化,在儲存資料時,還是很好用的。當然了,也有開發者會不適應這種情況,擔心在真機中會出現,如果有開發者認為不適應的話,可以自己建立乙個plist檔案在沙盒中,代替,但是如果說應用中使用的nsuserdefault比較多的話,不建議這樣,畢竟蘋果封裝的nsuserdefault還是很好用的。可以在模擬器刪除檔案後,在儲存plist檔案的資料夾下,將plist檔案刪除即可,多個步驟而已,至少目前來看,在真機中還是和之前一樣的。
當然,在ios中,除了nsuserdefault會系統自動生成檔案進行資料儲存外,歸檔也是一樣的,由於筆者沒有進行測試,為了避免誤導,這裡就不說了,待測試後,進行總結發布。
ps:最後補充一下,開啟或關閉mac的隱藏檔案的命令。
方法:在終端中,輸入該命令,回車,然後在強制退出中,重啟finder,即可。
xcode6模擬器路徑
1 xcode6模擬器路徑的變更 在xcode6中,將模擬器的位置進行了變更,位址如下 users username library developer coresimulator,開啟後會發現如下情況 在這裡,蘋果對模擬器進行了編碼處理,並不是以模擬器系統版本進行的命名和分類,而是對xcode6中...
Xcode6模擬器路徑
xcode6發布後,出現了很多的變動,功能性的變動,在這裡不進行過多的贅述,在wwdc上蘋果已經進行了講述,網上也有很多文章,這裡要介紹的是一些不太容易發現的,但很重要的小地方。在開發中,建議將檔案拖動快捷路徑到finder左側個人收藏下,可以方便開啟檢視應用沙盒。在這裡,蘋果對模擬器進行了編碼處理...
Xcode6模擬器路徑變更說明
xcode6發布後,出現了很多的變動,功能性的變動,在這裡不進行過多的贅述,在wwdc上蘋果已經進行了講述,網上也有很多文章,這裡要介紹的是一些不太容易發現的,但很重要的小地方。1 xcode6模擬器路徑的變更 在開發中,建議將檔案拖動快捷路徑到finder左側個人收藏下,可以方便開啟檢視應用沙盒。...