ユーザーがデータファイルをインポートしてエクスポートし、電子メールで送信できるアプリを構築しています。
そこで、拡張子が「.myAppExtension」のデータ ファイル タイプを作成しました。
最初はすべてがうまくいきます。メールをエクスポートして送信できません。そして、電子メールを開くと、メソッドは機能します。
-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if (url != nil && [url isFileURL]) {
NSLog(@"%@",url);
NSLog(@"%@",[url pathExtension]);
if([[[url pathExtension] lowercaseString] isEqualToString:[@"myAppExtension" lowercaseString]]){
//Deal with received file
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Export ok" message:[NSString stringWithFormat:@"This file has been added : %@",[url lastPathComponent]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil];
[alert show];
}else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Export failed" message:[NSString stringWithFormat:@"This extention is not supported : %@",[url pathExtension]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil];
[alert show];
}
}
return YES;
}
私の問題は、拡張子が「otherExtension」の他のタイプのファイルをエクスポートする場合です。アプリでこの拡張機能のデータ型を作成していません。
そこで、この 2 番目のタイプのファイルをエクスポートして電子メールを送信します。メールに表示されたファイル名は「file.otherExtension」。しかし、これが問題です。このメールの添付ファイルをタップすると、電子メール アプリからアプリケーションで開くように求められます。それは私が望んでいることではありません。私が言ったように、「otherExtension」のデータ型を作成しませんでした。
編集:これは、 myApp-info.plist でファイルタイプを作成した方法です: