[英]Crosswalk extension not working in iOS
我正在嘗試為自己的應用在iOS(Objective-C)的iOS中進行Crosswalk擴展,該應用在Crosswalk運行時中顯示一個網站,但無法正常工作。 以下是詳細信息:
在CocoaTouch框架項目的MyXWalkExtension.h文件中添加了以下代碼:
#import <UIKit/UIKit.h> #import <XWalkView/XWalkView.h> //! Project version number for MyXWalkExtension. FOUNDATION_EXPORT double MyXWalkExtensionVersionNumber; //! Project version string for MyXWalkExtension. FOUNDATION_EXPORT const unsigned char MyXWalkExtensionVersionString[]; @interface MyXWalkExtension : XWalkExtension @end @interface MyXWalkExtension () - (void) jsfunc_myFunction:(UInt32*)callId message:(NSString *)myVariable; @end @implementation MyXWalkExtension - (void) jsfunc_myFunction:(UInt32*)callId message:(NSString *)myVariable { NSLog(@"MY VARIABLE: %@", myVariable); } @end
向CocoaTouch框架項目添加了extensions.plist(找不到更好的方式顯示.plist內容),如下所示:
<plist> <dict> <key>XWalkExtensions</key> <dict> <key>xwalk.myxwalkextension.MyXWalkExtension</key> <string>MyXWalkExtension</string> </dict> </dict> </plist>
向CocoaTouch框架項目添加了manifest.plist:
<plist> <dict> <key>xwalk_extensions</key> <array> <key>item 0</key> <string>xwalk.myxwalkextension.MyXWalkExtension</string> </array> </dict> </plist>
從javascript調用如下:
xwalk.myxwalkextension.MyXWalkExtension.myFunction('100');
我檢查了上述javascript代碼塊是否正在執行以及是否正在執行,但沒有在xcode日志記錄控制台中獲取日志。 因為我認為jsfunc_myFunction
沒有從javascript調用。 我不知道我在想什么或做錯了什么。 我正在追蹤人行橫道項目網站 。 我知道在Android的情況下我們不需要擴展Crosswalk運行時,在這里我們可以通過提供javascript接口從javascript調用Android本機方法,但是在iOS中不是這樣。 因此,我決定擴展Crosswalk運行時。 人行橫道項目的網站沒有太多描述性和詳細信息。 我是否忘記將擴展嵌入到我的項目中,如果可以,我該怎么做?
[XWalkExtensionFactory register:@"xwalk.myxwalkextension.MyXWalkExtension" cls:[MyXWalkExtension class]];
//where xWalkView is XWalkView (Crosswalk's WebView).
[self.xWalkView loadExtension:[XWalkExtensionFactory createExtension:@"xwalk.myxwalkextension.MyXWalkExtension"] namespace:@"xwalk.myxwalkextension.MyXWalkExtension"];
我必須加載XWalkExtension並將其嵌入到ViewController.m中的應用程序中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.