一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Xcode6 模擬器路徑

 沒原創(chuàng)_去搜索 2015-08-31
  Xcode6發(fā)布后,出現(xiàn)了很多的變動,功能性的變動,在這里不進(jìn)行過多的贅述,在WWDC上蘋果已經(jīng)進(jìn)行了講述,網(wǎng)上也有很多文章,這里要介紹的是一些不太容易發(fā)現(xiàn)的,但很重要的小地方。
         1、Xcode6模擬器路徑的變更
          在Xcode5和之前的版本中,Xcode的模擬器路徑為:/Users/username/Library/Application Support/iPhone  Simulator。在該文件夾下,可以查看到所有的模擬器版本,點進(jìn)去后,可查看應(yīng)用沙盒情況。
在開發(fā)中,建議將文件拖動快捷路徑到Finder左側(cè)個人收藏下,可以方便打開查看應(yīng)用沙盒。
        在Xcode6中,將模擬器的位置進(jìn)行了變更,地址如下:/Users/username/Library/Developer/CoreSimulator,打開后會發(fā)現(xiàn)如下情況:
        在這里,蘋果對模擬器進(jìn)行了編碼處理,并不是以模擬器系統(tǒng)版本進(jìn)行的命名和分類,而是對Xcode6中所有的模擬器進(jìn)行的區(qū)分,里面的16個文件夾分別對應(yīng)的Xcode6中的16種模擬器 ,那如何根據(jù)這個看似亂碼的文件夾,判斷出是哪一款模擬器呢? 
       選中某個文件后,打開會看到一個名為data的文件夾,和device.plist的配置文件,打開device.plist的配置文件后,會看到模擬器的UDID、設(shè)備類型、系統(tǒng)版本、名稱等。通過這個可以知道模擬器的設(shè)備和系統(tǒng)版本。打開后,會發(fā)現(xiàn),前面的看似亂碼的文件名稱,其實就是模擬器的設(shè)備UDID,雖然從這里可以得到模擬器的UDID,蘋果也用它來進(jìn)行分類模擬器,但在實際的編程中,如果想最后發(fā)布到APP Store的話,還是放棄UDID吧,這也是蘋果比較霸道的一點,當(dāng)然了也是在保護用戶隱私的情況下做出的。 
         2、應(yīng)用沙盒地址的變更
        得到了模擬器路徑后,還是用很多的不同的,應(yīng)用的沙盒地址也和之前有所不同。
       在Xcode5及之前的版本中,沙盒地址為如下:/Users/username/Library/Application Support/iP hone  Simulator/7.0.3/Applications,在Applications文加下,會找到應(yīng)用程序的沙盒。
       在打開應(yīng)用沙盒后,會有應(yīng)用程序文件、Document文件夾、Library文件夾、tmp文件夾。至于這幾個文件夾的作用不在此做贅述。
       在Xcode6中,應(yīng)用程序文件、Document文件夾、Library文件夾、tmp文件夾這四個文件放在了不同的目錄中。應(yīng)用程序文件路徑:/Users/username/Library/Developer/CoreSimulator/Devices/模擬器UDID/data/Containers/Bundle/,Application文件夾下;Document文件夾、Library文件夾、tmp文件夾路徑:/Users/username/Library/Developer/CoreSimulator/Devices/模擬器UDID/data/Containers/Data/,Application文件下。但是不幸的是,這兩個路徑打開后的文件名,還是經(jīng)過編碼過的,而且,同一個應(yīng)用中的應(yīng)用程序文件和D、L、t文件夾所在的文件夾的文件名是不同的。只能自己找。 
       3、NSUserDefault 文件存儲位置變更
       NSUserDefault是iOS提供的本地化數(shù)據(jù)存儲方式,會在沙盒中自動創(chuàng)建一個.plist的配置文件,將數(shù)據(jù)保存起來,在讀取時,以NSDictionary字典來進(jìn)行接收 
       在Xcode5及之前的版本中,具體的路徑為:/Users/shifengwei/Library/Application Support/iPhone Simulator/7.0.3/Applications/C9588981-3D82-49BC-92B8-F5BA72185629/Library,Preferences文件夾下,名稱為程序Bundle Identifier的plist文件。在刪除模擬器中的程序后,在Library文件夾下的plist文件會相應(yīng)的刪除。
       在Xcode6中,程序?qū)κ褂肗SUserDefault方式創(chuàng)建的plist文件的位置進(jìn)行了更換,具體路徑為:/Users/username/Library/Developer/CoreSimulator/Devices/模擬器UDID/data/Library,Preferences文件夾下。
       這里特別說一下,如果按照在Finder里打開的路勁來看,并不是這樣的,但通過 Finder,前往文件夾,通過該路徑查找是可以查到的。上述的路徑地址是通過查看Preferences文件夾的顯示簡介獲得的。
        通過上述的路徑可以看出,通過NSUserDefault創(chuàng)建的plist文件夾還是在Library文件下,但不同的是,真正存放的位置變了,成了在模擬器的資料庫文件夾下,這樣的改變所產(chǎn)生的變化就是,當(dāng)我們在刪除模擬器中的應(yīng)用程序后,plist文件還是會保留,并不會刪除。
       那么,既然模擬器中的位置變了,那升級到iOS8后,在這方面有什么不同呢?下面就說說在在真機中調(diào)試的不同。
        1、Organizer中,在Xcode5中,是Devices、Projects、Archives三欄,而在Xcode6中,單獨將Devices拿了出來,成了和Organizer平級的,在Xcode菜單欄,Window下。如果了解過Xcode從4.X升級到5時,就會知道,Organizer在那個時候也變更過,從原來的四欄變成了三欄,將幫助文檔移除了。
       2、在進(jìn)行真機調(diào)試時,會打開真機中應(yīng)用程序的沙盒,進(jìn)行查看,在Xcode中,  打開Devices的Application中,可以下載下來應(yīng)用程序的沙盒,通過右擊顯示包內(nèi)容來查看沙盒的信息。但是在iOS8和iOS7及之前出現(xiàn)了不同。
       上圖為同一款應(yīng)用在不同的系統(tǒng)中所表現(xiàn)的,左圖為iOS8下,下載下來的沙盒內(nèi)容,右圖為iOS7.0.4下,下載下來的沙盒內(nèi)容,很顯然,在iOS8下,通過Devices下載的沙盒內(nèi)容無法查看沙盒里面的內(nèi)容。 
                我們通過第三方的軟件,在這里使用的是iFunBox,找到應(yīng)用程序后,打開發(fā)現(xiàn)可以查看到沙盒的內(nèi)容,復(fù)制到本地后,發(fā)現(xiàn),原本的5個文件,只有3個,也就是Document文件夾、Library文件夾、tmp文件夾三個。
     這里特別說一下,上述提到過的,在模擬器中,通過NSUserDefault自動創(chuàng)建的plist文件,在刪除軟件后,還會保留,但在真機中,也是會刪除的,相應(yīng)的plist文件的路徑到了通過導(dǎo)出的Library文件夾下的Preferences文件夾下,刪除應(yīng)用程序后,不會保留。這應(yīng)該算是一個真機和模擬器中的不同。
       這個不同會造成一種情況,那是否還可以使用NSUserDefault?就筆者目前來看,還不至于廢棄NSUserDefault,畢竟它只是在模擬器中會出現(xiàn)刪除應(yīng)用保留的情況,在真機中不會,而且NSUserDefault在開發(fā)中,作為數(shù)據(jù)持久化,在保存數(shù)據(jù)時,還是很好用的。當(dāng)然了,也有開發(fā)者會不適應(yīng)這種情況,擔(dān)心在真機中會出現(xiàn),如果有開發(fā)者認(rèn)為不適應(yīng)的話,可以自己創(chuàng)建一個plist文件在沙盒中,代替,但是如果說應(yīng)用中使用的NSUserDefault比較多的話,不建議這樣,畢竟蘋果封裝的NSUserDefault還是很好用的??梢栽谀M器刪除文件后,在保存plist文件的文件夾下,將plist文件刪除即可,多個步驟而已,至少目前來看,在真機中還是和之前一樣的。
       當(dāng)然,在iOS中,除了NSUserDefault會系統(tǒng)自動生成文件進(jìn)行數(shù)據(jù)保存外,歸檔也是一樣的,由于筆者沒有進(jìn)行測試,為了避免誤導(dǎo),這里就不說了,待測試后,進(jìn)行總結(jié)發(fā)布。

