• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談ios應(yīng)用程序開發(fā)之沙盒機(jī)制

      2016-11-28 03:02:08熊阿偉帥志軍江西現(xiàn)代職業(yè)技術(shù)學(xué)院江西南昌330095
      人間 2016年10期
      關(guān)鍵詞:開發(fā)

      熊阿偉帥志軍(、江西現(xiàn)代職業(yè)技術(shù)學(xué)院,江西 南昌 330095)

      ?

      淺談ios應(yīng)用程序開發(fā)之沙盒機(jī)制

      熊阿偉1帥志軍2
      (1、2江西現(xiàn)代職業(yè)技術(shù)學(xué)院,江西 南昌 330095)

      摘要:在ios開發(fā)中,數(shù)據(jù)持久化的方法主要有SQLite3、Core Data、屬性列表和對象歸檔四種。它們只是4種最常用且簡單的方法,你可以使用傳統(tǒng)的 C語言I/O調(diào)用,比如fopen()讀取和寫入數(shù)據(jù),也可以使用Cocoa的底層文件管理工具。

      關(guān)鍵詞:ios應(yīng)用程序;開發(fā);沙盒機(jī)制

      在ios開發(fā)中,數(shù)據(jù)持久化的方法主要有SQLite3、Core Data、屬性列表和對象歸檔四種。它們只是4種最常用且簡單的方法,你可以使用傳統(tǒng)的 C語言I/O調(diào)用,比如fopen()讀取和寫入數(shù)據(jù),也可以使用Cocoa的底層文件管理工具。只不過以上兩種方法都需要多寫很多代碼,并且也沒有必要這么做。當(dāng)然,如果確實(shí)需要的話,選擇它們是沒問題的。

      一、應(yīng)用程序的沙盒機(jī)制

      IOS沙盒機(jī)制(sandbox)能夠?yàn)閼?yīng)用程序的運(yùn)行提供很好的安全保障,也可以把沙盒機(jī)制理解為一種安全系統(tǒng),應(yīng)用程序的所有操作都必須通過該安全系統(tǒng)檢測,能夠?qū)Ω鞣N操作進(jìn)行權(quán)限限制。

      屬性列表、對象歸檔、SQLite3和Core Data四種數(shù)據(jù)持久性都涉及一個(gè)共性元素,即應(yīng)用程序的/Documents文件夾。每個(gè)應(yīng)用程序都有自己的/Documents 文件夾并且應(yīng)用程序僅能讀寫各自的/ Documents 目錄中的內(nèi)容。

      我們看一下iOS 上的應(yīng)用程序是如何組織的,為此,需要看主目錄中所包含的Library目錄。在Mac OS10.7版本后,蘋果默認(rèn)隱藏了Library文件夾,需要在終端中使用defaults write com. apple.finder AppleShowAllFiles -bool true 命令來顯示隱藏功能。

      1.若是Xcode5及以下版本,打開一個(gè)Finder窗口并導(dǎo)航到主目錄。然后在該目錄中,向下展開到 Library/ApplicationSupport/ iPhone Simulator/。在該目錄中,將可以看到針對當(dāng)前 Xcode 安裝所支持的每個(gè)iOS版本的目錄。例如,進(jìn)入到表示你的xcode版本所支持的最新版本的目錄,此時(shí),你應(yīng)該看到多個(gè)子文件夾,其中一個(gè)文件夾名為 Applications。Xcode5中沙盒的路徑為:/Users/用戶名/Library/Application Support/iPhone Simulator/版本/ Applications/對應(yīng)應(yīng)用程序文件夾。

      2 .若是X c o d e 6及以上版本,同理找到其中一個(gè)名為Applications的文件夾。Xcode6中沙盒的路徑為: /Users/用戶名/Library/Developer/CoreSimulator/Devices/版本/data/ Containers/Data/Applications/對應(yīng)應(yīng)用程序文件夾。

      雖然此清單代表的是模擬器,但實(shí)際設(shè)備上的文件結(jié)構(gòu)與此相似。顯而易見,Applications 文件夾就是iOS存儲(chǔ)其應(yīng)用程序的文件夾。如果打開Applications 文件夾,可以看到一系列文件夾和文件,它們的名稱是較長的字符串。這些名稱都是由Xcode 自動(dòng)生成的全局唯一標(biāo)識(shí)符。

      如果打開其中一個(gè)應(yīng)用程序子目錄,應(yīng)該會(huì)看到一些比較熟悉的內(nèi)容。在這里,可以找到你構(gòu)建的其中一個(gè)iOS應(yīng)用程序及其支持的文件夾,主要有Documents、Library、tmp文件夾。分別用于應(yīng)用程序的數(shù)據(jù)存儲(chǔ)和臨時(shí)文件的存儲(chǔ)。當(dāng) iOS 設(shè)備執(zhí)行同步時(shí), iTunes 不會(huì)備份/tmp 中的文件,但當(dāng)不再需要這些文件時(shí),應(yīng)用程序需要負(fù)責(zé)刪除/tmp 中的文件,以免免占用文件系統(tǒng)的空間。

      二、獲取Documents目錄

      既然我們的應(yīng)用程序位于一個(gè)名稱看上去是隨機(jī)名稱的文件夾中,那么如何檢索Documents目錄的完整路徑以便讀取和寫入文件呢?實(shí)際上這非常容易。我們可以利用C語言函數(shù)NSSearchPathForD irectoriesInDomain()來查找各種MAC OS系統(tǒng)下的文件夾。

      下面是檢索 Documents 目錄路徑的一些代碼:

      NSArray *fileDocumentsPaths = NSSearchPathForDirectori esInDomains(NSDocumentDirectory,NSUserDcmainMask, YES);

      NSString *documentsDirectory = [fileDocumentspaths objectAtlndex:O];

      NSSearchPathForDirectoriesInDomains函數(shù)有三個(gè)主要參數(shù),第一個(gè)參數(shù)表示正在查找Documents目錄,第二個(gè)參數(shù)表示搜索的范圍局限于沙盒的位置。

      我們可以通過在剛剛檢索到的路徑的結(jié)尾附加另一個(gè)字符串來創(chuàng)建一個(gè)文件名。我們將使用專為該目的設(shè)計(jì)的 NSString 方法,即 stringByAppendingPath Component:,如下所示:

      NSString*filename=[documentsDirectorystringByAppending PathComponent:@“theFile. Txt”];

      完成此調(diào)用之后, filename 將包含 theFile.txt 文件的完整路徑,該文件位于應(yīng)用程序的 Documents 目錄,我們可以使用filename 來創(chuàng)建、讀取和寫入文件。

      三、獲取tmp目錄

      獲取對應(yīng)用程序臨時(shí)目錄的引用比獲取對 Documents 目錄的引用更加容易。名為NSTemporaryDirectory()的 Foundation 函數(shù)將返回一個(gè)字符串,該字符串包含到應(yīng)用程序臨時(shí)目錄的完整路徑。若要為將存儲(chǔ)在臨時(shí)'目錄中的某個(gè)文件創(chuàng)建一個(gè)文件名,我們首先要找到該臨時(shí)目錄,然后,通過在該路徑的結(jié)尾附加一個(gè)文件名。

      參考文獻(xiàn):

      [1](美)Paul Deitel. Swift實(shí)戰(zhàn)之旅:精通iOS應(yīng)用開發(fā)[M]. 北京:電子工業(yè)出版社,2016-1-1

      [2]李梓萌. Ios 8應(yīng)用開發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2016-1-1

      [3]鐘元生. iOS應(yīng)用開發(fā)基礎(chǔ)教程[M]. 北京:電子工業(yè)出版社,2015-9-1

      [4]楊佩璐. iOS開發(fā)范例實(shí)戰(zhàn)寶典[M]. 北京:清華大學(xué)出版社,2015-5-1

      中圖分類號(hào):TP393.08

      文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1671-864X(2016)04-0290-01

      作者簡介

      1.熊阿偉(1983-),男,江西南昌人,講師,江西現(xiàn)代職業(yè)技術(shù)學(xué)院教師,碩士,主要研究方向:計(jì)算機(jī)應(yīng)用、軟件。

      2.帥志軍(1977-),男,江西南昌人,副教授,江西現(xiàn)代職業(yè)技術(shù)學(xué)院教師,碩士,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、硬件和軟件。

      猜你喜歡
      開發(fā)
      軟件開發(fā)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      淺談動(dòng)力總成騾子車開發(fā)方法
      汽車科技(2016年5期)2016-11-14 08:04:56
      高中歷史教學(xué)中對歷史圖片的開發(fā)及實(shí)際應(yīng)用
      考試周刊(2016年85期)2016-11-11 01:57:37
      在線投稿與編輯系統(tǒng)的設(shè)計(jì)與開發(fā)
      河南方言文化資源的保護(hù)及其開發(fā)利用的研究
      遵義紅色旅游開發(fā)對策研究
      基于J2EE和Ionic的ITer學(xué)習(xí)APP設(shè)計(jì)與開發(fā)
      單片機(jī)在電子技術(shù)中的應(yīng)用和開發(fā)
      試析機(jī)械基礎(chǔ)多媒體課件的研制與開發(fā)
      老年人旅游市場的開發(fā)研究
      获嘉县| 金山区| 苏尼特右旗| 休宁县| 当阳市| 饶平县| 蒙阴县| 普兰县| 拜城县| 保亭| 衡阳县| 德江县| 沭阳县| 贺州市| 东平县| 兴宁市| 萨嘎县| 麦盖提县| 北碚区| 辉南县| 诸暨市| 拉孜县| 威宁| 义乌市| 仲巴县| 大丰市| 绥棱县| 贵定县| 太谷县| 县级市| 通辽市| 晋州市| 娱乐| 宣化县| 简阳市| 丹凤县| 长子县| 巴彦县| 东源县| 湖北省| 横山县|