0

ファイルをサーバーにアップロードするためにasi-http-requestを使用しています。私のコードは以前は正常に動作していましたが、ある時点でクラッシュし始めました。クラッシュは 2 つの方法で発生します: - ファイルが適切にアップロードされ、進行状況が正常に機能しているが、最後に到達してアプリ全体がクラッシュするまで。- ユーザーがアップロードをキャンセルするために「キャンセル」ボタンを押したとき。

コンソールに次のエラーが表示されます: 「NSException」のインスタンスをスローした後に呼び出された終了: スレッド 1: プログラムがシグナルを受信しました: SIGABRT

これらは私が見る2つのエラーです。これ以上の情報はありません。

これはコードです:

request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:UPLOAD_URL_DEV]];
[request setDelegate:self];
[request setFile:videoFile forKey:@"video"];
[request setPostValue:longitude forKey:@"longitude"];
[request setPostValue:latitude forKey:@"latitude"];
[request setPostValue:horizontalAccuracy forKey:@"accuracytHorizontal"];
[request setPostValue:verticalAccuracy forKey:@"accuracyVertical"];    
[request setPostValue:context forKey:@"context"];
[request setPostValue:[UIDevice currentDevice].uniqueIdentifier forKey:@"deviceId"];
NSLog([NSString stringWithFormat:@"Upload Recording time: %@", currentTime]);
[request setPostValue:currentTime forKey:@"time"];
NSLog([NSString stringWithFormat:@"Facebook access token: %@", facebook.accessToken]);
[request setPostValue:facebook.accessToken forKey:@"accessToken"];

NSLog([NSString stringWithFormat:@"Facebook user id: %@", [defaults objectForKey:@"facebook_user_id"]]);

[request setPostValue:[defaults objectForKey:@"facebook_user_id"] forKey:@"userId"];
[request setUploadProgressDelegate:uploadProgress];
uploadProgress.progress = 0;
uploadProgress.hidden = NO;
labelSendVideo.hidden = NO;
NSLog(@"Starting async upload");
[request startAsynchronous];    

誰が何が悪いのか教えてもらえますか? 多分それはメモリの問題ですか?

4

1 に答える 1

1

「didFinish...」および「didFail...」デリゲートメソッドのコードはありません。

また、ダウンロードが終了またはキャンセルされる前に、デリゲートインスタンス(ここでは「自己」)の割り当てが解除されていないことを確認してください。

于 2011-06-25T04:48:23.977 に答える