2

タイトルの通りです。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; 
    }
...
}

CocoonJS を使用しない私の PhoenGap プロジェクトでtheWebView shouldStartLoadWithRequestは、3 回呼び出されます。との最後の時間@"gap://ready"

次に、コードのその部分に入り、すべてのプラグインをロードします。

CocoonJS では、theWebView shouldStartLoadWithRequest一度だけ呼び出され、@"gap://ready". したがって、どのプラグインも初期化されません。

CocoonJS サイトでは、PhoneGap プラグインを WebView+ で使用できることが示されているようです。

誰でもこの問題を解決する方法を知っていますか?

ありがとう!

4

1 に答える 1

0

公式の回答は次のとおりです。phonegap プラグインはサポートされていません。

こんにちは、

返事が遅くなり、残念なお知らせで申し訳ありません。PhoneGap プラグインにはまだ対応していません。また、近い将来そうなるかどうかもわかりません。

よろしく。

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

于 2014-12-29T19:27:48.173 に答える