我正在使用 GCDWebServer 将我的 iPhone 上的图片分享到本地网络上的其他设备。
我试图在我自己的块中调用 GCDWebServerCompletionBlock 但我的应用程序崩溃没有任何日志但 GCDWebServerConnection 上的“信号 SIGABRT”:
GWS_DCHECK(_responseMessage == NULL);
但是,如果我直接在我的块之外返回响应,一切正常。
这是我的代码:
-(void)handleMediaRequest:(GCDWebServerRequest *)request completion:(GCDWebServerCompletionBlock)completionBlock {
//...
URLParser *parser = [[URLParser alloc] initWithURLString:url];
NSString *photoId = [parser valueForVariable:@"id"];
[[PhotoLibraryManager photoLibraryManager] getPhotoWithId:photoId completionBlock:^(UIImage *image) {
NSData *data = UIImageJPEGRepresentation(image, 0.70);
completionBlock([GCDWebServerDataResponse responseWithData:data contentType:@"application/octet-stream"]);
} failureBlock:^(NSError *error) {
completionBlock([GCDWebServerDataResponse responseWithStatusCode:404]);
}];
}
如何在我自己的块内调用 GCDWebServerCompletionBlock?