美文网首页笔记篇
什么是沙箱模型?哪些操作是属于私有api范畴?

什么是沙箱模型?哪些操作是属于私有api范畴?

作者: 失忆的程序员 | 来源:发表于2018-01-26 14:38 被阅读10次

什么是沙箱模型?哪些操作是属于私有api范畴?

答:

1、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。

2、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。

3、苹果禁止任何读、写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中。

4、沙盒根目录里有三个文件夹:Documents,一般应该把应用程序的数据文件存到这个文件夹里,用于存储用户数据或其他应该定期备份的信息。Library,下有两个文件夹,Caches存储应用程序再次启动所需的信息,Preferences包含应用程序偏好设置文件,不过不要在这里修改偏好设置。temp,存放临时文件,即应用程序再次启动不需要的文件。

沙盒根目录里有三个文件夹分别是:documents,tmp,Library。

1、Documents目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。

2、AppName.app目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

3、Library目录:这个目录下有两个子目录:Caches和Preferences

Preferences目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.

Caches目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

4、tmp目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。

iOS沙盒(sandbox)中的几个目录获取方式:

//获取沙盒主目录路径

NSString *homeDir = NSHomeDirectory();

//获取Documents目录路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docDir = [paths objectAtIndex:0];

//获取Caches目录路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

NSString *cachesDir = [paths objectAtIndex:0];

//获取tmp目录路径

NSString *tmpDir =  NSTemporaryDirectory();

//获取当前程序包中一个图片资源(apple.png)路径

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"apple" ofType:@"png"];

UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];

例子:

NSFileManager* fm=[NSFileManagerdefaultManager];

if(![fm fileExistsAtPath:[selfdataFilePath]]){

//下面是对该文件进行制定路径的保存

[fm createDirectoryAtPath:[selfdataFilePath] withIntermediateDirectories:YES attributes:nil error:nil];

//取得一个目录下得所有文件名

NSArray *files = [fm subpathsAtPath: [selfdataFilePath] ];

//读取某个文件

NSData *data = [fm contentsAtPath:[selfdataFilePath]];

//或者

NSData *data = [NSDatadataWithContentOfPath:[self dataFilePath]];

}

43.协议是什么?有什么作用?

协议:声明一系列的方法,可由任何类实施,即使遵守该协议的类没有共同的超类。协议方法定义了独立于任何特定类的行为。简单的说,协议就是定义了一个接口,其他类负责来实现这些接口。如果你的类实现了一个协议的方法时,则说该类遵循此协议。

协议的作用:

1.定义一套公用的接口(Public)

@required:必须实现的方法

@optional:可选实现的方法(可以全部都不实现)

2.委托代理(Delegate)传值:

它本身是一个设计模式,它的意思是委托别人去做某事。

比如:两个类之间的传值,类A调用类B的方法,类B在执行过程中遇到问题通知类A,这时候我们需要用到代理(Delegate)。

又比如:控制器(Controller)与控制器(Controller)之间的传值,从C1跳转到C2,再从C2返回到C1时需要通知C1更新UI或者是做其它的事情,这时候我们就用到了代理(Delegate)传值。

相关文章

  • 什么是沙箱模型?哪些操作是属于私有api范畴?

    什么是沙箱模型?哪些操作是属于私有api范畴? 答: 1、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用...

  • 什么是沙箱模型?哪些操作是属于私有api范畴?

    1、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。 2、应用程序间不能共享数据,沙盒里的文件...

  • 私有Api检测

    早段时间,因为上架问题被拒了,苹果反馈的原因是使用了私有api 私有api属于这个GraphicsServices...

  • 沙箱安全机制

    保护程序安全 保护Java原生的JDK代码 Java安全模型的核心就是Java沙箱(sandbox)。什么是沙箱?...

  • Java并发

    1. 什么是原子操作?在Java Concurrency API中有哪些原子类? 原子操作是值一个不受其他操作影响...

  • 税收与税法

    税收属于经济范畴,也属于历史范畴。 税收的产生与私有制的出现和发展、私有财产制度下对公共品的需求、以及国家的产生等...

  • Java沙箱机制的实现——安全管理器、访问控制器

    一、Java沙箱机制 Java沙箱(sandbox)是Java安全模型的核心,那如何理解沙箱呢? 我们知道如果默认...

  • Java - 安全沙箱

    Java - 安全沙箱 Java沙箱是Java安全模型的核心,沙箱是一个限制程序运行的环境,可以保护系统资源和程序...

  • 关于iOS私有api调用问题

    前言:私有API是苹果禁用的,因为有些私有API会侵犯用户隐私。就这些私有的API来说,功能是十分强大的。但是可以...

  • 变态心理学概述

    中原焦点团队 朱艳华 坚持分享第1217天+29天 咨询师学会辨别哪些属于咨询范畴,哪些不属于这些范畴。 常用标准...

网友评论

    本文标题:什么是沙箱模型?哪些操作是属于私有api范畴?

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