Share Extension编程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_30657013/article/details/62889849

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) {

                // 获取到信息后对信息进行操作

            }];

        }

    }

}



猜你喜欢

转载自blog.csdn.net/sinat_30657013/article/details/62889849