亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

OS的沙盒機制--基礎知識

2019-11-14 20:08:41
字體:
來源:轉載
供稿:網友

 /*

iOS的沙盒機制,應用只能訪問自己應用目錄下的文件。

iOS不像android,沒有SD卡概念,不能直接訪問圖像、視頻等內容。
 iOS應用產生的內容,如圖像、文件、緩存內容等都必須存儲在自己的沙盒內。
 默認情況下,每個沙盒含有3個文件夾:Documents, Library 和 tmp。Library包含Caches、PReferences目錄。
 上面的完整路徑為:用戶->資源庫->application Support->iphone Simulator->7.1->Aplications
 
 Documents:蘋果建議將程序創建產生的文件以及應用瀏覽產生的文件數據保存在該目錄下,iTunes備份和恢復的時候會包括此目錄
 Library:存儲程序的默認設置或其它狀態信息;
 Library/Caches:存放緩存文件,保存應用的持久化數據,用于應用升級或者應用關閉后的數據保存,不會被itunes同步,所以為了減少同步的時間,可以考慮將一些比較大的文件而又不需要備份的文件放到這個目錄下。
 tmp:提供一個即時創建臨時文件的地方,但不需要持久化,在應用關閉后,該目錄下的數據將刪除,也可能系統在程序不運行的時候清除
 */
#import "NSFileManagerViewController.h"

@interface NSFileManagerViewController ()

@end

@implementation NSFileManagerViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //獲取沙盒目錄
    NSString *dirHome = NSHomeDirectory();
    NSLog(@"APP_home:%@",dirHome);
    
    [self dirDoc];
    [self dirLib];
    [self dirCache];
    [self dirTmp];
    [self createDir];
    [self createFile];
    [self redFile];
    [self  fileAttriutes];
    [self deleteFile];
}

//獲取Document目錄路徑
- (NSString *)dirDoc {
    //[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [path objectAtIndex:0];
    NSLog(@"app_home_doc:%@",documentsDirectory);
    return documentsDirectory;
}

-(void)dirLib{
    //[NSHomeDirectory() stringByAppendingPathComponent:@"Library"];
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryDirectory = [path objectAtIndex:0];
    NSLog(@"app_home_lib:%@",libraryDirectory);
}

- (void)dirCache{
    NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *cachePath = [cacPath  objectAtIndex:0];
    NSLog(@"app_home_lib:%@",cachePath);
}

- (void)dirTmp{
    //[NSHomeDirectory() stringByAppendingPathComponent:@"tmp"];
    NSString *tmpDirectory = NSTemporaryDirectory();
    NSLog(@"app_home_tmp: %@",tmpDirectory);
}

// 穿件文件夾
-(void)createDir{
    NSString *documentsPAth = [self dirDoc];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *testDirectory = [documentsPAth stringByAppendingString:@"test"];
    //創建目錄
    BOOL res = [fileManager createDirectoryAtPath:testDirectory
                      withIntermediateDirectories:YES
                                       attributes:nil
                                            error:nil];
    if(res)
    {
        NSLog(@"文件夾創建成功");
    }
    else
    {
        NSLog(@"文件夾創建失敗");
    }
}

