iOS开发中打开本地应用、打开appStore应用、给app评分功能实现

iOS开发中打开本地应用、打开appStore应用、给app评分功能实现

app开发中,通常会有邀请用户给app打分的功能。而在iOS中,正式应用都是通过appStore 下载的,因此给app 打分也只能在 appStore中。因此,需要从应用跳转到appStore。方法是打开响应的url 即可。代码如下:


NSString*appid = @"1234567";

NSString*str = [NSStringstringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8",appid ];

NSURL*url = [NSURLURLWithString:str];

[[UIApplication sharedApplication] openURL:url];

其中,appid 是应用发布时,苹果声称的一串数字,不需要自己设置,和项目名称的 id 不一样。使用时,只需要把appid 改为自己的appid 即可,前面的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 = [NSURLURLWithString:[NSStringstringWithFormat:@"%@://%@",product.scheme,product.identifier ]];

UIApplication *app = [UIApplication sharedApplication];

if([app canOpenURL:customUrl])

{

//有安装应用,打开应用

[app openURL: customUrl];

}else{

[app openURL:[NSURLURLWithString:product.url ]];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注册自定义URL协议 首先被启动的应用需要向iPhone注册一个自定义URL协议。这是在你的项目文件夹的info....
    MMOTE阅读 4,686评论 0 1
  • 工作了两年多,一直有个“坏习惯”,就是将工作中遇到的一些问题、技巧或心得记在印象笔记里面,按理来说,作为一个...
    F森阅读 2,035评论 3 26
  • APP的跳转: 通过[ [UIApplication sharedApplication] openURL:url...
    贪吃的猫cx阅读 7,744评论 5 27
  • # 一度蜜v3.0协议 --- # 交互协议 [TOC] ## 协议说明 ### 请求参数 下表列出了v3.0版协...
    c5e350bc5b40阅读 670评论 0 0
  • 外面下雨了 街头的流浪猫气馁地晃了晃湿漉漉的毛 乌云一团一团地压住了天 路旁的树闷闷地弯了半个腰。 我见到了你 你...
    萝欢阅读 116评论 0 1