ios开发如何批量打包?如何让同一个程序在一个手机上多次安装时不覆盖以前安装的,而是重新生成一个新的
2012-12-21 17:45
1081 查看
Bundle identifier如果相同的话,ipa安装解压后会在同一沙盒下,出现你所说的覆盖安装。 首先,你可以在模拟器先运行一遍你的程序,在模拟器的沙盒下找的你的应用,进去找到你不想覆盖的文件及其路径。 搞清楚了以后在你的代码里找到向沙盒拷贝资源的代码,先判断文件是否存在,不存在则拷贝。 为你提供三个方法供你参考,粘贴过来格式乱了,空格你自己处理下吧。 //获取沙盒路径 -(NSString*)GetDocumentPath:(NSString*) _filename { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *pathstr = [paths objectAtIndex:0]; NSString *ret=[NSStringstringWithFormat:@"%@/%@",pathstr,_filename]; return ret; } //获取资源路径 -(NSString*)GetResPath:(NSString*) _filename Type:(NSString*) _type { NSString *ret = [[NSBundlemainBundle] pathForResource:_filename ofType:_type]; return ret; } //判断沙盒文件是否存在并拷贝 -(bool)FileExitAndCopy:(NSString*) filename FullName:(NSString*)fullfilename Type:(NSString*) _type { if ([[NSFileManagerdefaultManager] fileExistsAtPath:[selfGetDocumentPath:fullfilename]]) { returntrue; }else { NSError *error; NSString * tapppath = [selfGetResPath:filename Type:_type]; [[NSFileManagerdefaultManager] copyItemAtPath:tapppath toPath:[selfGetDocumentPath:fullfilename] error:&error]; if ([[NSFileManagerdefaultManager] fileExistsAtPath:[selfGetDocumentPath:fullfilename]]) { returntrue; }else { returnfalse; } } returnfalse; }
本文转自http://zhidao.baidu.com/question/502866185.html
不知道有没有用,没试过
相关文章推荐
- Android 开发中,如何将多个程序打包成一个apk文件,但是安装完成后显示多个程序?
- IOS之如何把自己开发的App安装到越狱的手机
- iOS开发支付宝支付,如何判断手机上面是否有安装支付宝软件
- [iOS开发]如何用KissXML生成一个XML文件
- Winform开发的安装程序如何在重复安装的时候覆盖旧的版本
- 用INNO SETUP做安装程序时,如何自动注册一个自己开发的DLL文件??
- iOS开发-APP在waiting for review状态时如何重新上传程序
- 如何打包VC程序,在一个没有安装VC的电脑上也可以运行
- 打包安装VS2005开发程序时如何判断指定软件是否安装(比如ARCENGINE RUNTIME或FRAMEWORK)
- iOS开发中,打包为ipa格式的软件包以及怎么安装到手机终端上
- c#打包,如何让安装程序把一个文件夹拷贝到特定路径
- C#如何打包EXE程序生成setup安装文件
- iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上
- iOS开发-- 一个苹果证书如何多次使用
- 在Symbian操作系统上开发的手机程序必须进行数字签名,才能在手机终端上安装成功。数字签名机制能够有效阻止恶意手机程序的传播,并保护软件开发商和手机用户的合法权益。那么,如何进行Symbian数字签
- 如何开发一个程序
- 如何打包你的程序发布——安装制作软件Inno Setup的简单使用
- Java程序如何生成Jar、exe及安装文件