Uniform Type Identifiers を実装し、単一の添付ファイルを電子メールで送信すると、 によって定義されたファイルの内容をstringWithContentsOfURL
含む を返します。 NSString
NSURL
多数のファイルが添付された電子メールからファイルを選択すると、添付されたstringWithContentsOfURL
すべてのファイルがヘッダー情報とともにNSString
.
選択したファイルだけを開く方法はありますか?
アップデート:
- ユーザーが最初にファイルに触れると、ファイルは期待どおりに処理されます。ユーザーは何度でもタッチでき、すべて問題ありません。
- 後続のファイル、電子メールの生のソースから電子メール ヘッダーを除いたものは、NSURL で表されるファイルとして保存されます。
- この動作は、iPhone 6.0.1 および iPad 5.1.1 で確認されています。
生のソースを解析して、NSURL から選択されたファイルを特定できますが、これは問題になる可能性があると思います。
更新終了
コード (どちらの場合も URL は単一のファイルを指します)。ファイル拡張子は *.defects です
NSString *file = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
添付ファイルが 1 つのメールの結果
"Defect Names"
"Test1 Area"
"Test2 Area"
"Test 3 Area"
"Test 4 Area"
"Extra"
複数の添付ファイルがあるメールの結果
--Apple-Mail=_785C0CB9-CB2F-43BE-AD5F-D7DEF5F97EFC
Content-Disposition: attachment;
filename=Areas.defects
Content-Type: defects/x-defects;
x-unix-mode=0644;
name="Areas.defects"
Content-Transfer-Encoding: 7bit
"Area of Defect"
"Test1 Area"
"Test2 Area"
"Test 3 Area"
"Test 4 Area"
"Extra"
--Apple-Mail=_785C0CB9-CB2F-43BE-AD5F-D7DEF5F97EFC
Content-Disposition: attachment;
filename="pos.defects"
Content-Type: defects/x-defects;
x-unix-mode=0644;
name="pos.defects"
Content-Transfer-Encoding: 7bit
"Position of Item"
"Test1 Position"
"Test2 Position"
"Test 3 Position"
"Test 4 Position"
"Extra"
...
--Apple-Mail=_785C0CB9-CB2F-43BE-AD5F-D7DEF5F97EFC--