运行以下代码时,我在Xcode控制台上收到错误:
// Create session
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]];
// Create request
NSURL *url = [NSURL URLWithString:@"https://my.backend.com/endpoint"];
NSMutableURLRequest *mutableRequest = [NSMutableURLRequest requestWithURL:url];
mutableRequest.HTTPMethod = @"POST";
[mutableRequest setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
NSData *postBody = [@"my_string_payload" dataUsingEncoding:NSUTF8StringEncoding];
[mutableRequest setHTTPBody:postBody];
// Create and initiate task
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:mutableRequest];
[dataTask resume];
我得到的错误如下:
... [Common] _BSMachError: port c11b; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
... [Common] _BSMachError: port c11b; (os/kern) invalid name (0xf) "Unable to deallocate send right"
运行resume
方法时会显示错误。一切似乎工作正常,没有崩溃,请求按预期工作。
我已经找到了这个错误消息,它通常被发现与1)奇怪的Xcode问题(例如this)或2)UI元素生命周期(例如here)有关。这些似乎不适用于这种情况。
我正在使用Xcode 8.3.3。
答案 0 :(得分:0)
我刚刚意识到只有在使用断点运行时才会出现错误。当我在没有断点的情况下运行此部分时,请求仍然按预期工作,并且控制台中没有错误,因此在使用断点调试NSURLSessionDataTask时,这似乎只是一个问题。