PS:最后補充一下,打開或關(guān)閉Mac的隱藏文件的命令。
打開Mac隱藏文件命令:defaults write com.apple.finder AppleShowAllFiles -bool true
關(guān)閉Mac隱藏文件命令:defaults write com.apple.finder AppleShowAllFiles -bool false
方法:在終端中,輸入該命令,回車,然后在強制退出中,重啟Finder,即可。






由于圖片較多,發(fā)表上傳圖片有限制,因此,附上附件,可進(jìn)行下載查看。  Xcode6模擬器路徑pdf.pdf (823 K) 下載次數(shù):591 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精产国品一二三区麻豆| 日本淫片一区二区三区| 在线欧洲免费无线码二区免费| 高清一区二区三区大伊香蕉| 日韩精品人妻少妇一区二区| 成人精品一区二区三区综合 | a久久天堂国产毛片精品| 久久99青青精品免费| 欧美国产日产在线观看| 国产二级一级内射视频播放 | 国产亚洲中文日韩欧美综合网 | 在线观看中文字幕91| 欧美偷拍一区二区三区四区| 黑色丝袜脚足国产一区二区| 这里只有九九热精品视频| 国产欧美日韩不卡在线视频| 欧美偷拍一区二区三区四区 | 日韩一区二区三区有码| 男人和女人草逼免费视频| 国产自拍欧美日韩在线观看| 欧美一区日韩二区亚洲三区| 91麻豆视频国产一区二区| 欧美乱视频一区二区三区| 国产欧美日本在线播放| 91久久精品国产一区蜜臀| 欧洲亚洲精品自拍偷拍| 色老汉在线视频免费亚欧| 欧洲自拍偷拍一区二区| 欧美三级精品在线观看| 国产一区二区三区av在线| 国产欧美亚洲精品自拍| 91亚洲国产成人久久精品麻豆| 日本在线不卡高清欧美| 太香蕉久久国产精品视频| 国产精品伦一区二区三区四季| 美国欧洲日本韩国二本道| 久久精品福利在线观看| 好吊日视频这里都是精品| 人妻偷人精品一区二区三区不卡| 国产欧美一区二区色综合| 国产永久免费高清在线精品|