我希望能够唯一地识别iPhone,以便我们的服务器可以使用一些自定义html进行响应.我希望能够在Safari和应用程序的嵌入式浏览器中识别手机.由于每个应用程序都是沙盒,因此cookie不起作用.
谢谢
Jos*_*phH 12
这不是直接可行的,但是在网站的合作下,尼克洛克伍德已经说过了,这是他描述的方法的一个大大扩展的版本:
你的应用应该这样做:
[[UIApplication sharedApplication] openURL:url];http://yourwebsite.com/give-ios-app-the-cookieyour-app-url-scheme:cookievalue=<somevalue>  (例如angrybirds:cookievalue=hh4523523sapdfa)- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation进程url以获取cookie值请注意,您不应该在应用程序启动时自动执行此操作 - 用户将看到转移到Mobile Safari并返回,这不是一个良好的用户体验,Apple将拒绝您的应用程序(Apple也认为这是"上传用户的个人数据"没有事先同意的服务器").
最好是回应用户,关注用户体验 - 例如.等待用户点击"登录"按钮,然后执行此操作,如果用户未登录您的网站,http://yourwebsite.com/give-ios-app-the-cookie应该向用户显示登录信息野生动物园内的屏幕.如果用户已登录,您可以在重定向用户之前在Safari中短暂显示"自动登录..."屏幕一秒或两秒.
Nic*_*ood 10
这实际上很难.
您可以对应用程序进行编程,以便在首次打开时启动Mobile Safari并设置cookie,然后使用自定义URL方案重定向回应用程序.
这可能看起来很奇怪,但它实际上是Facebook的共享登录系统如何工作,它允许应用程序和浏览器"打破"他们的沙箱并共享相同的唯一cookie ID.
当然,你不知道用户是否删除了cookie,除非你每次启动应用程序时都进行重定向,这可能会让人讨厌.
更新:
从iOS 9开始,您现在可以在SFSafariViewController应用程序内部打开页面,而不是重定向到Safari应用程序.这仍然有点笨重,但可能比双应用程序切换更可取.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6767 次  |  
        
|   最近记录:  |