MKNetworkKit
için yeni'yum, ancak bunu projemde ekledim ve kullanılabilirlik değişiklikleriyle uğraşmak dışında mükemmel çalışıyor.MKNetworkKit işlemi, kullanılabilirlik değiştiğinde devam etmiyor/tamamlanmıyor
- ben WiFi devre dışı bırakmak ve uygulamayı çalıştırın: İşte durumdur.
- Ulaşılabilir olmamakla birlikte,benim
MKNetworkEngine
alt sınıfımdan bazı verileri (POST
kullanarak) kullanarak veriyorum. Veri talep edilmeden hemen önce, işlem dondurulabilir olarak ayarlanır (Mugunth Kumar's doc uyarınca). - WiFi'yi etkinleştirdikten sonra,
checkAndRestoreFrozenOperations
,MKNetworkEngine
'da çağrılır ve beklemede olan bekleyen bir işlemin (ulaşılabilirlik olmadan oluşturulan) olduğunu saptar. - Bundan sonra,
onCompletion
bloğum hiçbir zaman çağrılmaz.
MKNetworkKit
'da donma işlemleri ve erişilebilirlik hakkında anlamadığım bir şey var mı? Donma, yalnızca bir istek sonrası erişilebilirliğin değiştiği operasyonlar için çalışır mı? Ya da kendi ulaşılabilirliğimi değiştirdim blokunu değiştirmeli miyim?
Işlemi oluşturan ve isteği başlatan benim MKNetworkEngine
alt sınıfımdaki kod. Alakasız kodun bastırıldığını unutmayın.
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;
bir dizi kurmak mı motor Donmuş işlemlerin nasıl ele alınacağına bakarsanız, motor için tanımlanmış bir ana makine olmadıkça çalışmazlar. –
@KenWoo Evet. Motor alt sınıfımdaki init yöntemi "süper initWithHostName:]". –
msoler
@msoler Çalıştığını anladın mı? Benzer bir sorunum var – alandalusi