ios 获取沙河文件夹_iOS签名ipa压缩包结构说明

ios企业签名最近有需求需要在打好包的ipa内添加配置文件,由程序读取配置到程序内,因此做了需求调研,最后找到一个方法,现在说明如下:

11411bc1ea8f6027fa560666421509c9.png

一、ipa压缩包结构说明

将ipa解压得到包里的内容如下:

1、_CodeSignature

文件hash列表:存放每个文件的hash值;

2、—–.xcent

授权文件:存放App有哪些权限被允许;

3、—-.mobileprovision

配置文件:存放证书及其它一些相关项目;

4、其它-一些资源文件

由于iOS在打包的过程中会对程序包内的每个文件都做签名,在程序包内的文件是不允许被修改的,否则再次打包就会无法安装;

在里面可以存放“空文件夹”,这样系统就会认为没有变化,再次打包安装是没问题的;

//注意:

//这个里面的其他位置是无法放置其它文件的,但是在_CodeSignature文件夹内可以添加其它文件,iOS系统是不会校验这个文件夹内多余的文件的;

//这样就可以在ipa打包之后,实现动态的在ipa包内添加工程的相关配置;

二、ipa包内文件的访问

iOS应用都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。

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

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

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

(4)、沙盒根目录里有三个文件夹:Documents,一般应该把应用程序的数据文件存到这个文件夹里,用于存储用

沙盒就是应用程序的安装过程中、系统为每个单独的应用程序生成它的主目录和一些关键的子目录 —文件夹

沙盒机制是一种安全体系,它规定了应用程序只能在本应用程序沙盒中读取文件,不可以访问其他地方的内容。所有的非代码文件都保存在这个地方,比如图片、音频、视频、属性列表(偏好设置)和文本文件等。

优点 安全 每个应用程序都在自己的沙盒内 不能随意跨越自己的沙盒区访问别的应用程序沙盒的内容,应用程序向外请求或接受数据都需要经过权限认证

缺点 文件访问受限 访问文件不灵活

获取这些目录路径的方法:

1,获取home目录路径的函数:

NSString *homeDir = NSHomeDirectory();

2,获取Documents目录路径的方法:

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

NSString *docDir = [paths objectAtIndex:0];

3,获取Caches目录路径的方法:

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

NSString *cachesDir = [paths objectAtIndex:0];

4,获取tmp目录路径的方法:

NSString *tmpDir = NSTemporaryDirectory();

5,获取应用程序程序包中资源文件路径的方法:

例如获取程序包中一个图片资源(apple.png)路径的方法:

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

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

代码中的mainBundle类方法用于返回一个代表应用程序包的对象。

如果没有企业账号可借助第三方平台(如:ds.fubi.hk)获得苹果企业签名服务,这也是一个不错的办法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值