Iphone 4S

Can you add this device?
OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Iphone 4S

Postby OLWu1 » Mon Jul 16, 2012 2:35 am

Hello,

I would like to know if you have any information about Iphone in your database.

I can find some of them, but the model name / marketing name are definiily something I can understand.
For exemple, I can't find Iphone 4S in the file ...

Is it normal ?
How am I suppose to find the information ?
Is it the iphone with device_os_version = 4.0 ?

Thanks,
Pierre

kamermans
Posts: 393
Joined: Mon Jun 06, 2011 9:50 am

Re: Iphone 4S

Postby kamermans » Mon Jul 16, 2012 10:28 am

Indeed, Apple has gone to great lengths to hide the hardware version of the requesting device. Currently, there is no way to directly determine the hardware version of an iPhone (3GS vs. 4S), however, as you suggested, you can infer some information from the device_os_version. For example, iOS v5 is only available on iPhone 3GS and newer, and the iPad 3 came with iOS 5.1, so any iPad with a lower version must be an iPad 1 or 2.

Sorry for the confusion, but Apple has not made things very easy for us developers!
Thanks,

Steve Kamerman
ScientiaMobile

Make sure you check out our WURFL Cloud, WURFL InSight and WURFL InFuze products!

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Tue Jul 17, 2012 2:16 am

Hello,

It's a shame, because now, all iphone look the same for me... with same capabilities...

And Apple is one of the most famous brands, with at most 10 devices...

Actually it's the one people like to test for fun the first... and they can't find it...

Could it be possible to add them asap ?


Pierre

kamermans
Posts: 393
Joined: Mon Jun 06, 2011 9:50 am

Re: Iphone 4S

Postby kamermans » Tue Jul 17, 2012 12:50 pm

We can technically add all the Apple devices (iPhone 4S, iPad 3, etc), but it would be impossible to match them, so unfortunately this would not help.

For example, here is the user agent from an iPhone running iOS 5.0.1:

Code: Select all

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405
The only thing we can determine is that it is an iPhone and it can't be an iPhone 3G, since that device did not get iOS5. You can see from the user agent that it is completely ambiguous, and you're right, it is definitely a shame!

With server side detection, it is not possible to differentiate between iPhone versions, so all server side solutions have this limitation. Even client side in Javascript, and in native apps, this distinction is not made clear by Apple. If you really must distinguish between the iPhone 3G/3GS and the iPhone 4/4S, you can write some Javascript to look at the window.devicePixelRatio which is different on Apple's retina-display devices than it is on their predecessors (http://www.bdoran.co.uk/2010/07/19/dete ... pt-or-php/).
Thanks,

Steve Kamerman
ScientiaMobile

Make sure you check out our WURFL Cloud, WURFL InSight and WURFL InFuze products!

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Wed Jul 18, 2012 2:11 am

Hello,

If the only need of wurfl was to associate user agent and device, you would be right. But Wurfl is also a way from a device name to know all capacities of this device.

For exemple in orange, we have multiple way to identify the device, and the user agent is not the only one, neither the first we use often.

Now, I have no way to get the iphone specification from your file, and it's really a shame I think.

Wouldn't it possible to create a "generic iphone", with the user agent define there, and to have multiple iphone who extends this specific definition ?

Pierre

sm_support2
Posts: 294
Joined: Mon Jun 20, 2011 5:04 pm

Re: Iphone 4S

Postby sm_support2 » Wed Jul 18, 2012 7:40 am

Bonjour Pierre
OLWu1 wrote: If the only need of wurfl was to associate user agent and device, you would be right. But Wurfl is also a way from a device name to know all capacities of this device.

For exemple in orange, we have multiple way to identify the device, and the user agent is not the only one, neither the first we use often.

Now, I have no way to get the iphone specification from your file, and it's really a shame I think.

Wouldn't it possible to create a "generic iphone", with the user agent define there, and to have multiple iphone who extends this specific definition ?
Hi Pierre, it seems to me that you are not aware of WURFL patch files:

http://wurfl.sourceforge.net/patchfile.php

In a nutshell, patch files are mini-wurfl.xml files that allow a company to maintain their own delta of device information on top of the big WURFL. ALl APIs support multiple patch files.

Thank you

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Wed Jul 18, 2012 8:16 am

Hum, just to know, how can I know if the wurfl patch file is supported or not by my system(very old wurfl API ?)

Will it allow me to remove some information from the original wurfl file, or to disable them ?

If the Iphone information are not accurate(because they are all mixed...) this mean that I should find a way to remove / disable them during my import process. I will add the devices manually and try to get datas for them also manually.

