私はiOSアプリケーションで作業していますが、AFNetworkingを使用してhttp要求を行う際に問題があります。AFNetworking setCompletionBlock内のEXC_BAD_ACCESS
コードを実行すると、エラーが発生します:EXC_BAD_ACCESS(コード= 2アドレス= 0x0)。 setCompletionBlockを実行しようとするとエラーが発生しています。
私はObjective-Cを初めて使っています。これは私に悩まされています。
ありがとうございます。誰もが助けてくれてありがとう!
#import "AFNetworking.h"
#import <Cordova/CDV.h>
#import "UploadImg.h"
@implementation UploadImg
- (void) uploadImg:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options{
NSURL *url = [NSURL URLWithString:@"http://test.com/mobile/"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = [NSData dataFromBase64String:[arguments objectAtIndex:1]];
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setObject:@"TEST_STYLE" forKey:@"styleType"];
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload.php" parameters:params constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData:imageData name:@"imageName" fileName:@"image.png" mimeType:@"image/png"];
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"success");
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error");
}];
[operation start];
}
@end
おかげで再び!
こんにちはMattt、返信に感謝。スクリーンショットを追加しました。私がスタックトレースの間違った場所を探しているかどうか教えてください。これは、私がphonegap/cordovaアプリケーションのために取り組んでいるプラグインのネイティブ部分です。だから、それはjavascriptファイルから呼び出されて、私は第二引数としてbase64でエンコードされたpngを渡しています。お時間をいただきありがとうございます! – kevinstueber
好奇心をそそり、メソッドの引数から取得するのではなく、base64イメージの文字列をハードコードし、同じエラーが発生しました。私が 'operation setCompletionBlock ...'部分をコメントアウトすると、エラーは発生しません... – kevinstueber