美文网首页
iOS 沙盒各文件作用与使用

iOS 沙盒各文件作用与使用

作者: lyt1123 | 来源:发表于2021-11-29 17:22 被阅读0次

    沙盒各个目录作用

    1.documents:用于储存用户数据或者其他应该定期备份的信息,icloud备份,手动保存的文件在documents文件里。
    2.AppName.app:应用程序的包目录,包含程序的本身,无法对这个目录的内容进行修改,因为程序有签名。
    3.tmp:NSUserdefaults保存的文件在tmp文件夹里,这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。
    4.library:包含Caches 和 Preferences

    • Preferences 目录:包含应用程序的偏好设置文件。不应该直接创建偏好设置文件,而是应该使NSUserDefaults类来取得和设置应用程序的偏好。
    • Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

    获取沙盒目录的方法

    获取沙盒目录路径可以通过 NSSearchPathForDirectoriesInDomains 方法,该方法有三个数:
    1:directory NSSearchPathDirectory类型的enum值,表示要搜索的目录名称。
    2:domainMask NSSearchPathDomainMask类型的enum值,指定搜索范围。通常情况下是NSUserDomainMask,表示搜索的范围限制于当前应用的沙盒目录。
    3:expandTilde Bool值,表示返回的路径中是否展开。如果是YES,表示展开,NO表示不展开。

    • 第三个参数为YES时的示例路径:
    • /data/Containers/Data/Application/114B9CA0-DA74-4D17-ACF3-9473CF98FC7B/Library/PreferencePanes
    • 第三个参数为NO时的示例路径:
    • ~/Library/PreferencePanes
    // 获取沙盒主目录路径
    NSString *homeDir = NSHomeDirectory();
    NSLog(@"---homeDir:%@",homeDir);
    
    // 获取Documents目录路径
    NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) firstObject];
    NSLog(@"---docDir:%@",docDir);
        
    // 获取Library的目录路径
    NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
    NSLog(@"---libDir:%@",libDir);
        
    // 获取Caches目录路径
    NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES) firstObject];
    NSLog(@"---cachesDir:%@",cachesDir);
        
    // 获取Preferences目录路径
    NSString *preferencesDir = [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) firstObject];
     NSLog(@"---preferencesDir:%@",preferencesDir);
        
    // 获取Preferences目录路径
    NSString *preferencesDirNo = [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, NO) firstObject];
    NSLog(@"---preferencesDirNo:%@",preferencesDirNo);
        
    // 获取tmp目录路径
    NSString *tmpDir = NSTemporaryDirectory();
    NSLog(@"---tmpDir:%@",tmpDir);
    

    相关文章

      网友评论

          本文标题:iOS 沙盒各文件作用与使用

          本文链接:https://www.haomeiwen.com/subject/uyelxrtx.html