Плагины 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. Кроме того, я не знаю, будем ли мы в ближайшее время.

С уважением.

http://support.ludei.com/hc/communities/public/questions/201575145-iOS-PhoneGap-Plugins-not-loading-after-adding-CocoonJs-plugin

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