1. 程式人生 > >開啟appstore應用、開啟appstore評論、開啟其他應用

開啟appstore應用、開啟appstore評論、開啟其他應用

廢話少說,直接上程式碼:

  • 開啟 appstore 應用介面:
NSString *appid = @"1234567";
NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id%@", appid];
NSURL *url = [NSURL URLWithString:str];
[[UIApplication sharedApplication] openURL:url];

其中,appid 是應用釋出時,蘋果聲稱的一串數字,不需要自己設定,和專案名稱的 id 不一樣。使用時,只需要把appid 改為自己的appid 即可,前面的url 不需要改。

appid 可以在 iTunes Connect 中獲取到。

  • 開啟 appstore 評論介面:

上面的方法能夠開啟 appstore 中某個應用介面,但是很多時候我們是希望使用者直接上去評論的,所以,tab 頁要直接開啟評論那一頁。

程式碼如下:

NSString *appid = @"1234567";
NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/viewContentsUserReviews?id=%@", appid];
NSURL *url = [NSURL
URLWithString:str]; [[UIApplication sharedApplication] openURL:url];

可以看到,就是 url 有一些不同而已,大家根據需求選擇。

  • 開啟本地其他應用

某些情況下公司可能會有多款app,因此會有這樣的需求:每個app中都有產品推薦功能,通過當前app能夠開啟其他app(已經安裝的情況下),如果沒有安裝,則跳到 appStore下載。

比如說,輸入法app 中可以推薦 搜狗搜尋,當用戶點選搜狗搜尋圖示時,檢測當前使用者手機上是否有該app。如果有,直接開啟該 app,如果沒有,則跳轉到appStore 下載該app。

跳轉到 appStore下載需要知道 該app 的url。從本地開啟app 需要知道該 app 的id(專案名,比如 com.sogou.search) 以及協議名(可以有,可以沒有,比如 sohu),最後構成的url 是 協議名://app的id ,比如 sohu://com.sogou.search

程式碼如下:

NSURL *customUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@",product.scheme,product.identifier ]];
UIApplication *app = [UIApplication sharedApplication];
if ([app canOpenURL:customUrl])
{
        //有安裝應用,開啟應用
        [app openURL: customUrl];
}else{
        [app openURL:[NSURL URLWithString:product.url ]];
}

PS: 以上寫法僅支援 iOS 7 及其以上版本,如果大家想要支援更低的版本,可以自行搜尋。