抱歉,该网页目前还不存在中文版本,请继续浏览其他网页!

嵌入模式 & 原生API

嵌入模式使得应用开发人员可以将Crosswalk运行时环境嵌入到他们自己的iOS应用中。主要接口便是XWalkView,它是由WKWebView演变而来。当你需要使用WKWebView或者UIWebView来加载页面或者整个web应用时可以使用它。它也支持Crosswalk运行时环境提供的Crosswalk扩展包和Cordova插件。

使用嵌入式模式创建一个应用

你可以参考AppShell的实现,它是一个独立应用程序,其中一个单独的ViewController将Crosswalk XwalkView封装成它的main view。

嵌入式API

XWalkView

XWalkView源自WKWebView并对WKWebView进行了如下扩展:

public func loadExtension(object: AnyObject, namespace: String)

loadExtension被用来加载Crosswalk运行时环境的扩展实例对象,并将实例对象注入到JavaScript环境下的namespace中。

public func loadFileURL(URL: NSURL, allowingReadAccessToURL readAccessToURL: NSURL) -> WKNavigation?

loadFileURL使得WKWebView可以加载'file://'模式的URL。这是一个存在于iOS 8中WKWebView的bug。一旦这个问题被后续版本的iOS SDK修复,这个API便可以被移除。

XWalkExtensionFactory

这个类负责创建命名的扩展实例。扩展实例应该被打包成框架并放在应用的Frameworks文件夹下。

public class func createExtension(name: String) -> AnyObject?
public class func createExtension(name: String, initializer: Selector, arguments: [AnyObject]) -> AnyObject?
public class func createExtension(name: String, initializer: Selector, varargs: AnyObject...) -> AnyObject?