Share Extension编程,可以在Safari中快速分享链接至你的App中.
创建过程类似于Today,不过多介绍,主要说下内置方法:
- (void)viewDidLoad {
NSLog(@"viewDidLoad");
self.view.hidden = YES;
// 分享信息
[self shareInfo];
}
// 分享的内容是否是符合要求的
- (BOOL)isContentValid {
// Do validation of contentText and/or NSExtensionContext attachments here
// 获取分享的对象
NSExtensionItem * imageItem = [self.extensionContext.inputItems firstObject];
if(!imageItem) {
return NO;
}
// 获取分享的内容
NSItemProvider * imageItemProvider = [[imageItem attachments] firstObject];
if(!imageItemProvider) {
// 获取为空
return NO;
}
// 判断分享内容是否为url类型public.textpublic.url
if([imageItemProvider hasItemConformingToTypeIdentifier:@"public.url"]&&self.contentText) {
return YES;
} else {
return NO;
}
}
// 分享的方法
- (void)shareInfo {
NSExtensionItem * infoItem = [self.extensionContext.inputItems firstObject];
if(!infoItem) {
return ;
}
// 获取分享的内容
NSItemProvider * infoItemProvider = [[infoItem attachments] firstObject];
if(!infoItemProvider) {
// 获取为空
return ;
}
// 判断分享内容是否为url类型public.textpublic.url
if([infoItemProvider hasItemConformingToTypeIdentifier:@"public.url"]&&self.contentText) {
if([infoItemProvider hasItemConformingToTypeIdentifier:(NSString*)kUTTypeURL]) {
[infoItemProvider loadItemForTypeIdentifier:(NSString*)kUTTypeURL options:nil completionHandler:^(NSURL* infoUrl, NSError *error) {
// 获取到信息后对信息进行操作
}];
}
}
}