1
kukat OP 1. 编辑器原来不是textile阿……
2. 怎么编辑帖子? 3. 来人帮忙解答阿 |
2
Kai MOD 程序升级的时候,App 自己产生的 SQL 文件不会被覆盖。
一般在这种时候会在 Bundle 里面存一个预设的 SQL,用在程序初始化的时候自动拷贝 /Documents 下。 换到机器上面试试看? |
3
kukat OP @Kai
我说的Resource就是指的Bundle 我在真机上试过了 本来是 /var/mobile/Applications/AEF8A0A5-0B81-4092-BAF5-C70FFE6A33A0/Documents/myapp.sqlite 删除后在编译运行 /var/mobile/Applications/E244258C-25C5-4FD2-9D70-A31C9593DFE1/Documents/myapp.sqlite App ID 变鸟,之前的数据也木有鸟…… |
4
Kai MOD 程序初始化时候的检查是否存在这个文件以及之后的覆盖这方面设置没有出错?
另外,Clear All Targets 先 ? |
5
Livid MOD 你用来获取 Documents path 的那几句程序是?
|
6
Livid MOD 我的获取方法:
NSArray * searched = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString * documentPath = [searched objectAtIndex:0]; 这样在升级的时候是确实可以找到之前的文件的。 |
7
kukat OP @Livid
我的代碼是 NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDir = [documentPaths objectAtIndex:0]; NSString * databasePath = [documentsDir stringByAppendingPathComponent: DBNAME]; 你有试过从模拟器或者真机删除App,然后再编译运行吗? App ID是一定会变的。 如果这个方法可用,是不是说明升级的时候不是 删除旧的->安装新的 |
8
huacnlee 2010-08-11 18:55:21 +08:00 via Android
我根本没有 SqlLite文件在项目里面,而是在程序运行的时候产生,如果以前没产生的话
这样就不用担心升级被覆盖的问题了 |