アプリから複数回、safariでURLを開くときの注意


アプリから複数回、safariでURLを開くときの注意

テストを作成するために、アプリから複数回URLを開くという処理を書いていた。
そのとき、ハマったのでメモ。

URLを開く時、Safariの場合 同じURLで開いたタブがある場合、新しいタブでアクセスせず、そのタブを表に出すだけ でした。

アクセスを何度もしているのに、ログが上がらないと思って調べていたらわかりました。

解決法

解決法は単純でURLの最後に、適当な乱数をつめればOK

NSString *url = [NSString stringWithFormat: @"%@?nocache=%d","http://www.google.com",((int)arc4random()) % 128];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]

arc4random()を使うときは、2の累乗がよいらしい。
http://tanukichi566.blog.fc2.com/blog-entry-57.html