quattro_4 scribble

scribble 落書き (調べた事をただ落書きする)

NSScreencast Episode #145 Share Extensions Part 2

Share Extensions Part 2 - NSScreencast

Imgurという画像共有サービス連携のアップロード部分の実装

  • ImgurApi init
    • session
      • self.sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
      • self.sessionConfig.HTTPAdditionalHeaders = [self authorizationHeader];
      • self.session = [NSURLSession sessionWithConfiguration:self.sessionConfig];
    • backgroundSession
      • self.backgroundSessionConfig = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.nsscreencast.ImgShare.BackgroundSession"];
      • self.backgroundSessionConfig.sharedContainerIdentifier = @"group.com.nsscreencast.ImgShare";
      • self.backgroundSession = [NSURLSession sessionWithConfiguration:self.backgroundSessionConfig
    • callbacks
      • self.callbacks = [NSMutableDictionary dictionary];
      • self.requestData = [NSMutableDictionary dictionary];
  • App Group
  • uploadImageAtURL
    • NSURLSessionUploadTask *upload = [self.backgroundSession uploadTaskWithRequest:request fromFile:imageURL];
    • self.callbacks[upload] = [completion copy];
    • [upload resume];
  • ShareViewController didSelectPost
    • [[ImgurApi sharedApi] uploadImageAtURL:self.imageURL