将构建文件上传到AppStoreConnect时(通过
对其进行测试)
例如TestFlight),我就知道了众所周知的弃用方法
讯息:
ITMS-90809:不赞成使用API-使用新应用程序
不再接受UIWebView。而是将WKWebView用于
提高了安全性和可靠性。了解更多
(https://developer.apple.com/documentation/uikit/uiwebview)。
我做了什么: 1)删除ios平台并添加V5.1.0 ios平台。
2)在config.xml中添加以下内容
3)冉离子科尔多瓦建立iOS
我正在使用的cordova插件列表:
cordova-plugin-add-swift-support 2.0.2“ AddSwiftSupport”
cordova-plugin-camera 4.1.0“相机”
cordova-plugin-chooser 1.2.6“选择器”
cordova-plugin-contacts 3.0.1“联系人”
cordova-plugin-device 2.0.2“设备”
cordova-plugin-file 6.0.2“文件”
cordova-plugin-file-transfer 1.7.1“文件传输”
cordova-plugin-filepath 1.5.8“ cordova-plugin-filepath”
cordova-plugin-googleplus 5.2.1 "Google SignIn"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.2.1 "cordova-plugin-ionic-webview"
cordova-plugin-media-capture 3.0.3 "Capture"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-stripe 1.5.3 "cordova-plugin-stripe"
cordova-plugin-telerik-imagepicker 2.3.3 "ImagePicker"
cordova-plugin-video-editor 1.1.3 "VideoEditor"
cordova-plugin-whitelist 1.3.3 "Whitelist"
ionic-plugin-deeplinks 1.0.20 "Ionic Deeplink Plugin"
离子信息: 离子性: ionic(Ionic CLI):4.10.3(/ usr / local / lib / node_modules / ionic)Ionic框架: 在此处输入代码 离子角3.9.9 @ ionic / app-scripts:3.2.4
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
科尔多瓦
平台:ios 5.1.0
Cordova插件:
cordova-plugin-ionic-keyboard 2.2.0,cordova-plugin-ionic-webview
4.2.1(和其他17个插件)
系统: ios-deploy:1.9.4 ios-sim:8.0.2
NodeJS:v10.15.1(/ usr / local / bin / node)
npm:6.4.1
OS:macOS Mojave
Xcode:Xcode 11.3.1 Build 11C504
有人知道什么可能导致此问题吗?
非常感谢您!
答案 0 :(得分:1)
正如他们在Understanding ITMS-90809: UIWebView API Deprecation中所说:
cordova plugin add cordova-plugin-ionic-webview@latest
另外,使用Cordova iOS 5.1.1
此修补程序版本中最值得注意的修复是使 等待平台添加步骤完成的步骤。 这解决了 添加之前设置WKWebViewOnly标志时看到的错误 平台。
ionic cordova platform remove ios
ionic cordova platform add ios@5.1.1
在 config.xml 中添加:
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>
有关此内容的更多信息,请参见文章How To Use 'WKWebViewOnly'。
上面的示例使用了cordova-plugin-wkwebview-engine插件:
cordova-plugin-wkwebview-engine
,最好是最新版本1.2.1 preference
属性CordovaWebViewEngine
添加到config.xml
feature
属性CDVWKWebViewEngine
添加到config.xml
preference
WKWebViewOnly
添加到config.xml
最后但并非最不重要的:
ionic cordova prepare ios
我希望这会有所帮助。我已经按照这些步骤操作,并且 App Store 的更新没有任何问题。
答案 1 :(得分:0)
检查CordovaLib目标-> Build Stettings->项目的用户定义(非常底部)。您在此处找到WK_WEB_VIEW_ONLY = 0
将此设置为WK_WEB_VIEW_ONLY = 1
不能通过GCC_PREPROCESSOR_DEFINITIONS设置宏。您还可以使用Xcode搜索WK_WEB_VIEW_ONLY,如果将Flag设置为0,它将快速显示。
仅当configure.xml包含<preference name="WKWebViewOnly" value="true" />
在创建新的ios项目时时,Cordova才会更改此标志。因此,除了添加首选项外,还可以在XCode中手动将其更改为1。
答案 2 :(得分:0)
最新更新苹果删除了 UIWebView 使用,因此使用此 UIWebView 提交的应用将被拒绝,他们希望使用 WKWebView 构建应用以提高安全性和可靠性。
注意:如果您添加了此插件“cordova-plugin-wkwebview-engine”并运行“npm i cordova-plugin-wkwebview-engine”,请撤消这些步骤,即(删除插件和npm 卸载它)。因为这将导致构建 ios 步骤失败并出现错误 65。
为了在我们现有的项目中实现这一点,我们需要按顺序执行这些步骤,以便我们的应用程序在 App Store 中部署。
1). ionic cordova platform remove ios
2). ionic cordova plugin remove cordova-plugin-ionic-webview
3). ionic cordova plugin add cordova-plugin-ionic-webview@latest
4). npm install @ionic-native/ionic-webview@latest
5). Add following XML code in config.xml file under platform ios
// These preferences and feature will automatically replace UIWebView to WKWebView in all the places of code during compile time.
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
6). Check in package.json file under dependencies key "cordova-ios": "5.1.1" should exist, if not exist then add "cordova-ios": "5.1.1"
7). ionic cordova platform add ios
8). ionic cordova prepare ios
9). ionic cordova build ios
现在这些步骤将成功构建 ios 应用并准备部署。
注意:我在离子 3 和离子 4 中测试了这些步骤。
希望这对您或其他人有所帮助!
谢谢!