openURLでAppStoreを開く
ADCのQAでも紹介されている、由緒正しい方法としては、
---Technical Q&A QA1629
- Launch iTunes on your computer.
- Search for the item you want to link to.
- Right-click or control-click on the item's name in iTunes, then choose "Copy iTunes Store URL" from the pop-up menu.
- Open the modified URL using an NSURL object and the -[UIApplication openURL:] method.
となる。そして、ネットでよく見かけるプラスアルファとして、「URL頭の'itunes'を'phobos'に変更するとAppStoreが直接開ける」というのもある。だが、ここに落とし穴。
それぞれ、どのように動くかを見てみると。
1. Q&Aの方法
iTunesからコピーしたURLを、そのまま開いてみる方法。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/jp/app/twitter/id333903271?mt=8"]];
結果。
- iPod touch(3G)+iOS3.1.3
- ダイレクトにAppStoreのTwitterページが開く。
- iPhone3GS+iOS4.3.2
- ダイレクトにAppStoreのTwitterページが開く。
- iPhone4+iOS4.3.3
- ダイレクトにAppStoreのTwitterページが開く。
- iPhone4S+iOS5.1
- ダイレクトにAppStoreのTwitterページが開く。
そして、ここで疑問。既に述べた通り、「URL頭の'itunes'を'phobos'に変更するとAppStoreが直接開ける」というネタがあるわけだけど、一体これはどーゆーことよ。
2.phobosに置換したURLを使用
というわけで、実験。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://phobos.apple.com/jp/app/twitter/id333903271?mt=8"]];
そして結果。
- iPod touch(3G)+iOS3.1.3
- AppStoreに移動するが、「iTunes Storeに接続できません。」とエラーメッセージが出る。
- iPhone3GS+iOS4.3.2
- AppStoreに移動するが、「iTunes Storeに接続できません。」とエラーメッセージが出る。
- iPhone4+iOS4.3.3
- AppStoreに移動するが、「iTunes Storeに接続できません。」とエラーメッセージが出る。
- iPhone4S+iOS5.1
- AppStoreに移動するが、「iTunes Storeに接続できません。」とエラーメッセージが出る。
・・・ヲイ。
だめじゃんかっ!!!
まったく、どこから出てきた情報だ、phobos。
3.1.3で、既に動かないって・・・
ともあれ、AppStoreを開くためには、よけーな小細工はせずに、そのままURLをopenURLしてやれば良い、という結果になりました。
・・・と、これだけだとつまらないので、プラスα。
目的のアプリのURL取得方法だが、iTunesを使用しなくても可能だったりする。
URLの取得用ページ(http://itunes.apple.com/linkmaker)が用意されているんですな。
このページを使うと、アプリ以外でも、音楽や映画など、好きなコンテンツのページが指定できる。
たとえば、ツイッターなら、
赤枠のような設定(画像クリックで原寸大画面が見られます)をして、Searchボタンを押すと、
こんな感じで、対応アプリ等の一覧が出てくる。
あとは、目的のアプリにある赤枠のリンク(今回は「iPhone App Link」)をクリックしてやれば、
リンク情報が取得できます。
ちなみに、この方法で取得すると、iTunesから吸い出したURLと比べて、最後に「&uo=4」がくっついているという違いが。
・・・なんだろな、これ。何かわかったら、またアップします。