(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

相关文章

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat