iOS:在“共享扩展程序”中通过邮寄共享照片后,是否可以自动返回应用程序?

时间:2019-07-04 15:58:23

标签: ios objective-c nsuserdefaults openurl share-extension

在选择完照片后,选择我的应用程序,然后单击图库中的帖子,然后尝试再次进入我的应用程序:

enter image description here

我尝试了此代码,但没有任何反应。 (我精确地表示,如果我进入应用程序,则会检索图片,但我想避免这样做)。

我想要与自动复制iBook的“复制到iBooks”相同的原理。

enter image description here

ShareViewController.h中:

- (void)didSelectPost {

    for (NSItemProvider* itemProvider in ((NSExtensionItem*)self.extensionContext.inputItems[0]).attachments ) {

        if([itemProvider hasItemConformingToTypeIdentifier:@"public.png"]) {
            NSLog(@"itemprovider = %@", itemProvider);

            [itemProvider loadItemForTypeIdentifier:@"public.png" options:nil completionHandler: ^(id<NSSecureCoding> item, NSError *error) {

                NSData *imgData;
                if([(NSObject*)item isKindOfClass:[NSURL class]]) {
                    imgData = [NSData dataWithContentsOfURL:(NSURL*)item];
                }
                if([(NSObject*)item isKindOfClass:[UIImage class]]) {
                    imgData = UIImagePNGRepresentation((UIImage*)item);
                }

                NSDictionary *dict = @{
                                       @"imgData" : imgData,
                                       @"name" : self.contentText
                                       };
                NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.NewTelApps.GoFact"];
                [defaults setObject:dict forKey:@"img"];                              
                [defaults synchronize];
                [self.extensionContext completeRequestReturningItems:@[dict] completionHandler:nil];
                [self.extensionContext openURL:[NSURL URLWithString:@"Go2Fact://"]
                             completionHandler:nil];
            }];
        }
    }
}

有什么想法吗?

0 个答案:

没有答案