मैं MKNetworkKit
पर नया हूं, लेकिन मैं इसे अपने प्रोजेक्ट में जोड़ सकता हूं और पहुंचने योग्य परिवर्तनों से निपटने के अलावा यह पूरी तरह से काम कर रहा है।एमकेनेटवर्ककिट ऑपरेशन तब तक शुरू नहीं होता है जब पहुंच क्षमता बदलती है
- मैं वाईफ़ाई अक्षम करें और अनुप्रयोग चलाने:
यहाँ स्थिति है।
- पहुंच के बिना भी, मैं अपने
MKNetworkEngine
सबक्लास सेMKNetworkOperation
बनाकर कुछ डेटा (POST
का उपयोग करके) अनुरोध करता हूं। डेटा का अनुरोध करने से ठीक पहले, ऑपरेशन को फ्रीजबल के रूप में सेट किया गया है (Mugunth Kumar's doc के अनुसार)। - वाईफाई सक्षम करने के बाद,
checkAndRestoreFrozenOperations
MKNetworkEngine
में कहा जाता है और यह पता लगाता है कि एक लंबित ऑपरेशन (पहुंच के बिना बनाया गया कोई भी) है, जो एनक्यू करने की कोशिश करता है। - उसके बाद, मेरे
onCompletion
ब्लॉक को कभी नहीं कहा जाता है।
क्या कुछ भी है जो मुझे फ्रीजिंग ऑपरेशंस के बारे में समझ में नहीं आता है + MKNetworkKit
में पहुंच योग्यता? क्या फ्रीज केवल उन परिचालनों के लिए काम करता है जहां अनुरोध शुरू होने के बाद पहुंच में परिवर्तन होता है? या मुझे अपनी खुद की पहुंच क्षमता को लागू करना चाहिए ब्लॉक?
यहां मेरे MKNetworkEngine
उपclass में कोड है जो ऑपरेशन बनाता है और अनुरोध शुरू करता है। ध्यान दें कि अप्रासंगिक कोड दबा दिया गया है। पूरा फिर से शुरू बनाम:
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;
आप में एक मेजबान में सेट किया था इंजन? यदि आप देखते हैं कि कैसे जमे हुए संचालन का सामना किया जाता है, तो वे तब तक काम नहीं करते जब तक कि इंजन के लिए एक होस्ट परिभाषित न हो। –
@ केनव्यू हां। मेरे इंजन उपclass में init विधि '[सुपर initWithHostName:] 'कहते हैं। –
msoler
@msoler क्या आप इसे काम करने के लिए मिला? मुझे एक ही समस्या है – alandalusi