Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What HTTP User-Agent does my iOS program advertise itself as?

Tags:

ios

user-agent

I've written an app for my podcast, Otaku no Podcast. In various parts of the app, I use NSURLConnection (fetch RSS feeds), UIWebView (display website content), AVPlayer (play MP3 audio files off our CDN), and MPMoviePlayerViewController (play video files off our CDN). Now, since all of these make HTTP requests of some sort, I'm assuming that they will advertise themselves with the standard iPhone User-agent string. (if my assumption is incorrect please let me know) This means that, based on reading my log files, I have no way of telling which of my visitors is coming in via plain old mobile Safari, vs. using my app.

Is there a way of changing the User-Agent to one of my own? I found this question on SO that describes how to do this with NSURL but I can't find any information about any of the above classes that I am using.

like image 411
Donald Burr Avatar asked Nov 06 '11 21:11

Donald Burr


1 Answers

Your original assumption is partly incorrect- A custom User-agent string is used for NSURLRequests from your app. In my testing, the string is

<product-name>/<build-number> CFNetwork/548.0.3 Darwin/11.2.0

However, some requests from UIWebView use this user-agent string

Mozilla/5.0 (iPhone Simulator; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A334

presumably so that websites can optimise their HTML for the device even if it's not MobileSafari.

like image 50
joerick Avatar answered Sep 18 '22 13:09

joerick