私が収集したものから、iPadはiPhone OSを使用していますが、iPhoneやiPod touchとは画面解像度が異なります。そのため、多くのサイトでは、iPadに適応するためにユーザーエージェントの検出を変更する必要があります。
では、iPadまたはiPad SDKにアクセスできる人なら誰でも、ユーザーエージェント文字列を提供できるでしょうか。
私が収集したものから、iPadはiPhone OSを使用していますが、iPhoneやiPod touchとは画面解像度が異なります。そのため、多くのサイトでは、iPadに適応するためにユーザーエージェントの検出を変更する必要があります。
では、iPadまたはiPad SDKにアクセスできる人なら誰でも、ユーザーエージェント文字列を提供できるでしょうか。
回答:
Mozilla / 5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML、like Gecko)バージョン/4.0.4 Mobile / 7B314 Safari / 531.21.10
シミュレータ、iPadのモードでは:
Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_5_8; en-us)AppleWebKit / 531.9(KHTML、like Gecko)Version / 4.0.3 Safari / 531.9(これは3.2ベータ1用です)Mozilla / 5.0(iPad; U; CPU OS 3_2 like Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML、like Gecko)バージョン/4.0.4 Mobile / 7B334b Safari / 531.21.10 (これは3.2ベータ版用です) 3)
そしてiPhoneモードでは:
Mozilla / 5.0(iPhone; U; CPU iPhone OS 3_2 like Mac OS X; en-us)AppleWebKit / 531.21.20(KHTML、like Gecko)Mobile / 7B298g
シミュレータの信頼性はわかりませんが、ユーザーエージェント文字列だけでは、デバイスがiPadかどうかを検出できないようです。
(注:私はSnow Leopardを使用しています。Safariのユーザーエージェント文字列は
Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_6_2; en-us)AppleWebKit / 531.21.8(KHTML、like Gecko)Version / 4.0.4 Safari / 531.21.10
)
(ほぼ10年後...)
iOSの13 iPadのユーザーエージェントは、例えば、マックOSに変更されました:
Mozilla / 5.0(Macintosh; Intel Mac OS X 10_15)AppleWebKit / 605.1.15(KHTML、like Gecko)Version / 13.0 Safari / 605.1.15
(apple-mobile-web-app-capable
メタタグを使用して)Webアプリモードで実行する場合、ユーザーエージェントは次のように変化することに注意してください。
Mozilla / 5.0(iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML、like Gecko)バージョン/4.0.4 Mobile / 7B405 Safari / 531.21.10
に:
Mozilla / 5.0(iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML、like Gecko)Mobile / 7B405
4.3.5未満のiPad 2:
Mozilla / 5.0(iPad; U; CPU OS 4_3_5 like Mac OS X; en-us)AppleWebKit / 533.17.9(KHTML、like Gecko)バージョン/5.0.2 Mobile / 8L1 Safari / 6533.18.5
どうぞ!
Mozilla / 5.0(iPad; U; CPU OS 3_2 like Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML、like Gecko)バージョン/4.0.4 Mobile / 7B334b Safari / 531.21.10
すべてのモバイルAppleデバイス、iPhone、iPad、またはiPodが「モバイル」と「Safari」の両方を含むユーザーエージェントを使用することは、一般的なコンセンサスのようです。
ただし、最新のSDK(4.0.1)を使用し、(Railsサーバーを使用してrequest.env["HTTP_USER_AGENT"]
)Railsサーバーのユーザーエージェントを読み取ると、「Safari」の部分を取得できません。
リクエストがシミュレータから行われているか、実際のデバイスから行われているかに関係なく、デバッグまたはリリースは常に次のようになります。
Mozilla / 5.0(iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; de-de)AppleWebKit / 528.18(KHTML、like Gecko)Mobile / 7D11 "
「サファリ」はありません。:-(したがって、確かに「iPhone」の部分を使用する必要があります。これは、アップルが推奨しないことです。
iPhone OS 3.2 SDKベータ3のiPadユーザーエージェント文字列上のSafari:
Mozilla / 5.0(iPad; U; CPU OS 3_2 like Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML、like Gecko)バージョン/4.0.4 Mobile / 7B334b Safari / 531.21.10
詳細:http : //developer.apple.com/library/safari/#technotes/tn2010/tn2262/_index.html
特定のモデルに合わせてWebサイトを調整する必要がある理由を見つけない限り、通常はエージェント文字列全体を使用する必要がないことは言及に値すると思います。
エージェント文字列でiPhone、iPad、iPodを確認し、すべての拠点をカバーできます。
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
appleMobileDevice = true;
}
else {
appleMobileDevice = false;
}
iOS 13から「iPad」を見つけることができません。このjs current-deviceを使用します。
このコア:
const iPadOS13Up = navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1
https://github.com/matthewhudson/current-device/blob/master/src/index.js#L55
あなたはあなたが死ぬタイプを見ることができます:http : //matthewhudson.github.io/current-device/
iPadのみ
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10