Visual Studio зависает при удаленной отладке приложения Cordova iOS

Я использую Visual Studio 2013 с «Инструментами для Apache Cordova». На странице настроек «Конфигурация удаленного агента» инструментов Cordova я включил удаленную обработку iOS.

Во время удаленной отладки приложения iOS Cordova Visual Studio зависает, когда я устанавливаю точку останова для проверки результата плагина Cordova. Затем мне нужно перезапустить Visual Studio.

Точка останова на строке, которая выполняется перед вызовом плагина Cordova, работает без проблем... Также работает сохранение результата плагина Cordova в переменной, а затем проверка его с помощью другого обработчика событий щелчка.

Кто-то еще замечает эту проблему? Не могли бы вы это исправить?


person lukas99    schedule 30.04.2015    source источник
comment
Было бы полезно узнать больше подробностей. Не могли бы вы поделиться фрагментом кода и дополнительной информацией о плагине, который вы используете? Это также происходит, если вы создаете и развертываете на Android или WinPhone с одним и тем же подключаемым модулем? Это происходит с другими плагинами?   -  person Ellen    schedule 01.05.2015
comment
Что такое плагин? Другие плагины вызывают такую ​​же проблему?   -  person Steve Kennedy    schedule 02.05.2015
comment
Я использую плагин для файлов Cordova и 2 самописных плагина. У всех одна и та же проблема. В следующей статье Рик говорит, что он может без проблем использовать отладку: weblog.west-wind.com/posts/2015/Jan/06/   -  person lukas99    schedule 04.05.2015


Ответы (1)


У меня была такая же проблема с самописными плагинами.

Попробуйте запустить ваш плагин в фоновом потоке. Тогда отладка должна работать без проблем. Посмотрите на следующий фрагмент кода:

- (void)myMethod:(CDVInvokedUrlCommand*)command
{
       NSString* callbackId = command.callbackId;

       [self.commandDelegate runInBackground:^{
             // your plugin logic comes here

             // successful plugin execution
             CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@"success"];
             [self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId];
       }

       return;
}
person hirtenfelder    schedule 04.05.2015
comment
Большое спасибо hirtenfelder. Это решает проблему отладки моих самописных плагинов. Но с файловым плагином Cordova у меня все та же проблема... - person lukas99; 04.05.2015