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" />

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...