Ionic App 被 iOS 'Specific Website Only' 限制阻止

Ionic App blocked by iOS 'Specific Website Only' restriction

用户有一台 iOS 设备,在设置中设置了限制,仅允许 'Specific Websites Only'。因此,Ionic 应用程序将显示初始屏幕,但之后不会执行任何操作。

据推测,必须在设置中输入应用程序的特定本地URL。 URL 会是什么?

编辑: 如果为网站启用 'Limit Adult Content' 设置,它也会被阻止。

您是否正在开发应用程序本身并且您不知道 URL 它连接到什么?如果这不是您的应用程序,请询问开发人员什么是 URL 并将其添加到允许列表中,否则无法找到它。不应阻止本地 index.html URL,否则任何基于 Cordova 的应用程序都无法处理此行为。

我遇到过类似的问题,应用程序无法访问本地主机。 Ionic 现在使用本地服务器(自引入 wkwebview 以来)来提供本地文件。当设备的限制设置为 'Specific Websites Only' 时,应用程序将在初始屏幕后显示空白屏幕。

http://localhost 添加到允许的站点列表有效。

此外,删除和添加 ios 平台也有所帮助。启动后没有显示空白屏幕,而是显示一条消息,说明该站点受到限制并建议用户允许它。

删除和添加 ios 平台: (取自 wkwebview 的离子文档 - https://ionicframework.com/docs/wkwebview/

确保Xcode关闭

全新安装:

rm -rf platforms
rm -rf plugins

重新添加平台

ionic cordova platform add ios

确保允许本地主机:

<allow-navigation href="http://localhost:8080/*"/>

确保 WKWebView 是默认引擎:

<feature name="CDVWKWebViewEngine">
  <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

建立离子ios

ionic cordova build ios

打开 Xcode 并尝试重新构建。

对于那些仍然在这个问题上绊脚石的人,cordova-plugin-ionic-webview 的较新版本现在支持使用应用方案而不是服务于 http://localhost。使用应用程序方案将允许应用程序不会被 iOS' 内容限制阻止。希望这对您有所帮助!