Cordova показывает предупреждение как "ПРЕДУПРЕЖДЕНИЕ ПО РЕЗЬБЕ: [Ваша функция] заняла [n] мс. " В iOS

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

Пока работает проект iOS Phonegap. Аналогично для некоторых из оставшихся плагинов, таких как геолокация и файловая система.

Поскольку я новичок в Phonegap, может кто-нибудь сказать мне, как я могу запустить плагин в фоновом потоке.

Я также проверил это.

Можем ли мы проигнорировать это предупреждение о потоке или это связано с проблемой памяти в iOS Phone-gap

Спасибо

2 ответа

Решение

Согласно этому. решил мою проблему с предупреждением

Я обнаружил, что предупреждение можно игнорировать. Но это может быть решено путем добавления фонового потока с помощью этого цикла:(в 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);
   }
 }];
}

Также добавить,

Если кто-то ищет способ запустить плагин Geolocation как фоновый поток с iOS Cordova, то есть исправление для GitHub.

Он удаляет предупреждение о выходе Xcode: "ПРЕДУПРЕЖДЕНИЕ ПО РЕЗЬБЕ: ['Geolocation]] заняло" X "мс. Плагин должен использовать фоновый поток".

Загрузите плагин здесь: https://github.com/guillaumedev/cordova-plugin-geolocation

Вот что изменилось (добавлено runInBackground): https://github.com/guillaumedev/cordova-plugin-geolocation/commit/8fbceca845441f4f421548f243d2f05573d11225

Дополнительная информация о Cordova Threading: https://cordova.apache.org/docs/en/dev/guide/platforms/ios/plugin.html

Другие вопросы по тегам