2015-02-07 21 views
0

编辑:在移动Safari浏览器我想测试IOS版本,iOS的说8的Rails:在移动Safari浏览器IOS版本检测生产环境

鉴于request.user_agent回报:

的Mozilla/5.0 (iPhone,CPU iPhone OS 8_1_2,例如Mac OS X)...

做这些方法看起来足够(编辑:具体来说,就是正则表达式SOU ND)?

def ios_device? 
    !!request.user_agent.match(/iphone|ipad|ipod/i) 
end 

def ios_8? 
    is_ios_device && !!request.user_agent.match(/OS 8_/) 
end 
+0

为什么有人想在2015年测试iOS 3? – 2015-02-08 01:50:18

+0

@heading_to_tahiti您的评论更具相关性吗?数字3是假设的。 – gr8scott06 2015-02-09 02:40:08

回答

0

一般来说,可能不是。这是棘手的(或不可能)做到可靠。

这里有一些问题的人却碰上了使用传统useragent红宝石宝石:在iOS版3的具体情况

https://github.com/josh/useragent/issues/95

https://github.com/josh/useragent/issues/84

https://github.com/josh/useragent/issues/96

然而,该版本的由于不同类型的请求可能会发送不同的用户代理,所以iOS比新版本更受限制,因此您的解决方案可能已足够。

+0

我已经设置了一个特定的上下文,这些链接似乎都不适用。鉴于新的背景,你能想到任何问题吗? (顺便说一句,我没有使用宝石,而是别名'user_agent'方法)谢谢 – gr8scott06 2015-02-09 02:44:40