以百度地圖為例:
<a href="http://itunes.com/apps/百度地圖">百度地圖</a><!--to itunes--><a href="itms://itunes.com/apps/百度地圖">百度地圖</a><!--to itunes then jump to app store(iOS5) to itunes(iOS4)--><a href="itms-apps://itunes.com/apps/百度地圖">百度地圖</a><!--to app store--><a href="http://itunes.apple.com/app/id452186370">百度地圖</a><!--to app store--><a href="itms://itunes.apple.com/app/id452186370">百度地圖</a><!--to itunes then jump to app store(iOS5) to app store(iOS4) --><a href="itms-apps://itunes.apple.com/app/id452186370">百度地圖</a><!--to app store-->
以上方式均可實現,差別在於第一個跳到itunes程式,第二個和第五個在iOS5上會先跳到itunes程式,再跳到app store,在iOS4上一個跳到itunes,另一個跳到app store。其餘方案都會直接跳到app store。
還有一點,使用http協議的會引起一次redirect,你會看到瀏覽器先載入這個url,再跳轉到對應的程式,而itms和itms-apps協議不會。
以上代碼在iPhone4S(iOS5.1)、iPhone4(iOS4.3)和iPad(iOS5.1.1)上實驗通過。
結論:
建議使用如下形式作為跳轉,理由:各iOS版本行為一致(至少我測試的這幾個都一致)、沒有redirect過程,體驗更佳:
<a href="itms-apps://itunes.apple.com/app/id452186370">百度地圖</a>
參考資料:
- Technical Q&A QA1633
- Technical Q&A QA1629
- Apple URL Scheme Reference
- http://stackoverflow.com/questions/433907/how-to-link-to-apps-on-the-app-store