Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova将警告显示为“警告”;线程警告:[您的函数]占用了[n]毫秒。”;在iOS中_Ios_Thread Safety_Cordova Plugins_Background Thread_Cordova 3.8.0 - Fatal编程技术网

Cordova将警告显示为“警告”;线程警告:[您的函数]占用了[n]毫秒。”;在iOS中

Cordova将警告显示为“警告”;线程警告:[您的函数]占用了[n]毫秒。”;在iOS中,ios,thread-safety,cordova-plugins,background-thread,cordova-3.8.0,Ios,Thread Safety,Cordova Plugins,Background Thread,Cordova 3.8.0,运行iOS Phonegap项目时。类似地,对于其他一些插件,如地理位置和文件系统 由于我是Phonegap新手,请任何人告诉我如何在后台线程上运行插件 我也查过了 我们是否可以忽略此线程警告,或者它与iOS Phone gap中的内存问题有关 根据,谢谢。解决了我的警告问题 我发现警告可以忽略。但这可以通过使用以下循环添加后台线程来解决:(在CDVLogger.m中) 现在,控制台警告如下所示: [self.commandDelegate runInBackground:^{ //

运行iOS Phonegap项目时。类似地,对于其他一些插件,如地理位置和文件系统

由于我是Phonegap新手,请任何人告诉我如何在后台线程上运行插件

我也查过了

我们是否可以忽略此线程警告,或者它与iOS Phone gap中的内存问题有关

根据,谢谢。解决了我的警告问题

我发现警告可以忽略。但这可以通过使用以下循环添加后台线程来解决:(在CDVLogger.m中)

现在,控制台警告如下所示:

 [self.commandDelegate runInBackground:^{

    //add your code here
 }
还要补充一点

如果有人想在iOS Cordova上以后台线程的形式运行地理定位插件,那么GitHub上有一个补丁

它删除了Xcode输出警告:“线程警告:['Geolocation']take'X'ms.插件应该使用后台线程。”

从此处下载插件:

以下是更改的内容(添加了runInBackground):

有关Cordova线程的更多信息:

类似地,可以解决摄像头、地理位置、pushplugin等的警告“[self.commandDelegate runInBackground:^{//code here}”这只会限制日志打印在主线程上。这只是将消息拉到后台线程,但不能解决延迟的实际问题。可能重复@Callodacity,我的问题是在后台使用插件时解决警告消息,而不是如何在后台运行cordova插件好的,不用担心,我只是检查一下
 [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);
   }
 }];
}