Pierre

PS : I still found strange that wurfl doesn't store all 8 Apple devices... for this kind of brands, you make whatever is need to comply with their ideas. they are too famous to not be in the file.

kamermans
Posts: 393
Joined: Mon Jun 06, 2011 9:50 am

Re: Iphone 4S

Postby kamermans » Wed Jul 18, 2012 8:54 am

The WURFL API has supported patch files for several years, so it's very likely that you have support for them, and yes, they are used to augment (add, remove, modify) the data in the WURFL file.
If the Iphone information are not accurate(because they are all mixed...) this mean that I should find a way to remove / disable them during my import process. I will add the devices manually and try to get datas for them also manually.
...
PS : I still found strange that wurfl doesn't store all 8 Apple devices... for this kind of brands, you make whatever is need to comply with their ideas. they are too famous to not be in the file.
Apparently I was not explaining myself clearly. The HTTP request from an iPhone 3GS with iOS5 will be identical to the HTTP request from an iPhone 4S - there is absolutely no way to tell which version of the iPhone is in use based on the data it sends you. This is also the case for iPads and iPods Let me reiterate, we are not "boycotting" Apple by intentionally excluding some versions of their devices; Apple is "boycotting" the industry by intentionally masquerading their devices. For this reason, it is simply impossible for us to add the individual versions of the Apple devices.
Thanks,

Steve Kamerman
ScientiaMobile

Make sure you check out our WURFL Cloud, WURFL InSight and WURFL InFuze products!

sm_support2
Posts: 294
Joined: Mon Jun 20, 2011 5:04 pm

Re: Iphone 4S

Postby sm_support2 » Wed Jul 18, 2012 9:38 am

OLWu1 wrote: PS : I still found strange that wurfl doesn't store all 8 Apple devices... for this kind of brands, you make whatever is need to comply with their ideas. they are too famous to not be in the file.
We could add dummy profiles for all the devices, but how would we (or anyone for that matter) associate an HTTP request to the right profile?

Apple's attitude is arrogant. Carriers (mobile operators) are the ones that should be complaining loudly about this behavior, because this is an obvious attempt by Apple to show the world that they can get away with whatever they want in the mobile ecosystem. Very, very arrogant.

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Wed Jul 18, 2012 9:47 am

You think the user agent as an ID, I don't.

My IDs are :
Tac code (from GSMA) (when discussing with a device)
a combination of brand and model names.(actually one of the most used datas)

the user agent is just a characteristic, not much for our database.

the problem is that I would like to get :
- Iphone 1
- Iphone 2
- ...

And not a mix of them.

I will try to find if my old(1.0.1) wurfl API use wurfl patch...

Yes apple is creating their own rules, but whatever, they are one of the first company in the world, so we have no power against them. And our customers will complain if we don't adapt to them, not the contrary.

sm_support2
Posts: 294
Joined: Mon Jun 20, 2011 5:04 pm

Re: Iphone 4S

Postby sm_support2 » Wed Jul 18, 2012 9:51 am

OLWu1 wrote:You think the user agent as an ID, I don't.

My IDs are :
Tac code (from GSMA) (when discussing with a device)
a combination of brand and model names.(actually one of the most used datas)

the user agent is just a characteristic, not much for our database.

the problem is that I would like to get :
- Iphone 1
- Iphone 2
- ...

And not a mix of them.

I will try to find if my old(1.0.1) wurfl API use wurfl patch...

Yes apple is creating their own rules, but whatever, they are one of the first company in the world, so we have no power against them. And our customers will complain if we don't adapt to them, not the contrary.
The fact that you have an extra key (the IMEI/TAC codes) puts you in a different position. In that case, the solution is what we already suggested: use a patch file to add your own profiles and use your TAC/IMEI codes to identify them in your system. The old API supports patch files, so you should be good, even though we whole-heartedly recommend that you move to API 1.4.

Adding TAC/IMEI codes has been an idea in a long time. Problem is: only carriers are interested in it. Anyway, we keep thinking about this. Who knows..

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Wed Jul 18, 2012 9:54 am

On a matter of fact, do you have the caracteristics of the Iphone mobiles already ?

otherwise I will try to create the patch file on myself.

Pierre

kamermans
Posts: 393
Joined: Mon Jun 06, 2011 9:50 am

Re: Iphone 4S

Postby kamermans » Wed Jul 18, 2012 12:09 pm

Since you have access to the carrier-facing information, we will come up with a skeleton patch for you that contains the profiles and post it back here for you.
Thanks,

Steve Kamerman
ScientiaMobile

