iOS关于跳转AppStore的研究
最近需求中增加应用评分入口,这就涉及跳转AppStore,总结并分析了下:
最早iOS应该普遍使用
NSString *urlStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@&pageNumber=0&sortOrdering=2&mt=8", AppStoreId];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
但是iOS11后不兼容了,会提示无法连接的问题。
于是现在普遍使用:
跳转AppStore当前应用下载页面:
NSString *urlStr = [NSString
stringWithFormat:@"https: //itunes.apple.com/app/id%@", AppStoreId];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
跳转AppStore当前应用评分页面:
NSString *urlStr = [NSString
stringWithFormat:@"https: //itunes.apple.com/app/id%@?action=write-review&mt=8",AppStoreId];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
另外研究了下链接后缀中mt=8的含义
mt 是meta-type的简写,其对应的枚举类型如下:
1 Music
2 Podcasts
3 Audiobooks
4 TV Shows
5 Music Videos
6 Movies
7 iPod Games
8 Mobile Software Applications
9 Ringtones
10 iTunes U
11 E-Books
12 Desktop Apps
主要目的是防冲突,如果没有定义id,或者id失效,就有可能出现不同类别的内容,但是名字相同,例如某E-Books的名字和某个App的名字重合。这时mt就发挥作用了,所以一般用mt=8,加上了Mobile Software Applications的标示就可以避免这样的问题