2014-09-22 57 views
2

在調查爲什麼我無法從廣告網絡中獲得的廣告,我偶然發現了一個奇怪的問題,的WebView的User-Agent:iPhone模擬器在Xcode6發送的OS版本,我的Mac

User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_10 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

而因爲我在競選iOS8上,它更應該是:

User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

Ofcourse沒有iPhone上運行的版本10.10至今,所以Xcode6以某種方式從Mac OS X拿起版本對於iOS 7.1模擬器,它工作得很好。

回答

0

就我所知,情況總是如此。

當我使用下面的代碼,以確定什麼操作系統我運行的,什麼硬件,它總是返回的OSX主機信息,而不是模擬iOS的信息:

NSString *systemVersion = [[UIDevice currentDevice] systemVersion]; 
... 
sysctlbyname("kern.version", buffer, &len, NULL, 0); 
... 
sysctlbyname("hw.model", buffer, &len, NULL, 0); 

WebKit的顯然是在利用相似技巧填寫客戶瀏覽器信息時。但是,它不應該引起問題。

+0

有趣的.. 在iOS 7及更低版本上,記錄的值與預期值相同,但是在iOS8上,我看到systemVersion記錄爲8.0,而WebKit仍在用戶代理字符串中附加10_10。 想知道這是否是WebKit與OS 8.0中的錯誤? – rishabh 2014-09-22 13:00:40