Make sure you check out our WURFL Cloud, WURFL InSight and WURFL InFuze products!

kamermans
Posts: 393
Joined: Mon Jun 06, 2011 9:50 am

Re: Iphone 4S

Postby kamermans » Wed Jul 18, 2012 1:32 pm

Here is the patch file containing all variants of iPhone and iPad at each supported major version level:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<wurfl_patch>
	<devices>
		<device actual_device_root="true" fall_back="apple_iphone_ver1" id="apple_iphone2g_ios1_ver1" user_agent="Apple iPhone TAC Code + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone" />
				<capability name="release_date" value="2007_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver2" id="apple_iphone2g_ios2_ver1" user_agent="Apple iPhone TAC Code + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone" />
				<capability name="release_date" value="2007_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone2g_ios3_ver1" user_agent="Apple iPhone TAC Code + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone" />
				<capability name="release_date" value="2007_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver2" id="apple_iphone3g_ios2_ver1" user_agent="Apple iPhone 3G TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3G" />
				<capability name="release_date" value="2008_july" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone3g_ios3_ver1" user_agent="Apple iPhone 3G TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3G" />
				<capability name="release_date" value="2008_july" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone3g_ios4_ver1" user_agent="Apple iPhone 3G TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3G" />
				<capability name="release_date" value="2008_july" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone_3gs_ios3_ver1" user_agent="Apple iPhone 3GS TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3GS" />
				<capability name="release_date" value="2009_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone_3gs_ios4_ver1" user_agent="Apple iPhone 3GS TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3GS" />
				<capability name="release_date" value="2009_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_3gs_ios5_ver1" user_agent="Apple iPhone 3GS TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3GS" />
				<capability name="release_date" value="2009_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone_4_ios4_ver1" user_agent="Apple iPhone 4 TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 4" />
				<capability name="release_date" value="2010_june" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="640" />
				<capability name="resolution_height" value="960" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_4_ios5_ver1" user_agent="Apple iPhone 4 TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 4" />
				<capability name="release_date" value="2010_june" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="640" />
				<capability name="resolution_height" value="960" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_4s_ver1" user_agent="Apple iPhone 4S TAC Code + Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 4S" />
				<capability name="release_date" value="2011_october" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="640" />
				<capability name="resolution_height" value="960" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1" id="apple_ipad_ios32_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub421" id="apple_ipad_ios42_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub431" id="apple_ipad_ios43_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_1 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub431" id="apple_ipad_2_ios43_ver1" user_agent="Apple iPad 2 TAC Code + Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_1 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 2" />
				<capability name="release_date" value="2011_march" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_ios50_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_2_ios50_ver1" user_agent="Apple iPad 2 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 2" />
				<capability name="release_date" value="2011_march" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_3_ios50_ver1" user_agent="Apple iPad 3 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 3" />
				<capability name="release_date" value="2012_march" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="1536" />
				<capability name="resolution_height" value="2048" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_ios51_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_2_ios51_ver1" user_agent="Apple iPad 2 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 2" />
				<capability name="release_date" value="2011_march" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_3_ios51_ver1" user_agent="Apple iPad 3 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 3" />
				<capability name="release_date" value="2012_march" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="1536" />
				<capability name="resolution_height" value="2048" />
			</group>
		</device>
	</devices>
</wurfl_patch>   
Since there is no distinct user agent to match on, we've put a placeholder in each user agent field like Apple iPhone 3G TAC Code + . You would need to add the correct TAC code(s) for each device in place of the placeholders. You would also need to prepend the incoming TAC code to the incoming user agent if the device's user agent contains iPhone or iPad.
Thanks,

Steve Kamerman
ScientiaMobile

Make sure you check out our WURFL Cloud, WURFL InSight and WURFL InFuze products!

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Thu Jul 19, 2012 6:08 am

thanks,

I will check the file, make the different changes and give you a feedback.(during our conf call ?)

I will also check how to get a unique user agent in this situation, because I can't really use tac code in this configuration(and there is more than 10 TAC code for Iphone4s for example)

Pierre

JerryD
Posts: 1
Joined: Wed Nov 21, 2012 2:02 am

Re: Iphone 4S

Postby JerryD » Wed Nov 21, 2012 2:07 am

