要想在App内跳转到特定App的详情页或者评论页,首先需要获取到App的id。在 iTunes Connect网站上登陆之后,选择“我的App”,然后点击某个特定的App进入,在App信息的综合信息中,会有一个“Apple ID”的条目,就是一串数字,这个就是对应App的id了。另外在App信息的额外信息中, 点击“在 App Store 中查看”会跳转到一个特定链接的页面,这个链接在下文中也会用到,这个链接会大概是这样的"https://itunes.apple.com/us /app/fa-bu-ce-shi/idxxxxxxxxx?l=zh&ls=1&mt=8"。

一、iOS应用内跳转到App Store详情页有两种方式:

1、跳转到App Store应用中对应App的详情页

 
(1)直接使用上文中获取到的链接,通过openURL方法实现,即
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"https://itunes.apple.com/us/app/fa-bu-ce-shi/idxxxxxxxxx?l=zh&ls=1&mt=8"]];
将上述链接中的https://更换为itms://或者itms-apps://也可以实现跳转效果,但itms://开头的链接是跳转到iTunes Store应用中,https://与itms-apps://开头的链接是跳转到App Store应用中。
 
(2)利用上文获取到的appId拼接成链接“itms-apps://itunes.apple.com/app/idxxxxxxxxx”,也通过openURL方法实现,即
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"itms-apps://itunes.apple.com/app/idxxxxxxxxx"]];
 
2、在App内部跳转到指定App详情页

步骤为:

(1)导入相应的框架
#import <StoreKit/StoreKit.h>
(2)使当前控制器遵守协议SKStoreProductViewControllerDelegate
(3)在应当跳转方法中实现下列代码,即创建SKStoreProductViewController控制器,设置代理,加载相应内容,在加载完成的回调中,等加载完成之后使用present的方式将视图控制器呈现出来。
 
    SKStoreProductViewController *storeProductVC = [[SKStoreProductViewControlleralloc]init];
    storeProductVC.delegate = self;
 
    [storeProductVC loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@xxxxxxxxx}completionBlock:^(BOOL result, NSError * _Nullable error) {
        if (error) {
            NSLog(@"%@",[error localizedDescription]);
        } else {
            NSLog(@"加载完成");
            [selfpresentViewController:storeProductVC animated:YEScompletion:^{
                NSLog(@"界面弹出完成");
            }];
        }
    }];
 
(4)实现SKStoreProductViewControllerDelegate的代理方法,即
 
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController{
    NSLog(@"用户请求页面弹回");
    [selfdismissViewControllerAnimated:YEScompletion:^{
        NSLog(@"页面弹回完成");
    }];
}
 
当用户点击取消时,会执行此代理方法,将控制器弹回即可。
 
 二、iOS应用内跳转到App Store评论页有iOS7之前和之后的区别:跳转方法一样,但是链接不同,即
 
(1)iOS7之前
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=xxxxxxxxx"]];//iOS7之前跳转到App评论页
 
(2)iOS7之后
    [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=xxxxxxxxx&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8"]];//iOS7之后跳转到App评论页
 
转自:http://blog.csdn.net/u012894479/article/details/50737365

ios 实现跳转到评价界面的两种方式的更多相关文章

  1. 【iOS开发-图层】自己定义图层的两种方式

    想要自己定义图层,仅仅须要构建一个类继承CALayer方法 假设让自己定义图层初始化上面就有画好的图形.有两种办法 重写drawInContext方法 自己定义的图层以下的方法.然后必须自己定义的图层 ...

  2. iOS 通过URL网络获取XML数据的两种方式

    转载于:http://blog.csdn.net/crayondeng/article/details/8738768 下面简单介绍如何通过url获取xml的两种方式. 第一种方式相对简单,使用NSD ...

  3. wp跳转到评价界面代码

    wp跳转到评价界面代码(仅适用于wp8.0) MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask(); ma ...

  4. IOS xib生成界面和代码生成界面两种方式混合

    应用程序代理类 WKAppDelegate.m // // WKAppDelegate.m // HelloWorld // // Created by easy5 on 13-9-18. // Co ...

  5. iOS打包为ipa的两种方式和生成P12证书的方式

    iOS项目打包为ipa的两种方式: 准备工作:先行在Xcode里面打开preferences,填写apple id. 通过iTunes+Xcode 在Xcode里,把模拟器调整为iOS Device, ...

  6. jira插件带ui界面和几种方式

    http://localhost:2990/jira/plugins/servlet/issuecrud jira插件带ui界面和几种方式 https://developer.atlassian.co ...

  7. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  8. iOS 自定义layer的两种方式

    在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...

  9. 第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求的两种方式

    一. 相关概念介绍 1. SSL证书服务 SSL证书服务由"服务商"联合多家国内外数字证书管理和颁发的权威机构.在xx云平台上直接提供的服务器数字证书.您可以在阿里云.腾讯云等平台 ...

随机推荐

  1. CentOS使用ufw的方法

    ufwはファイアウォールの管理ツールで.Ubuntuで標準的に使われています.ufw allow 80/tcp のような簡単なコマンドでポートを開け閉めできます. CentOS用のパッケージは用意され ...

  2. #Leet Code# Sqrt

    描述:log(n) 代码: class Solution: # @param x, an integer # @return an integer def getVal(self, begin, en ...

  3. UM_第三方登录

    参考官方文档(http://dev.umeng.com/social/ios/detail-share#7), 做出以下总结. 第三方登录主要用于简化用户登录流程,通过用户拥有的微博.QQ.微信等第三 ...

  4. 在ajax当中使用url重写来避免url的暴露

    记得一次面试,有这样一道面试题:jsp页面当中需要用到ajax的实现,此时需要调用java的url:此时的问题是如果用户查看页面源码就能看到真是的url,这个问题如何避免.说实话,AJAX我用的只是皮 ...

  5. Array 原型扩展(快速排序,搅乱顺序)

    /// 快速快速排序算法Array.prototype.quickSort = function (left, right) { // left = left || 0; // right = rig ...

  6. 关于Action中ValidateXXX方法校验一次失败后\导致以后一直返回input视图的情况

    问题:     使用struts2的validateXXX()进行验证,出错后自动返回之前的画面,但是Form中的数据全部丢失了,如何才能保存出错前的Form是要解决的问题. 调查:     调查后发 ...

  7. Stanford Parser学习入门(2)-命令行运行

    在Stanford parser目录中已经定义了一部分命令行工具以及图形界面,本文将介绍如何在windows使用这些工具进行语法分析,Linux下也有shell可以使用. 关于如何搭建环境请参考上一篇 ...

  8. 如何通过REST获取JENKINS的编译进度?

    第二版功能需要实现, 我看了一下,获取百分比进度不太可能了,,因为JENKINS本身都没有具体的百分比进度.. 那,,只好实现获取实时值,如果完成就显示完成. URL: http://1.2.3.4/ ...

  9. Cxf + Spring3.0 入门开发WebService

    转自原文地址:http://sunny.blog.51cto.com/182601/625540/ 由于公司业务需求, 需要使用WebService技术对外提供服务,以前没有做过类似的项目,在网上搜寻 ...

  10. 编写优质嵌入式C程序

    前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在裸机环境下编写优质嵌入式C程序.感觉是有一定的参考价值,所以拿出来分享,抛砖引玉. 转载请注明出处:http://bl ...