我在应用程序中使用了自定义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://”。但是,通过键入此内容,它不会将其重定向到我的应用程序。
答案 0 :(得分:6)
在链接到代码的问题中打开一个链接:
[[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" />
答案 1 :(得分:4)
我解决了这个......
我通过包含Test.html页面的实时网址完成了这项工作。在那里,写下脚本..
<script type="text/javascript">
window.location = 'appName://';
</script>
现在,在分享网址时,它就像“http://demo.com/test.php/?d=”。从邮件中,我打开了该链接,它已经被重定向到我的应用程序的特定页面。
我从HERE找到了最大的帮助。
答案 2 :(得分:1)
使用此格式如果您不想使用http。
在您的网址
中设置此项www.my.app
链接格式以打开应用
www.<characters>.<characters>://<characters>
例如。
www.my.app://open