最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單掌握iOS應(yīng)用開發(fā)中sandbox沙盒的使用

 更新時間:2016年01月25日 09:25:59   作者:芳草小腳丫  
這篇文章主要介紹了iOS應(yīng)用開發(fā)中sandbox沙盒的使用,即將應(yīng)用的存儲區(qū)域單獨隔離開來,開發(fā)時經(jīng)??梢杂玫?需要的朋友可以參考下

一、iOS沙盒機制

iOS的應(yīng)用只能訪問為該應(yīng)用創(chuàng)建的區(qū)域,不可訪問其他區(qū)域,應(yīng)用的其他非代碼文件都存在此目錄下,包括圖片,屬性文件plist,bundle,nib文件等,這塊區(qū)域稱之為沙盒(sandBox)。

每個應(yīng)用都有屬于自己的存儲空間,即沙盒。
應(yīng)用只能訪問自己的沙盒,不可訪問其他區(qū)域。
如果應(yīng)用需要進行文件操作,則必須將文件存放在沙盒中,尤其是數(shù)據(jù)庫文件,在電腦上操作時,可以去訪問,但是如果要裝在真機上可以使用,必須將數(shù)據(jù)庫文件拷貝至沙盒中。
二、打開沙盒路徑

1、如果不知道沙盒路徑,可以在自己的應(yīng)用中打印其路徑。

復(fù)制代碼 代碼如下:

NSLog(@"沙盒路徑:%@",NSHomeDirectory());


會得到打印結(jié)果*為字母或數(shù)字,即為沙盒的路徑

復(fù)制代碼 代碼如下:

