Плагины iOS PhoneGap перестают работать после добавления CocoonJS iOS WebView+ Plugin
Как видно из названия. Добавление плагина CocoonJS iOS WebView+ в мой проект Cordova PhoneGap останавливает его загрузку и запуск плагинов.
Я также попробовал это с пустым проектом, и это также не работало.
Вот как я добавляю плагин CocoonJS:
cocoonjs plugin add com.ludei.ios.webview.plus
Я попробовал это со следующими плагинами:
com.google.cordova.admob 1.1.1 "AdMob Plugin Pro"
com.ludei.ios.webview.plus 1.0.4 "Webview+"
com.rjfun.cordova.plugin.lowlatencyaudio 1.1.4 "LowLatencyAudio"
nl.x-services.plugins.socialsharing 4.3.7 "SocialSharing"
org.apache.cordova.camera 0.3.2 "Camera"
Никто из них не работал.
Для SocialSharing вызывается функция инициализации. Но ни одна из других функций плагина не вызывается.
Для остальных плагинов даже функции инициализации не вызываются.
После сравнения проекта с WebView + и без него, кажется, место, из которого он вызывает инициализацию плагина, находится в CordovaLib.xcodeproj/Classes/Cleaver/CDViewController.m, в строке 669 он пытается загрузить плагины, проверяя, если схема URL для приложения PhoneGap:
(
BOOL)webView:(UIWebView)theWebView shouldStartLoadWithRequest:(NSURLRequest)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL* url = [request URL];
/* Execute any commands queued with cordova.exec() on the JS side.
The part of the URL after gap:// is irrelevant. */
if ([[url scheme] isEqualToString:@"gap"])
{
[commandQueue fetchCommandsFromJs]; // The delegate is called asynchronously in this case, so we don't have to use // flushCommandQueueWithDelayedJs (setTimeout(0)) as we do with hash changes.
[commandQueue executePending];
return NO;
}
...
}
В моем проекте PhoenGap без CocoonJS, theWebView shouldStartLoadWithRequest
вызывается 3 раза. В последний раз с @"gap://ready"
,
Затем он вводит эту часть кода и загружает все плагины.
С CocoonJS, theWebView shouldStartLoadWithRequest
вызывается только один раз, и никогда с @"gap://ready"
, Так что ни один из плагинов никогда не инициализируется.
На сайте CocoonJS они, кажется, указывают, что вы можете использовать плагины PhoneGap с WebView+.
Кто-нибудь знает, как решить эту проблему?
Спасибо!
1 ответ
И вот официальный ответ: они не поддерживают плагины PhoneGap.
Привет,
Извините за поздний ответ и за плохие новости. Мы еще не совместимы с плагинами PhoneGap. Кроме того, я не знаю, будем ли мы в ближайшее время.
С уважением.