iPad Pro 10.5インチにおいては、iOS 10.3.2環境下のネイティブアプリではUserAgentに不具合があるようだ。もしUserAgentを判定に使っているような場合は気をつける必要があるだろう。
通常、iPadにおいては、UserAgentの文字列には「iPad」が含まれている。例えば、iPad環境下におけるiOS 10.3.2のネイティブアプリでは、以下のUserAgentがデフォルトで設定される(例)。
Mozilla/5.0 (iPad; CPU OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F8089
しかしながら、iPad Pro 10.5インチのiOS 10.3.2(ネイティブアプリ)では、アプリにもよる可能性があるが、なぜか以下のようになってしまう。
Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F8089
この場合、端末の判定時に受け取ったユーザーエージェントの文字列で「iPad」の文字列が含まれているかどうかで判定していた場合、問題になることがある。
対処法としては、何らかの形でユーザーエージェントをカスタマイズすることが考えられるが、別の方法で対応することも検討した方が良いだろう。
過去に似たような事例として、『User Agent string wrong on iPad Pro Cordova web view』(Apple Developer Forum)で触れられている。ただし、今回の場合は、LaunchScreenでStoryBoardを使った場合でも発生するようである。
なお、この不具合は将来のバージョンで解消されると考えられるだろう。しかしながら、結構面倒な問題とも言えるので、そもそも踏まないようにするのが望ましいだろう。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。