ios – 以http无效的自定义URL方案开头

前端之家收集整理的这篇文章主要介绍了ios – 以http无效的自定义URL方案开头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在应用程序中使用了自定义URL方案.我成功地从safari重定向到我的应用程序.就像我已经制作了URL方案“appname”.请检查 http://prntscr.com/2cjx0p.

我需要使用像ios url redirect from mail to app这样的解决方案,但我不确定如何设置cookie.

我发现我必须首先在我的应用程序中为服务器“http://myappname.com”设置一个cookie.但是我该怎么做呢?

背景故事:

我可以像在safari中键入“appname://”一样使用它,然后我被重定向到我的应用程序.

现在,我必须分享这个邮件.并且要求是从邮件打开应用程序.因此,我还将此链接设置为可在电子邮件正文中单击.但是,因为它以“appname://”开头,所以我没有重定向到我的应用程序.这意味着此链接必须以“http://”开头.

然后,我在URL方案中设置了“http”而不是“appname”,并再次共享该文本.所以它会像“http://”.但是,通过键入此内容,它不会将其重定向到我的应用程序.

解决方法

链接代码的问题中打开一个链接
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.myApp.com/appInstalled"]];

这将在服务器上的指定页面上打开Safari.该页面唯一的作用是设置一个cookie,然后重定向回您的应用程序(使用自定义URL方案).这需要由加载的网页完成(因此使用返回的标题和HTML).

这样做的目的是将cookie存储在Safari中(这是将来需要的地方 – 并且它应该在将来有一个到期日).我不认为你可以从应用程序(沙盒)存储Safari中的cookie.

您将看到切换到Safari,但它应该立即切换回您的应用程序.

您应该能够在返回的HTML页面中使用javascript重定向

<script type="text/javascript">
<!--
    window.location = "gameswap://?d"
//-->
</script>

或HTML(在本节中):

<Meta http-equiv="refresh" content="0; url=gameswap://?d" />

猜你在找的iOS相关文章