Ionic App 被 iOS“仅限特定网站”限制阻止

Posted

技术标签:

【中文标题】Ionic App 被 iOS“仅限特定网站”限制阻止【英文标题】:Ionic App blocked by iOS 'Specific Website Only' restriction 【发布时间】:2018-04-25 09:46:35 【问题描述】:

用户的 ios 设备在设置中设置了仅允许“仅限特定网站”的限制。因此,Ionic 应用程序将显示初始屏幕,但之后不会执行任何操作。

想必在设置中必须输入应用的具体本地URL。该网址是什么?

编辑: 如果为网站启用“限制成人内容”设置,它也会被阻止。

【问题讨论】:

【参考方案1】:

我遇到过应用无法访问 localhost 的类似问题。 Ionic 现在使用本地服务器(因为引入了 wkwebview)来提供本地文件。当设备的限制设置为“仅限特定网站”时,该应用将在启动画面后仅显示空白屏幕。

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

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

要删除和添加 ios 平台: (取自 wkwebview 的 ionic 文档 - 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 并尝试再次构建。

【讨论】:

这是很好的信息 - 谢谢!我没有尝试最后几个步骤,但稍后会尝试。目前,将 localhost 添加到允许的站点列表中就可以了,但看到其他消息确实会很好。再次感谢!【参考方案2】:

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

【讨论】:

【参考方案3】:

对于那些仍然对此感到困惑的人,cordova-plugin-ionic-webview 的较新版本现在支持使用应用方案,而不是通过 http://localhost 提供服务。使用应用程序方案将使应用程序不会被 iOS 的内容限制阻止。希望这会有所帮助!

【讨论】:

以上是关于Ionic App 被 iOS“仅限特定网站”限制阻止的主要内容,如果未能解决你的问题,请参考以下文章

ionic3 app 退出应用程序

Ionic React App IOS Build 失败“配置文件”

Xcode 9 不更新 ionic 2 ios app appicons

ionic / firebase ipv6 Auth ios app 拒绝

通过 AirWatch 配置 Ionic (Cordova) iOS APP 分发?

ios ionic app中的Mapbox位置请求提示