我可以将iPhone应用程序设置为在用户打开电子邮件附件时运行吗?
当用户点击电子邮件附件时,是否有办法运行我的应用程序,以便我可以访问附件 我想做的是为应用程序数据实施某种备份/恢复:我可以将iPhone应用程序设置为在用户打开电子邮件附件时运行吗?,iphone,Iphone,当用户点击电子邮件附件时,是否有办法运行我的应用程序,以便我可以访问附件 我想做的是为应用程序数据实施某种备份/恢复: 用户发送一封带有附加数据文件的电子邮件,该文件具有特殊扩展名(我将使用新的iPhone3.0 message composer类) 如果用户丢失了自己的数据,他们将能够转到自己的电子邮件框,打开与应用程序数据文件一起发送的最后一封电子邮件 然后,他们只需点击附加的文件,这会导致我的应用程序运行并从该文件恢复 技术上是否可以执行最后一步 谢谢我认为您的应用程序不能针对特定的文件类
谢谢我认为您的应用程序不能针对特定的文件类型运行,但您可以将其注册为侦听特定的URL方案,例如,请参见: 因此,如果您的应用程序数据不是太大,您可以使用自定义的base64编码URL,如
mycustomappbackup://[此处有大量数据]Mobile Orchard提供了一个很棒的教程,介绍了如何通过序列化SQL Lite数据库的自定义URL处理程序还原应用程序数据库: (转述文章中的说明)
#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;
}
Mobile Orchard对文件大小的限制:
我们已传输了多达个的文件
这样就有100k,URL的大小
弦理论上是有限的
通过也就是说,这个
这种方法最适合于
中小型应用程序
数据传输要求。最好的
尽管如此,它可以很容易地用于
SQLite数据库、XML文件、文本
文件,甚至扩展到可处理的
压缩档案
我的应用程序(Listomni)使用URL方法备份数据库并将其发送出去,还可以从较轻的应用程序迁移到完整版本。我们还压缩了序列化的SQLite数据库,这节省了很多空间。但是,对于数据量大的备份来说,这并不是最理想的,因为如果用户通过GMail或Outlook转发邮件,那么这两个客户端都倾向于将URL截断为2048字节
我还希望,既然我们现在可以用iPhoneOS3.0发送附件,我们也可以注册文件类型,以便以后检索它们,但遗憾的是,这似乎还不受支持。向苹果挥拳嘿,大卫,谢谢你的帮助。你知道自定义URL长度有限制吗?移动Orchard博客看起来很棒。我刚刚订阅了