結論
UIWebViewでUser-Agentを変更する
http://takemasa5.tumblr.com/post/3172884263/uiwebview-user-agent
ここに書いてあるとおりの方法でよかった
- UIWebViewControllerのサブクラスを作る MyWebViewControllerとする
- MyWebViewController.hでUIWebViewDelegateプロトコルを宣言する
- storybordから1.のクラスを画面のContorllerに指定する
- storybordからwebViewのdelegateに1.で作ったクラスを指定する
- MyWebViewController.m で、保管は出ないが気にせずに以下を実装する
-(NSURLRequest*) uiWebView:(id)webView
resource:(id)identifier
willSendRequest:(NSURLRequest *)request
redirectResponse:(NSURLResponse *)redirectResponse
fromDataSource:(id)dataSource
{
NSMutableURLRequest *req = (NSMutableURLRequest*)request;
[req setValue:@"ヘッダーの値" forHTTPHeaderField:@"ヘッダーのキー"];
return req;
}
隠しDelegateとか言われてもわからんよね!!!!
駄目だった方法
iphone - Specifying HTTP referer in embedded UIWebView - Stack Overflow http://stackoverflow.com/questions/7913305/specifying-http-referer-in-embedded-uiwebview
これは、無限ループ制御がめんどくさいし、何故かPOSTメソッドの時にGETメソッドになってしまう(参考URLのコードのそれっぽい部分を消しても!)
参考
眠いめも: webView:shouldStartLoadWithRequest:navigationType:でloadRequestするとPOSTがGETになる http://blog.fspm.jp/2013/01/webviewshouldstartloadwithrequestnaviga.html