kamermans wrote:Here is the patch file containing all variants of iPhone and iPad at each supported major version level:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<wurfl_patch>
	<devices>
		<device actual_device_root="true" fall_back="apple_iphone_ver1" id="apple_iphone2g_ios1_ver1" user_agent="Apple iPhone TAC Code + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone" />
				<capability name="release_date" value="2007_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver2" id="apple_iphone2g_ios2_ver1" user_agent="Apple iPhone TAC Code + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone" />
				<capability name="release_date" value="2007_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone2g_ios3_ver1" user_agent="Apple iPhone TAC Code + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone" />
				<capability name="release_date" value="2007_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver2" id="apple_iphone3g_ios2_ver1" user_agent="Apple iPhone 3G TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3G" />
				<capability name="release_date" value="2008_july" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone3g_ios3_ver1" user_agent="Apple iPhone 3G TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3G" />
				<capability name="release_date" value="2008_july" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone3g_ios4_ver1" user_agent="Apple iPhone 3G TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3G" />
				<capability name="release_date" value="2008_july" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver3" id="apple_iphone_3gs_ios3_ver1" user_agent="Apple iPhone 3GS TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3GS" />
				<capability name="release_date" value="2009_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone_3gs_ios4_ver1" user_agent="Apple iPhone 3GS TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3GS" />
				<capability name="release_date" value="2009_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_3gs_ios5_ver1" user_agent="Apple iPhone 3GS TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.11 (KHTML, like Gecko) Version/3.1.1 Mobile/7A238j Safari/525.20">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 3GS" />
				<capability name="release_date" value="2009_june" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver4" id="apple_iphone_4_ios4_ver1" user_agent="Apple iPhone 4 TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 4" />
				<capability name="release_date" value="2010_june" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="640" />
				<capability name="resolution_height" value="960" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_4_ios5_ver1" user_agent="Apple iPhone 4 TAC Code + Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 4" />
				<capability name="release_date" value="2010_june" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="640" />
				<capability name="resolution_height" value="960" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_iphone_ver5" id="apple_iphone_4s_ver1" user_agent="Apple iPhone 4S TAC Code + Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPhone 4S" />
				<capability name="release_date" value="2011_october" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="640" />
				<capability name="resolution_height" value="960" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1" id="apple_ipad_ios32_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub421" id="apple_ipad_ios42_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub431" id="apple_ipad_ios43_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_1 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub431" id="apple_ipad_2_ios43_ver1" user_agent="Apple iPad 2 TAC Code + Mozilla/5.0 (iPad; U; CPU iPhone OS 4_3_1 like Mac OS X; fr-fr) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/7D11">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 2" />
				<capability name="release_date" value="2011_march" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_ios50_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_2_ios50_ver1" user_agent="Apple iPad 2 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 2" />
				<capability name="release_date" value="2011_march" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub5" id="apple_ipad_3_ios50_ver1" user_agent="Apple iPad 3 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 3" />
				<capability name="release_date" value="2012_march" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="1536" />
				<capability name="resolution_height" value="2048" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_ios51_ver1" user_agent="Apple iPad TAC Code + Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad" />
				<capability name="release_date" value="2010_april" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_2_ios51_ver1" user_agent="Apple iPad 2 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 2" />
				<capability name="release_date" value="2011_march" />
			</group>
		</device>
		<device actual_device_root="true" fall_back="apple_ipad_ver1_sub51" id="apple_ipad_3_ios51_ver1" user_agent="Apple iPad 3 TAC Code + Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B5127c Safari/7534.48">
			<group id="product_info">
				<capability name="brand_name" value="Apple" />
				<capability name="model_name" value="iPad 3" />
				<capability name="release_date" value="2012_march" />
			</group>
			<group id="display">
				<capability name="resolution_width" value="1536" />
				<capability name="resolution_height" value="2048" />
			</group>
		</device>
	</devices>
</wurfl_patch>   
Since there is no distinct user agent to match on, we've put a placeholder in each user agent field like Apple iPhone 3G TAC Code + . You would need to add the correct TAC code(s) for each device in place of the placeholders. You would also need to prepend the incoming TAC code to the incoming user agent if the device's user agent contains iPhone or iPad.
This is great, and is exactly what I was looking for to get more information in my database. Thank you for the support. I had to make a few changes on the code because I switched residential VoIP providers, but this was an extremely helpful starting point.
Last edited by kamermans on Sat Feb 09, 2013 11:59 pm, edited 2 times in total.
Reason: Spam. You have been warned.

OLWu1
Posts: 23
Joined: Tue Feb 07, 2012 9:27 am

Re: Iphone 4S

Postby OLWu1 » Wed Nov 21, 2012 2:38 am

Hi,

i doubt you need this patch file anymore.
The iphone have been added in the wurfl file few weeks ago.
There name are A****, the manufacturer name, and not "iphone 5" for example.


Who is online

Users browsing this forum: Bing [Bot] and 14 guests