2015-02-07 53 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