iOS开发中打开本地应用、打开appStore应用、给app评分功能实现
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评分功能实现的更多相关文章
- iOS开发中UILocalNotification本地通知实现简单的提醒功能
这段时间项目要求做一个类似的闹钟提醒功能,对通知不太熟悉的我,决定先用到xcode自带的本地通知试试,最终成功的实现了功能,特整理分享下. 它的表现特点: app关闭的时候也能接收和显示通知. app ...
- iOS开发中关于本地数据中SQLite数据库常用的SQL语句
创建表 CREATE TABLE IF NOT EXISTS "student" ("number" INTEGER PRIMARY KEY AUTOINCRE ...
- iOS开发中,应用内直接跳转到Appstore
iOS开发中,应用内直接跳转到Appstore 1.进入appstore中指定的应用NSString *str = [NSString stringWithFormat: ...
- GIT在iOS开发中的使用
前言 在iOS开发中,很多公司对项目的版本控制管理都使用了git,当然也有部分公司使用的是svn.当年我最初接触的是svn,觉得使用起来挺方便的,但是每次切分支都需要下载一份新的代码起来,这实在太麻烦 ...
- iOS开发中遇到的一些问题及解决方案【转载】
iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Creat ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- iOS开发中如何使自定义方法具有XCode插件使用提示
iOS开发中难免要安装一些好用的插件,然而插件在使用时往往只对系统的方法有提示作用,而自己写的方法不能用上插件的便利. 其实还是有办法使插件对自定义的方法有效: 1. 首先知道Xcode的插件安装路径 ...
- IOS开发中UI编写方式——code vs. xib vs.StoryBoard
最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...
- iOS开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
随机推荐
- js构造函数传参
1.直接传参并用this关键字初始化属性 function Person(name,age,learn){ this.name = name; this.age = age; this.learn = ...
- Unity3D研究院之在把代码混淆过的游戏返混淆回来
最近一直在找如何在MAC上混淆Android的DLL,至今没能找到合适的,有大神知道记得告诉我喔.今天群里有人说了一个混淆代码和返混淆代码的工具de4dot ,不查不知道一查吓一跳.这玩意可以把别人混 ...
- DRUID连接池的简单使用
DRUID——为监控而生的DB池 1. DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监 ...
- http://blog.csdn.net/carolzhang8406/article/details/7196011
http://blog.csdn.net/carolzhang8406/article/details/7196011
- 基于ASP.NET的comet简单实现 http长连接,IAsyncResult
http://www.cnblogs.com/hanxianlong/archive/2010/04/27/1722018.html 我潜水很多年,今天忽然出现.很久没写过博客了,不是因为不想写,而是 ...
- C#中的OLEDB连接2
在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连 ...
- java数据类型图:
java数据类型图: ┏数值型━┳━整数型:byte short int long ┏基本数据类型━━┫ ...
- 结构体dict_index_t;
/** InnoDB B-tree index */ typedef struct dict_index_struct dict_index_t; /** Data structure for an ...
- apache开源项目--JMeter
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现.
- Servlet能读到JSessionID,读不到其它cookie问题
Servlet的Cookie值保存与获取 今天测试设置和获取Cookie遇到了一点小问题,很奇怪的问题: 把J2ee服务部署在本地 8080端口:访问任何一个服务时,如果客户端没有cookie,则下发 ...