Share Extension编程

来源:互联网 发布:java web是什么 编辑:程序博客网 时间:2024/05/17 01:06

Share Extension编程,可以在Safari中快速分享链接至你的App中.


创建过程类似于Today,不过多介绍,主要说下内置方法:

- (void)viewDidLoad {

    NSLog(@"viewDidLoad");

    self.view.hidden =YES;

    // 分享信息

    [selfshareInfo];

}

// 分享的内容是否是符合要求的

- (BOOL)isContentValid {

    // Do validation of contentText and/or NSExtensionContext attachments here

    // 获取分享的对象

    NSExtensionItem * imageItem = [self.extensionContext.inputItemsfirstObject];

    if(!imageItem) {

        returnNO;

    }

    // 获取分享的内容

    NSItemProvider * imageItemProvider = [[imageItemattachments] firstObject];

    if(!imageItemProvider) {

        // 获取为空

        returnNO;

    }

    // 判断分享内容是否为url类型public.textpublic.url

    if([imageItemProviderhasItemConformingToTypeIdentifier:@"public.url"]&&self.contentText) {

        returnYES;

    } else {

        returnNO;

    }

}

// 分享的方法

- (void)shareInfo {

    NSExtensionItem * infoItem = [self.extensionContext.inputItemsfirstObject];

    if(!infoItem) {

        return ;

    }

    // 获取分享的内容

    NSItemProvider * infoItemProvider = [[infoItemattachments] firstObject];

    if(!infoItemProvider) {

        // 获取为空

        return ;

    }

    // 判断分享内容是否为url类型public.textpublic.url

    if([infoItemProviderhasItemConformingToTypeIdentifier:@"public.url"]&&self.contentText) {

        if([infoItemProviderhasItemConformingToTypeIdentifier:(NSString*)kUTTypeURL]) {

            [infoItemProvider loadItemForTypeIdentifier:(NSString*)kUTTypeURLoptions:nilcompletionHandler:^(NSURL* infoUrl,NSError *error) {

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

            }];

        }

    }

}



0 0
原创粉丝点击