实现了统一类型标识符,当通过电子邮件发送单个附件时,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];
带有单个附件的邮件的结果
"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--