https://my.oschina.net/vimfung/blog/707448
http://blog.csdn.net/chengwuli125/article/details/39521213
NSItemProvider就是附件,可能是图片、视频、网址的NSURL。例如图片:file:///var/mobile/Media/PhotoData/OutgoingTemp/83C2CA24-9774-479B-8507-B062C1D3F459/IMG_0101.JPG
遇到的坑:当选择多个图片(附件)时,在viewDidLoad,先保存到NSUserDefaults,
- (void)viewDidLoad
{
[superviewDidLoad];
NSMutableArray *inputItems = [NSMutableArrayarray];
self.itemArray = [NSMutableArrayarray];
NSUserDefaults *groupUS = [[NSUserDefaultsalloc] initWithSuiteName:kAppGroupId];
__block NSString *ident = @"";
[self.extensionContext.inputItemsenumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSExtensionItem *exitem = obj;
[exitem.attachments enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSItemProvider *itemProvider = obj;
if ([itemProvider hasItemConformingToTypeIdentifier:@"public.png"])
{
ident = @"public.png";
}elseif ([itemProvider hasItemConformingToTypeIdentifier:@"public.jpeg"])
{
ident = @"public.jpeg";
}
[itemProvider loadItemForTypeIdentifier:ident options:nil completionHandler:^(id<NSSecureCoding> _Nullable item, NSError * _Null_unspecified error) {
if ([(NSObject *)item isKindOfClass:[NSURL class]]) {
NSURL *url = (NSURL *)item;
NSData *data = [NSData dataWithContentsOfURL:url];
[inputItems addObject:data];
[self.itemArray addObject:exitem];
[groupUS setObject:inputItems forKey:@"inputItems"];
}
}];
}];
}];
}
提审的扩展和容器程序的Build Version要保持一致,否则在上传审核包的时候会提示警告,导致程序无法正常提审。
System-Declared Uniform Type Identifiers
https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html#//apple_ref/doc/uid/TP40009259-SW1