1

因此,我为我的应用程序提供了这个 iOS 共享扩展,didSelectPost()当单击“POST”按钮时,它会将结果发送到我的服务器。在模拟器上一切正常;请求已发送,我可以看到数据包在 Charles 中发出。

在 iOS 9 上,共享扩展程序正确启动,但请求未在didSelectPost函数中发送。

我不确定我的 Share Extension 或NSURLSession.

编码 -

- (void)didSelectPost {

    //Get session configuration
    NSString * const configName = @"com.xx.xxx";
    self.sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:configName];
    self.sessionConfiguration.sharedContainerIdentifier = @"group.xx.ShareURL";

    //Init NSURLSession
    self.session  = [NSURLSession sessionWithConfiguration:self.sessionConfiguration];
    NSURLRequest *request = [self postContentToService:self.shareUrl.absoluteString];

    //post request
    self.sessionTask = [self.session dataTaskWithRequest:request];

    //resume
    [self.sessionTask resume];

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

任何帮助表示赞赏。

4

1 回答 1

0

原来我使用的是 HTTP 而不是 HTTPS,而ATP的东西正在阻止我所有的 NSURLRequests,没有任何形式的注意。

我们推动我们的服务器团队切换到允许 HTTPS 并使用 HTTPS 连接,现在一切正常。

于 2016-03-03T14:31:11.400 回答