Ios企业签名最近有要求在打包的IPA中添加配置文件,所以在程序读取中由程序组成,进行了需求调查,最后找到了方法,现在说明如下。
1,IPA压缩包结构说明
解压缩Ipa后,软件包的内容如下:
1,_CodeSignature
文件散列列表:存储每个文件的散列值。
2、-。xcent
许可文件:保存App的权限是什么?
3、-。移动provision
概要文件:存档证书和其他相关项目
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,获取应用程序程序包中资源文件路径的方法:
例如获取程序包中一个图片资源(a)路径的方法:
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];
UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
代码中的mainBundle类方法用于返回一个代表应用程序包的对象。
如果没有企业账号可借助第三方平台(如:ds.)获得苹果企业签名服务,这也是一个不错的办法。