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

NSString *appid = @"1234567";
NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8",appid ];
NSURL *url = [NSURL URLWithString: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 = [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 ]];
}

  

  

iOS开发中打开本地应用、打开appStore应用、给app评分功能实现的更多相关文章

  1. iOS开发中UILocalNotification本地通知实现简单的提醒功能

    这段时间项目要求做一个类似的闹钟提醒功能,对通知不太熟悉的我,决定先用到xcode自带的本地通知试试,最终成功的实现了功能,特整理分享下. 它的表现特点: app关闭的时候也能接收和显示通知. app ...

  2. iOS开发中关于本地数据中SQLite数据库常用的SQL语句

    创建表 CREATE TABLE IF NOT EXISTS "student" ("number" INTEGER PRIMARY KEY AUTOINCRE ...

  3. iOS开发中,应用内直接跳转到Appstore

    iOS开发中,应用内直接跳转到Appstore 1.进入appstore中指定的应用NSString *str = [NSString stringWithFormat:                ...

  4. GIT在iOS开发中的使用

    前言 在iOS开发中,很多公司对项目的版本控制管理都使用了git,当然也有部分公司使用的是svn.当年我最初接触的是svn,觉得使用起来挺方便的,但是每次切分支都需要下载一份新的代码起来,这实在太麻烦 ...

  5. iOS开发中遇到的一些问题及解决方案【转载】

    iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // //  MyScrollView.m //  Creat ...

  6. ios开发中的小技巧

    在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...

  7. iOS开发中如何使自定义方法具有XCode插件使用提示

    iOS开发中难免要安装一些好用的插件,然而插件在使用时往往只对系统的方法有提示作用,而自己写的方法不能用上插件的便利. 其实还是有办法使插件对自定义的方法有效: 1. 首先知道Xcode的插件安装路径 ...

  8. IOS开发中UI编写方式——code vs. xib vs.StoryBoard

    最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...

  9. iOS开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

随机推荐

  1. 图像混合学习。运用加权函数,学习opencv基础操作

               {          cout<<     }           {          cout<<     }       ,,logoImage.c ...

  2. WLLCM这五个字母全排列数目

           经过训练的话一眼看出来是5!/2!:我想的是先排WLCM那么是4!,5个位置,由于L左右两边的位置其实是一样的(再插入的还是L),索以结果是4*4!,这样重复了,看下图.         ...

  3. 浅谈 iOS 之 Crash log 符号化

    其实,对于做移动 APP 开发的同学来说,质量和体验都是同等重要的.一个 APP 应用如果经常「闪退」,是产品质量很差的一个体现,那么用户体验就更不用再提了. *** 上面是笔者截取的国外一家公司对用 ...

  4. Nagios 邮箱告警的方式太OUT了!

    一般来讲,在安装完 Nagios 后,我们做的第一件最正确的事,就是设置它的邮件通知,对吧.因为如果没有这一步骤的话,你怎么能够知道什么时候会出现问题呢? 伴随着成功的初始安装,你即将是你司唯一一个能 ...

  5. 【POJ】1141 Brackets Sequence

    经典DP问题,注意输入不要使用while(xxx != EOF),否则WA,测试数据只有一组.同样的测试数据可能有多种答案.但最小长度唯一.一定不能用while,切记. #include <io ...

  6. 用U盘安装系统

    下述的前提就是:如果你想要装win7,win8系统的话,你需要准备一个大于等于4G的U盘,但是如果你想装XP,Ubuntu等小系统就可以只要1G的U盘就行了,温馨提示,记得将U盘里的重要东西移走,因为 ...

  7. 抽离CodeIgniter的数据库访问类 可以独立使用

    好吧,因为组织需要,最近又开始转战php了,业务逻辑都还好说,主要是老大要求在数据访问层上加上登录态验证.其实这种要求也是合理的,互联网服务要求上层保护下层,但下层不能完全相信上层.但是问题也就来了, ...

  8. 【转】NI语法 JNI参考 JNI函数大全

    原文网址:http://blog.sina.com.cn/s/blog_5de73d0b0101chk1.html 一.对照表 Java类型    本地类型         描述boolean     ...

  9. SQL server 2012序列号 注册码 z

    MICROSOFT SQL SERVER 2012 企业核心版激活码序列号: FH666-Y346V-7XFQ3-V69JM-RHW28 MICROSOFT SQL SERVER 2012 商业智能版 ...

  10. [liu yanling]测试方法

    1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 2.划分等价类 等价类 ...