/Users/apple/Library/Application Support/iPhone Simulator/6.1/Applications/******-****-****-****-************

打開Finder,選擇前往-前往文件夾(或選擇快捷鍵command+shift+G)輸入打印出來的路徑即可

2、打開Finder,選擇前往并按住option鍵,進入資源庫

201612592225383.png (219×421)

選擇Application Support-iPhone Simulator-選擇模擬器版本,即可看到各個應(yīng)用的沙盒目錄。

201612592251076.jpg (823×432)

選中其中一個目錄,即可看到程序的名稱的App文件。

201612592313546.png (820×340)

三、目錄結(jié)構(gòu)

沙盒默認(rèn)情況下有三個目錄文件夾documents,Library,tmp及應(yīng)用的App文件,只可在相應(yīng)的文件夾中進行操作

documents:一般用來存放應(yīng)用中建立的文件,如數(shù)據(jù)庫文件,或程序中瀏覽到的文件數(shù)據(jù)。如果進行備份會將此文件夾中的文件包括其中;
Library:存儲應(yīng)用的默認(rèn)設(shè)置及狀態(tài)信息;
Library/cache:用來存放緩存文件,此文件夾下數(shù)據(jù)在應(yīng)用退出時不會刪除。備份時不會包括此文件夾;
tmp:存放即時穿件的臨時文件
帶圖標(biāo)的App文件:

選中后顯示包內(nèi)容,即可看到存儲的圖標(biāo),nib文件,屬性列表等

201612592333311.png (409×175)

四、在沙盒中寫文件

在沙盒目錄的Documents文件夾下添加一個plist文件,添加圖片等方法相同

復(fù)制代碼 代碼如下:

// 獲取Documents文件夾目錄
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
 
// 設(shè)定plist的路徑
 [rootPath stringByAppendingPathComponent:@"new.plist"];
 
// 然后在plist中寫入內(nèi)容
NSString *error;
// 序列化一個值“OK”
id plist = [NSPropertyListSerialization dataFromPropertyList:@"OK" format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];
 
if(plist) {
        NSLog(@"No error creating XML data.");
        [plist writeToFile:plistPath atomically:YES];
    }
    else {
        NSLog(@"%@",error);
        [error release];
    }

運行后在Documents文件夾下將看到一個new.plist文件

201612592352139.png (411×36)

文件中有一個值OK,也可添加數(shù)組,字典等相關(guān)類型的內(nèi)容,只需將上文中的“OK”換成一個(id)類型的值即可

201612592407015.png (601×116)

五、拷貝文件到沙盒目錄下

下面拷貝一個public.xml文件至document路徑下,也可拷貝其他文件,只需將文件名和類型對應(yīng)即可,尤其是database文件,一定要拷貝至沙盒才能使用。此文件不能是電腦中的文件,必須加入工程的Bundle中

復(fù)制代碼 代碼如下:

// 獲取Documents路徑
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) lastObject];
 
    // 設(shè)定要拷貝文件的路徑及名稱
    NSString *xmlSandBoxPath = [documentsPath stringByAppendingPathComponent:@"public.xml"];
 
    NSFileManager *fileManager = [NSFileManager defaultManager];
 
    // 判斷文件是否已經(jīng)存在
    BOOL isExisting = [fileManager fileExistsAtPath:xmlSandBoxPath];
 
    if (!isExisting) {
 
        // 本地?zé)o此文件,則將此文件拷貝到本地目錄。
        NSString *xmlFilePath = [[NSBundle mainBundle] pathForResource:@"public" ofType:@"xml"];
        NSError *err;
        // 將Bundle中的文件拷貝至沙盒目錄下
        [fileManager copyItemAtPath:xmlFilePath toPath:xmlSandBoxPath error:&err];
    }

操作之后,Documents路徑下就有這個文件了

201612592428430.png (413×45)

相關(guān)文章

  • IOS提醒用戶重新授權(quán)打開定位功能

    IOS提醒用戶重新授權(quán)打開定位功能

    這篇文章主要介紹了IOS提醒用戶重新授權(quán)打開定位功能的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • iOS11適配工作及導(dǎo)航欄影藏返回文字的解決方法

    iOS11適配工作及導(dǎo)航欄影藏返回文字的解決方法

    這篇文章主要介紹了iOS11適配工作及導(dǎo)航欄影藏返回文字的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • iOS開發(fā)中UISwitch按鈕的使用方法簡介

    iOS開發(fā)中UISwitch按鈕的使用方法簡介

    這篇文章主要介紹了iOS開發(fā)中UISwitch按鈕的使用方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-11-11
  • IOS給圖片添加水?。▋煞N方式)

    IOS給圖片添加水?。▋煞N方式)

    為了防止自己辛苦做的項目被別人盜走,采取把圖片添加水印,在此表示圖片的獨一無二。加水印不是要在上面添加上幾個Label,而是我們要把字畫到圖片上成為一個整體,下面這篇文章主要介紹IOS給圖片添加水印,有需要的小伙伴可以來參考下
    2015-08-08
  • 詳解iOS的深淺拷貝

    詳解iOS的深淺拷貝

    本文詳細(xì)介紹了IOS中的三種拷貝方式,對iOS的深淺拷貝有疑問的朋友們可以參考下本文。
    2016-08-08
  • 針對iOS開發(fā)的一些Xcode使用技巧小結(jié)

    針對iOS開發(fā)的一些Xcode使用技巧小結(jié)

    這篇文章主要介紹了針對iOS開發(fā)的一些Xcode使用技巧小結(jié),Xcode是Mac上編寫iOS應(yīng)用的開發(fā)環(huán)境,需要的朋友可以參考下
    2015-12-12
  • iOS開發(fā)刪除storyboard步驟詳解

    iOS開發(fā)刪除storyboard步驟詳解

    這篇文章主要為大家介紹了iOS系列學(xué)習(xí)之刪除storyboard步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • iOS測試手機APP的方法匯總:真機運行,打ipa包,testFlighe,蒲公英

    iOS測試手機APP的方法匯總:真機運行,打ipa包,testFlighe,蒲公英

    這篇文章主要介紹了iOS通常測試手機APP的四種方法:真機運行,打ipa包,(testFlighe)郵件,蒲公英測試。需要的朋友可以參考下
    2022-12-12
  • iOS實現(xiàn)微信分享多張圖片功能

    iOS實現(xiàn)微信分享多張圖片功能

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)微信分享多張圖片功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • iOS Runtime詳解(新手也看得懂)

    iOS Runtime詳解(新手也看得懂)

    這篇文章主要給大家介紹了關(guān)于iOS Runtime的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評論

运城市| 湖南省| 石棉县| 芒康县| 海宁市| 和田市| 绥棱县| 固镇县| 昂仁县| 枣庄市| 楚雄市| 额济纳旗| 隆安县| 清镇市| 凤庆县| 萝北县| 扎兰屯市| 蓬莱市| 沧州市| 锦州市| 米泉市| 石景山区| 汝州市| 政和县| 罗源县| 望都县| 道孚县| 筠连县| 龙海市| 阳曲县| 汝城县| 南投市| 孝感市| 高雄县| 丹阳市| 延川县| 缙云县| 宁乡县| 蒲城县| 台南市| 枣强县|