開啟appstore應用、開啟appstore評論、開啟其他應用
阿新 • • 發佈:2019-02-16
廢話少說,直接上程式碼:
- 開啟 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
及其以上版本,如果大家想要支援更低的版本,可以自行搜尋。