从邮件打开文件

时间:2012-01-07 11:38:54

标签: file email ios5

我正在努力解决iOS上的文件处理问题。 我已经可以将我的文件类型分配给iOS,我可以使用特殊文件从邮件启动我的应用程序。 我的应用程序正在启动,我正在解雇这个方法:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if([url isFileURL])
    {
        NSString *fileConts = [[NSString alloc] initWithContentsOfFile:[NSString stringWithFormat:@"%@", url] encoding:NSUTF8StringEncoding error:nil];
        [self.viewController openFile:fileConts];
        fileConts = nil;
    }
    return YES;
}

在viewController中声明了openFile:(NSString)方法,并设置了textView的值(现在)。这种方法很好。我通过[self.viewController openFile:@"test"];测试了它。

但是当我的应用程序启动附加文件时,textView保持为空。 它似乎没有采用字符串值或者它无法读取字符串值。

2 个答案:

答案 0 :(得分:0)

仅当应用程序已经运行(在后台)时,才会调用handleOpenURL。

要确保正确发送传入文件,您还需要在应用启动时进行检查:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
// Process url here
}

最好从handleOpenURL和didFinishLaunchingWithOptions调用一个URL调度程序。

答案 1 :(得分:0)

我可以解决我的问题。 我的错误是initWithContentsOfFile:(NSString *)

我更新了我的代码 NSString *fileConts = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];

现在我很开心! 谢谢你的帮助。