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

While running iOS Phonegap project. Similarly for some of the remaining plugins like geolocation and filesystem.

As I am new to Phonegap ,can please anyone tell me how can I run the plugin on background thread.

I have checked this also.

Can we ignore this thread warning or is it related to memory issue in iOS Phone-gap

thanks

soumya
  • 3,801
  • 9
  • 35
  • 69

2 Answers2

5

As per this. solved my warning issue

I found warning can be ignored .But this can be solved by adding background thread using this loop:(In CDVLogger.m)

 [self.commandDelegate runInBackground:^{

    //add your code here
 }

Now this looks as below for console warning:

- (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);
   }
 }];
}
soumya
  • 3,801
  • 9
  • 35
  • 69
  • Similarly the warning can be solved for camera ,geolocation,pushplugin etc "[self.commandDelegate runInBackground:^{//code here }" – soumya Jun 01 '15 at 12:34
  • 2
    this only restricts log from being printed on main thread. This one just pulls the message to background thread, but does not solve the actual problem of the delay. – Milan Manwar Jun 01 '17 at 13:15
1

Also to add,

If someone is looking for a way to run sepcifically the Geolocation plugin as a background thread with iOS Cordova there is a fix on GitHub.

It removes the Xcode output warning: "THREAD WARNING: ['Geolocation'] took 'X' ms. Plugin should use a background thread."

Download the plugin from here: https://github.com/guillaumedev/cordova-plugin-geolocation

Heres whats changed (runInBackground added): https://github.com/guillaumedev/cordova-plugin-geolocation/commit/8fbceca845441f4f421548f243d2f05573d11225

More information about Cordova Threading: https://cordova.apache.org/docs/en/dev/guide/platforms/ios/plugin.html#threading

K-G
  • 2,799
  • 4
  • 26
  • 42