当用户点击电子邮件附件时,有没有办法运行我的应用程序,所以我可以访问附件?
我想要做的是为app数据实现某种备份/恢复:
技术上是否可以执行最后一步?
谢谢
Mobile Orchard有一个很棒的教程,描述了如何通过序列化SQL Lite数据库的自定义URL处理程序恢复应用程序数据库: Lite使用自定义URL处理程序支付iPhone应用程序数据迁移
(文章中的释义说明)
在您的电子邮件中,将您的数据库或应用程序数据转换为NSData base64,并将其包含在URL中例如:
[NSString stringWithFormat:@"myapplication:// localhost/importDatabase?%@",encodedStringData]
将handleOpenURL方法添加到AppDelegate实现中
示例AppDelegate实现:
#import "GTMBase64.h"
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if([@"/importDatabase" isEqual:[url path]]) {
NSString *query = [url query];
NSString *importUrlData = [GTMBase64 webSafeDecodeString:query];
// NOTE: In practice you will want to prompt the user to confirm before you overwrite their files!
[importUrlData writeToFile:@"/path/to/FullApplication/Documents/file" atomically:YES];
return YES;
}
return NO;
}
Run Code Online (Sandbox Code Playgroud)
移动果园的文件大小限制:
我们以这种方式传输了高达100k的文件,理论上URL字符串的大小仅受可用内存的限制.也就是说,这种方法最适合具有中小尺寸数据传输要求的应用.最重要的是,它可以很容易地用于SQLite数据库,XML文件,文本文件,甚至可以扩展到处理压缩档案.
| 归档时间: |
|
| 查看次数: |
1020 次 |
| 最近记录: |