gpt4 book ai didi

iphone - 我可以将 iPhone 应用程序设置为在用户打开电子邮件附件时运行吗?

转载 作者:行者123 更新时间:2023-12-03 19:38:21 47 4
gpt4 key购买 nike

当用户点击电子邮件附件时,有什么方法可以运行我的应用程序,以便我可以访问附件吗?

我想做的是为应用程序数据实现某种备份/恢复:

  1. 用户发送一封电子邮件,其中附加了具有特殊扩展名的数据文件(我将使用新的 iPhone 3.0 消息编辑器类)
  2. 如果用户丢失了数据,他们将能够转到自己的电子邮箱并打开最近发送的带有应用数据文件的电子邮件
  3. 然后,他们只需点击附加文件,这就会导致我的应用运行并从该文件恢复

技术上可以执行最后一步吗?

谢谢

最佳答案

Mobile Orchard 有一个很棒的教程,描述了如何通过序列化 SQL Lite 数据库的自定义 URL 处理程序恢复应用程序数据库: Lite To Paid iPhone Application Data Migrations With Custom URL Handlers

(文章中的解释说明)

  1. Setup a custom URL handler在项目的 Info.plist Setup a custom URL handler http://www.mobileorchard.com/wp-content/uploads/2009/01/result.png
  2. 在您的电子邮件中,将您的数据库或应用程序数据转换为 NSData base64,并将其包含在 URL 中例如:

    [NSString stringWithFormat: @"myapplication://localhost/importDatabase?%@",encodedStringData]

  3. 将 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;
}

Mobile Orchard 文件大小限制:

We have transferred files of up to 100k this way, and the size of a URL string is theoretically only limited by available memory. That said, this approach is most suitable for applications with small to medium size data transfer requirements. Best of all though, it can be easily used for SQLite databases, XML files, text files, or even extended to handled compressed archives.

关于iphone - 我可以将 iPhone 应用程序设置为在用户打开电子邮件附件时运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1180074/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com