browscap で iOS 4 を検出できない

SPECIAL


browscap に iOS 4 の情報を追加する

以前に EZ-NET 研究室: browscap を用いてブラウザーの判定を可能にする で、browscap を利用して訪問者のブラウザーを判定する方法についてしるしましたけど、平成 22 年 6 月 23 日現在、browscap の Version 4534 では iOS 4 の Safari を識別することが出来ないような感じでした。

もっとも、iOS 4 が登場して間もないところもあるので、近いうちにすぐ対応した ini ファイルが公開されるものと思いますけど、今のところは自分で追加してあげる必要がありそうです。

 

iOS 4 の Safari は、User Agent として、次のものを Web サーバーへ渡します。

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

よって、この情報を認識するための情報を "php_browscap.ini" に追加してあげる必要があります。

具体的には、次の内容を追加すれば大丈夫だと思われます。

[Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)*]

Parent=iPhone

Version=4.0

MajorVer=4

MinorVer=0

 

[Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0* like Mac OS X; *)*]

Parent=iPhone

Version=4.0

MajorVer=4

MinorVer=0

このような内容を "browscap.ini" に書き加えて、"service httpd reload" 等として Apache の設定を再読み込みすれば、iOS 4 の Safari でアクセスした際にも、それが iPhone からのアクセスであることを認識できるようになりました。