以http无效的自定义URL方案

Kru*_*nal 7 iphone cookies url-scheme ios

我在应用程序中使用了自定义URL方案.我成功地从safari重定向到我的应用程序.就像我已经制作了URL方案"appname".请查看http://prntscr.com/2cjx0p.

我需要使用像ios url重定向从邮件到应用程序的解决方案,但我不确定如何设置cookie.

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


背景故事:

我可以在safari中输入"appname://"来使用它,然后我被重定向到我的应用程序.

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

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

Wai*_*ain 6

在链接到代码的问题中打开一个链接:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.myApp.com/appInstalled"]];
Run Code Online (Sandbox Code Playgroud)

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

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

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


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

<script type="text/javascript">
<!--
    window.location = "gameswap://?d"
//-->
</script>
Run Code Online (Sandbox Code Playgroud)

或HTML(在本节中):

<meta http-equiv="refresh" content="0; url=gameswap://?d" />
Run Code Online (Sandbox Code Playgroud)


Kru*_*nal 4

我解决了这个...

我通过包含 Test.html 页面的实时 url 来完成此操作。其中,编写了以下脚本..

<script type="text/javascript">
window.location = 'appName://';
</script>
Run Code Online (Sandbox Code Playgroud)

现在,在共享网址时,它就像“ http://demo.com/test.php/?d= ”。我从邮件中打开了该链接,它已经重定向到我的应用程序的特定页面。

我从这里找到了最大的帮助。