0

如何在 ios 应用扩展中使用 AFNetworking 上传?

苹果的例子使用了 NSURLSession,你能解释一下它是如何工作的吗?

- (void)didSelectPost {
NSExtensionItem *imageItem = [self.extensionContext.inputItems lastObject];


// Verify that we have a valid NSExtensionItem
if (!imageItem) {
    return;
}

// Verify that we have a valid NSItemProvider
NSItemProvider *imageItemProvider = [[imageItem attachments] firstObject];
if (!imageItemProvider) {
    return;
}

// Look for an image inside the NSItemProvider
if ([imageItemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeImage]) {
    [imageItemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(id item, NSError *error) {
        if (item)
        {

            NSData *data = [NSData dataWithContentsOfURL:item];
            [self method:data];
        }

        [self.extensionContext completeRequestReturningItems:nil completionHandler:nil];
    }];
}

}

如何使用此方法或使用 AFNetworking 或使用我的应用程序上传此数据?

- (void)method:(NSData *)data
{
    NSString *confName = @"com.example.photoblog.backgroundconfiguration";
    NSURLSessionConfiguration *conf = [NSURLSessionConfiguration backgroundSessionConfiguration:confName];

    NSURLSession *session = [NSURLSession sessionWithConfiguration:conf delegate:self delegateQueue:nil];

    NSURLRequest *requeust = [self requestForExtensionItems];
    NSURLSessionUploadTask *upload = [session uploadTaskWithStreamedRequeust:request];

    [upload resume];

}
4

1 回答 1

0

您应该设置应用程序组您的扩展程序和包含应用程序,然后像这样配置会话

config.sharedContainerIdentifier =  @"group.xxxxx";

您可以通过本教程参考更多信息 http://www.shinobicontrols.com/blog/posts/2014/07/21/ios8-day-by-day-day-2-sharing-extension

于 2014-09-06T08:25:33.157 回答