11
"THREAD WARNING: ['Console'] took '81.661865' ms. Plugin should use a background thread." 

में चल रहा जबकि आईओएस Phonegap परियोजना। इसी तरह भौगोलिक स्थान और फाइल सिस्टम जैसे कुछ शेष प्लगइन के लिए।Cordova के रूप में एक चेतावनी दिखाता है "थ्रेड चेतावनी: [आपका समारोह] [n] एमएस लिया।" आईओएस

जैसा कि मैं फोनगैप के लिए नया हूं, कृपया कोई मुझे बता सकता है कि मैं पृष्ठभूमि थ्रेड पर प्लगइन कैसे चला सकता हूं।

मैंने this भी चेक किया है।

हम इस सूत्र चेतावनी को अनदेखा कर सकते हैं या यह आईओएस फोन-अंतराल में स्मृति समस्या से संबंधित है

धन्यवाद

+0

संभावित डुप्लिकेट [कॉर्डोबा प्लग इन चलाने के लिए पृष्ठभूमि में?] (http://stackoverflow.com/questions/22382260/how-to-run-cordova-plugins-in-the-background) –

+0

@Callodacity, हल करने के संबंध में मेरा प्रश्न पृष्ठभूमि में प्लगइन का उपयोग करते समय चेतावनी संदेश, लेकिन पृष्ठभूमि में कॉर्डोवा प्लगइन्स को चलाने के लिए नहीं, – Sujania

+0

ठीक कोई चिंता नहीं है, मैं सिर्फ –

उत्तर

6

प्रति this के रूप में। हल मेरी चेतावनी मुद्दा

मैंने पाया चेतावनी पर ध्यान नहीं दिया जा सकता है .लेकिन यह इस पाश का उपयोग कर पृष्ठभूमि धागा जोड़कर हल किया जा सकता है: (CDVLogger.m में)

[self.commandDelegate runInBackground:^{ 

    //add your code here 
} 

अब इस सांत्वना चेतावनी के लिए नीचे के रूप में दिखता है:

- (void)logLevel:(CDVInvokedUrlCommand*)command 
{ 
    [self.commandDelegate runInBackground:^{ 
    id level = [command argumentAtIndex:0]; 
    id message = [command argumentAtIndex:1]; 

    if ([level isEqualToString:@"LOG"]) { 
    NSLog(@"%@", message); 
    } else { 
     NSLog(@"%@: %@", level, message); 
    } 
}]; 
} 
+0

की जांच कर रहा था इसी प्रकार चेतावनी को कैमरा, भौगोलिक स्थान, पुशप्लगिन आदि के लिए हल किया जा सकता है "[self.commandDelegate runInBackground:^{//कोड यहां } " – Sujania

+1

यह केवल मुख्य धागे पर मुद्रित होने से लॉग को प्रतिबंधित करता है। यह सिर्फ संदेश को पृष्ठभूमि धागे पर खींचता है, लेकिन देरी की वास्तविक समस्या को हल नहीं करता है। –

1

भी जोड़ने के लिए,

किसी Git पर एक ठीक है एक तरह से sepcifically आईओएस Cordova के साथ एक पृष्ठभूमि के रूप में धागा जियोलोकेशन प्लगइन चलाने के लिए की तलाश में है तो हब।

यह एक्सकोड आउटपुट चेतावनी को हटा देता है: "थ्रेड चेतावनी: ['जिओलोकेशन'] ने 'एक्स' एमएस लिया। प्लगइन को पृष्ठभूमि धागे का उपयोग करना चाहिए।"

यहाँ से प्लगइन डाउनलोड करें: https://github.com/guillaumedev/cordova-plugin-geolocation

यहाँ

क्या (runInBackground जोड़ा) बदल दिया है: https://github.com/guillaumedev/cordova-plugin-geolocation/commit/8fbceca845441f4f421548f243d2f05573d11225

अधिक Cordova थ्रेडिंग के बारे में जानकारी: https://cordova.apache.org/docs/en/dev/guide/platforms/ios/plugin.html#threading

की
संबंधित मुद्दे