を変更したときに、私はMKNetworkKit
に新たなんだけど、私は自分のプロジェクトに追加することができましたし、それは完全に到達可能性の変化を扱うときを除いて取り組んでいます。ここでMKNetworkKit操作が完了/再開しません到達可能性が
は状況です:
- 私は無線LANを無効にして、アプリを実行します。
- 私は
MKNetworkEngine
サブクラスからMKNetworkOperation
を作成して、到達可能性がなくても(POST
を使用して)リクエストします。データを要求する直前に、操作はフリーズ可能(Mugunth Kumar's doc)です。 - のWiFiを有効にした後、
MKNetworkEngine
でcheckAndRestoreFrozenOperations
が呼び出され、それがエンキューしようとする1つの保留中の操作(到達可能性なしで作成したもの)は、ある検出します。その後 - 、私の
onCompletion
ブロックが呼び出されることはありません。
フリーズ操作+到達可能性についてわからないことはMKNetworkKit
にありますか?フリーズは、リクエストが開始された後に到達可能性が変化する操作の場合にのみ機能しますか?または私自身の到達可能性を変更して実装する必要がありますか?ブロック?ここで
は、操作を作成し、要求を開始し、私のMKNetworkEngine
サブクラスのコードです。無関係のコードは抑制されていることに注意してください。
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:@"value" forKey:@"param"];
MKNetworkOperation *op = [self operationWithPath:MYPATH
params:params
httpMethod:@"POST"];
[op setFreezable:YES];
[op onCompletion:^(MKNetworkOperation *completedOperation) {
// ...
// Here is where I process response and send the result to my completion block
// It's called when WiFi is available, but not called otherwise.
// ...
} onError:^(NSError *error) {
// It's called when WiFi is available, but not called otherwise.
DLog(@"Some error");
}];
[self enqueueOperation:op];
return op;
を設定しましたそのエンジン?凍結された操作がどのように処理されるかを見ると、エンジンに定義されたホストがないかぎり動作しません。 –
@KenWooはい。私のエンジンサブクラスのinitメソッドは '[super initWithHostName:]'を呼び出します。 –
msoler
@msolerあなたはそれを稼働させましたか?私も同様の問題があります。 – alandalusi