//創建文件
- (void)createFile {
    NSString *documentPath = [self dirDoc];
    NSString *testDirectory = [documentPath stringByAppendingPathComponent:@"test"];
    NSFileManager *filemanager = [NSFileManager defaultManager];
    NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
    BOOL res = [filemanager createFileAtPath:testPath contents:nil attributes:nil];
    if (res) {
        NSLog(@"文件創建成功:%@",testPath);
    }else{
        NSLog(@"文件創建失敗");
    }
}
- (void)writeFile{
    NSString *documentsPath = [self dirDoc];
    NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
    NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
    NSString *content=@"測試寫入內容!";
    BOOL res=[content writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
    if (res) {
        NSLog(@"文件寫入成功");
    }else
        NSLog(@"文件寫入失敗");
}

//讀文件
- (void)redFile
{
    NSString *documentsPath =[self dirDoc];
    NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
    NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
    //    NSData *data = [NSData dataWithContentsOfFile:testPath];
    //    NSLog(@"文件讀取成功: %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    NSString *content=[NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"文件讀取成功: %@",content);
}

//文件屬性
-(void)fileAttriutes{
    NSString *documentsPath =[self dirDoc];
    NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
    NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:testPath error:nil];
    NSArray *keys;
    id key, value;
    keys = [fileAttributes allKeys];
    int count = [keys count];
    for (int i = 0; i < count; i++)
    {
        key = [keys objectAtIndex: i];
        value = [fileAttributes objectForKey: key];
        NSLog (@"Key: %@ for value: %@", key, value);
    }
}
//刪除文件
-(void)deleteFile{
    NSString *documentsPath =[self dirDoc];
    NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"test"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];
    BOOL res=[fileManager removeItemAtPath:testPath error:nil];
    if (res) {
        NSLog(@"文件刪除成功");
    }else
        NSLog(@"文件刪除失敗");
    NSLog(@"文件是否存在: %@",[fileManager isExecutableFileAtPath:testPath]?@"YES":@"NO");
}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情免费在线| 欧美在线性视频| 亚洲欧美制服丝袜| 亚洲毛茸茸少妇高潮呻吟| 亚洲国产第一页| 97久久国产精品| 欧美日韩在线影院| 久久亚洲影音av资源网| 永久555www成人免费| 欧美高清视频免费观看| 亚洲国产精品成人一区二区| 清纯唯美日韩制服另类| 久久精品国产精品亚洲| 精品欧美一区二区三区| 亚洲欧美一区二区三区四区| 日本免费一区二区三区视频观看| 亚洲男人的天堂在线| 97色在线视频| 黑人巨大精品欧美一区二区三区| 欧美日韩亚洲一区二区三区| 亚洲高清不卡av| 久久久91精品国产| 亚洲精品日韩激情在线电影| 国产精品久久久久久久久久新婚| 久久久久久久久久久亚洲| 欧美一级成年大片在线观看| 欧美极品在线视频| 国产91ⅴ在线精品免费观看| 色久欧美在线视频观看| 91免费看视频.| 538国产精品一区二区免费视频| 亚洲欧美在线播放| 中文字幕亚洲情99在线| 亚洲第一页自拍| 日韩精品在线观看网站| 国产一区二区久久精品| 成人免费观看49www在线观看| 欧美成人免费小视频| 国产精品久久9| 成人免费看吃奶视频网站| 麻豆精品精华液| 欧美在线激情视频| 亚洲欧美在线看| 国产日韩综合一区二区性色av| 91天堂在线视频| 精品少妇一区二区30p| 国产激情久久久| 欧美极品少妇xxxxx| 国产精品自拍小视频| 一本一道久久a久久精品逆3p| 欧美成人高清视频| 7m第一福利500精品视频| 日韩av在线高清| 色樱桃影院亚洲精品影院| 视频在线一区二区| 中日韩午夜理伦电影免费| 97在线精品视频| 一区二区成人精品| 久久成人精品视频| 国产精品91久久久| 色综合亚洲精品激情狠狠| 欧美有码在线观看| 日韩美女免费视频| 欧美午夜视频一区二区| 欧美在线一级视频| 国产亚洲激情视频在线| 国产日韩中文字幕在线| 欧美激情伊人电影| 精品毛片网大全| 97超级碰碰碰久久久| 亚洲欧洲在线看| 91免费国产网站| 亚洲精品视频中文字幕| 精品国产精品三级精品av网址| 日日骚久久av| 久久精品国产一区| 国产成人福利夜色影视| 尤物九九久久国产精品的特点| 一区二区三区天堂av| 蜜月aⅴ免费一区二区三区| 久久影院模特热| 久久久999国产精品| 久久精品国产亚洲精品| 国产在线拍揄自揄视频不卡99| 国产精品一区二区三区在线播放| 久久久久久久影视| 日韩av影片在线观看| 精品久久中文字幕久久av| 国产精品久久久久久久7电影| 欧美成人免费全部| 亚洲福利视频网| 中文字幕免费精品一区| 久久精品人人做人人爽| 日韩国产精品视频| 亚洲精品有码在线| 欧美视频免费在线| 亚洲精品一区二区在线| 欧美精品成人在线| 亚洲va久久久噜噜噜久久天堂| 91爱视频在线| 亚洲欧美在线第一页| 一区二区三区高清国产| 欧美风情在线观看| 亚洲一区二区久久久| 亚洲人a成www在线影院| 亚洲免费精彩视频| 亚洲国产成人久久综合| 欧美激情一区二区三区成人| 亚洲伊人成综合成人网| 欧美老女人在线视频| 亚洲欧美日韩综合| 免费99精品国产自在在线| 国产日韩综合一区二区性色av| 欧美日韩中文字幕综合视频| 在线国产精品视频| 国产精品久久久久久久久久| 欧美日韩亚洲91| 亚洲男人天堂网| 国产精品免费小视频| 亚洲一区二区三区在线视频| 亚洲性猛交xxxxwww| 日韩电影中文 亚洲精品乱码| 少妇久久久久久| 亚洲免费av网址| **欧美日韩vr在线| 亚洲福利视频久久| 中文字幕日韩精品在线观看| 国产精品丝袜视频| 欧美性高潮床叫视频| 国产成人高清激情视频在线观看| 国产拍精品一二三| 欧美黄色成人网| 色偷偷av一区二区三区乱| 中文字幕亚洲综合| 国产一区二区三区丝袜| 色综合久久88色综合天天看泰| 亚洲www在线| 成人黄色中文字幕| 日韩在线观看高清| 日韩精品中文字幕有码专区| 亚洲毛片一区二区| 国产精品久久久久久久久借妻| 精品久久久一区| 在线免费观看羞羞视频一区二区| 日韩中文字幕在线视频播放| 91精品国产综合久久男男| 国产亚洲欧美另类中文| 最新69国产成人精品视频免费| 亚洲精品欧美日韩| 亚洲国产小视频在线观看| 97视频在线观看免费高清完整版在线观看| 日韩网站免费观看| 精品久久久久久久久久久久久| 欧美色xxxx| 欧美制服第一页| www.久久撸.com| 国产精品99久久久久久人| 国产福利精品av综合导导航| www高清在线视频日韩欧美| 久久人91精品久久久久久不卡| 欧美成人免费网| 国产在线久久久| 国语对白做受69| 欧美性猛交99久久久久99按摩|