Distinguish between iPhone web browser and iPhone app user agent

后端 未结 3 1346
北海茫月
北海茫月 2020-12-09 11:16

What is the best way to distinguish on a server between a request that came from an iPhone through the web browser vs through an iphone with an app written in objective c? W

相关标签:
3条回答
  • 2020-12-09 11:39

    Indeed the user agent will be different.

    in PHP, you can find out with this: $_SERVER['HTTP_USER_AGENT']

    0 讨论(0)
  • It seems that iPhone Apps using the UIWebKit HTTP request component have user agent string like the following

    Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; fr-fr) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/8A306
    Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11
    Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7E18
    

    While Safari on iPhone has mostly the same string but ending with " Safari/XXX"

    However, it is also possible to change the user agent of UIWebKit then there is no guarantee that you'll grab every iPhone app by proceeding this way.

    0 讨论(0)
  • 2020-12-09 12:03

    I believe user agents from the Safari app start with "Mozilla", while user agents from apps start with the name of the app.

    0 讨论(0)
提交回复
热议问题