(0040) iOS 开发之10.3新特性:程序内评价

2023-12-03 20:48

本文主要是介绍(0040) iOS 开发之10.3新特性:程序内评价,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序内评价之SKStoreReviewController

ios 10.3之后,系统提供了一个SKStoreReviewController类,可以帮助在app内部实现评价。App实现评价一般有下面几种方式。

#import <StoreKit/StoreKit.h>


方式一:程序内评价。要求(ios 10.3以上版本,每年弹出3次)

[SKStoreReviewController requestReview];


//苹果官方链接 https://developer.apple.com/ios/human-interface-guidelines/interaction/ratings-and-reviews/


实现效果如下:只能打星,不能评论。submit 按钮开发模式下无法点击。可能需要正式发布时才能点击吧!暂不清楚。




方式二:这种方式可以实现程序内评价。app内模态一个控制器。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    SKStoreProductViewController *storeProductVC =[[SKStoreProductViewControlleralloc]init];

    storeProductVC.delegate =self;

    

    // 第一个参数为应用标识(appid NSNumber类型)构成的字典。第二个参数是一个block回调。

    [storeProductVC loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@(1061832185)}completionBlock:^(BOOL result,NSError *error) {

        

        if (result) {

            [selfpresentViewController:storeProductVCanimated:YEScompletion:^{

            }];

        }else{

            NSLog(@"错误:%@" ,error);

        }

    }];

    

}


// SKStoreProductViewController代理方法

- (void)productViewControllerDidFinish:(SKStoreProductViewController*)viewController

{

    //返回上一个页面

    [selfdismissViewControllerAnimated:YEScompletion:nil];

}


调用方式三:App 跳转。

// NSString *urlString = @"https://itunes.apple.com/cn/app/zhang-jiang-hui/id1061832185?mt=8&action=write-review";

// [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

属于传统评价方法。

最终效果如下(先跳转到App Store应用->打开对应app ->模态出评论点赞界面)



这篇关于(0040) iOS 开发之10.3新特性:程序内评价的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/450823

相关文章

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据