如何检查我是否在 cordova 应用程序中使用 WKWebview 而不是 UIWebview
How to check am I using WKWebview instead of UIWebview in cordova app
我的应用程序在使用 Adobe PhoneGap Build 时出现显示问题。我通过将 UIWebveiw 迁移到 WKwebview 以某种方式解决了它。由于 PhoneGap Build 结束了它的服务,我正在尝试使用 cordova 命令来构建我的应用程序,但出现了同样的问题。
我尝试了几个 config.xml 设置,还尝试将 Xcode 的“构建设置”>“用户定义”>“WK_WEB_VIEW_ONLY”设置为 1。但仍然有这个问题。
我不确定我是否在使用WKwebview。如果不是,我的设置有什么问题?如果是,接下来我应该尝试什么?
以下是我构建应用程序的方式:
- 我通过
cordova create <Folder> <BundleID> <MyProjectName>
创建我的项目
- 将我的网站放入“www”文件夹
- 然后
cordova platform add ios
(我用的是cordova-ios@6.2.0)
- 单击我的 .xcodeproj 并单击 Xcode 中的构建按钮(类似于“播放”的三角形按钮)。
这是我的 config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.test.test" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>test</name>
<description>Sample Apache Cordova App</description>
<author email="dev@cordova.apache.org" href="https://cordova.apache.org">
Apache Cordova Team
</author>
<content src="index.html" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</widget>
my files image
这是我的 main.m ,我不熟悉 swift 但它似乎在我的应用程序中使用 UIWebveiw 而不是 WKwebview。
#import <UIKit/UIKit.h>
int main(int argc, char* argv[])
{
@autoreleasepool {
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
return retVal;
}
}
这个问题困扰了我很长时间,我想不通为什么以及如何解决。
先谢谢你了。
如果你已经升级到Cordova iOS 6+,就不需要再指定WKWebView了,因为它默认是WebView。
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
这些在 Cordova 中已过时
我的应用程序在使用 Adobe PhoneGap Build 时出现显示问题。我通过将 UIWebveiw 迁移到 WKwebview 以某种方式解决了它。由于 PhoneGap Build 结束了它的服务,我正在尝试使用 cordova 命令来构建我的应用程序,但出现了同样的问题。
我尝试了几个 config.xml 设置,还尝试将 Xcode 的“构建设置”>“用户定义”>“WK_WEB_VIEW_ONLY”设置为 1。但仍然有这个问题。
我不确定我是否在使用WKwebview。如果不是,我的设置有什么问题?如果是,接下来我应该尝试什么?
以下是我构建应用程序的方式:
- 我通过
cordova create <Folder> <BundleID> <MyProjectName>
创建我的项目
- 将我的网站放入“www”文件夹
- 然后
cordova platform add ios
(我用的是cordova-ios@6.2.0) - 单击我的 .xcodeproj 并单击 Xcode 中的构建按钮(类似于“播放”的三角形按钮)。
这是我的 config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.test.test" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>test</name>
<description>Sample Apache Cordova App</description>
<author email="dev@cordova.apache.org" href="https://cordova.apache.org">
Apache Cordova Team
</author>
<content src="index.html" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</widget>
my files image
这是我的 main.m ,我不熟悉 swift 但它似乎在我的应用程序中使用 UIWebveiw 而不是 WKwebview。
#import <UIKit/UIKit.h>
int main(int argc, char* argv[])
{
@autoreleasepool {
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
return retVal;
}
}
这个问题困扰了我很长时间,我想不通为什么以及如何解决。 先谢谢你了。
如果你已经升级到Cordova iOS 6+,就不需要再指定WKWebView了,因为它默认是WebView。
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
这些在 Cordova 中已过时