美文网首页
2017.5.14沙盒、简单读写操作

2017.5.14沙盒、简单读写操作

作者: d013035ce11e | 来源:发表于2017-05-16 22:40 被阅读0次

一、沙盒:每一个应用程序都有一个沙盒,只能在自己的沙盒中进行文件访问,iOS8以后开放了部分文件

1、沙盒目录结构:

NSSearchPathForDirectoriesInDomains(获取)介绍:http://blog.csdn.net/xingxing513234072/article/details/24184917

      documents(用于存储用户数据,iTunes备份和恢复的时候会包括此目录,所以,苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下。)(数据持久化保存)

//获取document的路径:

       let documents = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)

print(documents[0])

print("11"+NSHomeDirectory())

      library(包含两个子目录:Caches 和 Preferences。Caches用来存放用户需要换成的文件。Preferences是APP的偏好设置,可以通过NSUserDefaults来读取和设置。)(缓存文件,应用退出不会自动删除)

//获取library的路径:

let lib = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)

print("lib = " + lib[0])

let caches = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)

print("caches = " + caches[0])

//prefer 不可以直接获取

let prefer = lib[0] + "/Preferences"

print("prefer = " + prefer)

      tmp(存储临时文件,应用退出会自动删除)

//获取temp目录 获取到沙盒根目录(NSHomeDirectory) 再拼接temp目录

let temp = NSHomeDirectory() + "/tmp"

print("tmp = " + temp)

2、打开沙盒模拟器的方法:

      直接在Finder->前往->前往文件夹,输入上面的内容即可:/Users/140xiangwenjing/Library/Developer/CoreSimulator/Devices/27D1ABAB-8FD8-4AEB-ACF5-968100682C81/data/Containers/Data/Application/5767F33A-EF32-45EB-BBB1-20F27DD1AE63/tmp

通过Finder一步步查找

    模拟器上的APP的沙盒实在用户目录下的资源库里面,但是资源库是隐藏文件夹。所以查看沙盒之前,现将隐藏文件夹显示出来。

显示隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true

隐藏隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

注意:大文件不能在iTunes同步的文件夹中(上线被拒绝)

二、简单读写操作:http://www.jianshu.com/p/0471b2d0fe2c

String、Data、Array、Directory

FileManager :文件管理类(单例)

//单例(创建对象文件是一样的)

//获取当前应用程序 UIApplication.shared.keyWindow(获取主平面)    UserDefaults.standard  单例在程序运行期间不会被释放

(encoding编码格式:encoding:.utf8)

注意:单例在程序运行期间不会被释放,一般用于资源共享

//1、创建文件夹

//2、移动文件夹/重命名(判断是凑存在文件夹在移动,先执行4)

//3、删除

//4、是否存在

FileHandle(文件句柄)

Write...文件追加

Read...读取某一部分


3、复杂对象写入:http://www.jianshu.com/p/0471b2d0fe2c

//1、遵守NSCoding协议,实现两个方法()

//2、现创建对象

//3、创建一个NSMutableData

//4、根据NSMutableData创建Acr对象(归档工具)

//5、Acr对象encoding方法

//6、写入data对象

相关文章

  • 2017.5.14沙盒、简单读写操作

    一、沙盒:每一个应用程序都有一个沙盒,只能在自己的沙盒中进行文件访问,iOS8以后开放了部分文件 1、沙盒目录结构...

  • iOS C++ dump PCM

    swift 获取沙盒路径 Ref: 1.Iphone文件读写操作2.NULL when using fopen w...

  • iOS基础--数据库操作的简单封装

    沙盒路径的简单封装.m 数据库操作.m

  • iOS--沙盒

    认识沙盒 何为沙盒?沙盒装什么?沙盒:系统为iOS应用创建的非此应用不可读写的文件夹,每个iOS应用都有一个和它一...

  • iOS 沙盒机制

    沙盒(sandbox)是 iOS 的一个防御机制,每个应用都有一个属于自己的沙盒。应用只能在自己的沙盒目录下读写数...

  • 沙盒操作

    沙盒简介 苹果的沙盒机制是, 每个app有自己的一个独立的存储空间, 只能自己访问, 这种机制保证了iOS app...

  • iOS沙盒解析及操作

    介绍 概念:每个应用拥有自己的应用沙盒,所谓的应用沙盒就是文件系统目录。 沙盒文件目录 沙盒操作 获取应用根目录 ...

  • MacOS-App无法访问网络解决办法

    在iOS开发中只能访问自己的沙盒,进行读写,除非越狱 OSX自从10.6系统开始引入沙盒机制,规定发布到Mac A...

  • iOS开发之沙盒机制&文件操作(NSFielManage

    沙盒机制 iOS APP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒。每一个APP都是一个信息孤岛...

  • 沙盒

    沙盒 简单对象写入文件 NSFileManager 文件管理者 复杂对象写入沙盒

网友评论

      本文标题:2017.5.14沙盒、简单读写操作

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