kevinelliott / agent_orange

Parse and process User Agents like a secret one
127 stars 36 forks source link

iPhone 4 "platform version" is incorrect #17

Open cw-moshe opened 12 years ago

cw-moshe commented 12 years ago

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A306 Safari/6531.22.7

It's actually iPhone 3GS with updated iOS version (I guess it's no longer possible to know that it's 3GS)

platform.version returns 'iPhone'

kevinelliott commented 12 years ago

That's correct. Not all iPhone's seem to include hardware information. Each version of Safari delivers a different level of information about the platform. However, we should probably still make some kind of approximation for the version, such as '3GS+' when we know what the lowest model is supported for a particular OS version (i.e. iPhone 2G will not run iOS 4.0.1).

This will take some thought.

On May 1, 2012, at 1:45 PM, cw-moshe wrote:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A306 Safari/6531.22.7

It's actually iPhone 3GS with updated iOS version (I guess it's no longer possible to know that it's 3GS)

platform.version returns 'iPhone'


Reply to this email directly or view it on GitHub: https://github.com/kevinelliott/agent_orange/issues/17

cw-moshe commented 12 years ago

The wrong part is version should be something more specific than 'iPhone'. Like '4.0.0'

kevinelliott commented 12 years ago

I believe you're looking for the OS version, not the platform version. You would want to check operating_system.version to get the 4.0.1, since that version is related to the OS, not the platform itself.

Until we can determine (with reasonable accuracy) that the device is version 2G, 3G, 3GS, 4, or 4S (or some numeric equivalent to it, such as the model number), we can not display it here. Should we output the OS version in place of platform version when platform.version is called, it would devalue the purpose of the platform object.

cw-moshe commented 12 years ago

I see what you are saying. This is a minor issue. A null would be appropriate if this cannot be determined.

kevinelliott commented 12 years ago

Good idea. I'll look into doing just that, or consider a base model approx.

On May 1, 2012, at 4:24 PM, cw-moshe wrote:

I see what you are saying. This is a minor issue. A null would be appropriate if this cannot be determined.


Reply to this email directly or view it on GitHub: https://github.com/kevinelliott/agent_orange/issues/17#issuecomment-5450640