iOS程序自动检测更新的实现
之前项目需要用到app自动更新的功能,现将实现方案分享出来。
iOS程序自动提示更新的实现方案大致分为两种:
第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更新,以及更新的地址等信息 。
第二种,就是利用苹果的appstore 提供的相关api进行查询更新。
由于此前没有找到iOS程序更新的方法,就用了第一种方式,但后来发现了一些问题,自己提供服务器,需要维护,程序提交更新后,由于苹果需要审核,中间会有时间差,这个时间不好把握。后台就找苹果的相关文档,终于找到了。
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
实现机制:
#define APP_URL @"http://itunes.apple.com/lookup?id=你程序的appId"
ASIFormDataRequest *formRequst = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:APP_URL]];
请求网络数据,返回的大致数据如下,其他还有好多数据,我们把关键的给截取出来
{
resultCount = 1;
results = (
{
artistId = 开发者 ID;
artistName = 开发者名称;
price = 0;
isGameCenterEnabled = 0;
kind = software;
languageCodesISO2A = (
EN
);
trackCensoredName = 审查名称;
trackContentRating = 评级;
trackId = 应用程序 ID;
trackName = 应用程序名称";
trackViewUrl = 应用程序介绍网址;
userRatingCount = 用户评级;
userRatingCountForCurrentVersion = 1;
version = 版本号;
wrapperType = software;
}
);
}
取得这些数据后关键的信息就是“ version”最新版本号和“ trackViewUrl”程序地址。然后与本地程序的版本比较即可。
上面的build 对应info.plist文件里的“Bundle version”字段,供程序调试用,即内部调试版本号,不是显示在appstore上面的
version 对应info.plist文件里的“Bundle versions string, short”字段,这才是真正的版本号,显示在appstore上的。由于之前学习的时候,上网查资料,有好多人老是把这两个给弄混了,我也纠结了一会, 特此说明一下,以备记忆。
//获取appstore最新的版本号
NSString *newVersion = [rightDic objectForKey:@"version"];
//获取应用程序的地址
NSString *newURL = [rightDic objectForKey:@"trackViewUrl"];
//取得本地程序的版本号
NSDictionary *localDic =[[NSBundle mainBundle] infoDictionary];
NSString *localVersion =[localDic objectForKey:@"CFBundleShortVersionString"];
CCLog(@"appStore 版本号为:%@ 本地版本号为:%@",newVersion,localVersion);
相关推荐
一句代码实现检测更新 -(void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; //一句代码实现检测更新 [self hsUpdateApp]; } 简书详细介绍地址: ...
在iOS应用开发中,定期检测并提示用户进行App版本更新是一项重要的功能,它能确保用户始终使用最新、最稳定、最安全的软件版本。本文将详细介绍如何在iOS中实现App版本检测以及设置强制更新策略。 首先,我们需要...
进入“设置” > “通用” > “软件更新”,系统将自动连接到Apple服务器并检测最新版本。 3. **无线更新**:大多数iOS更新都可以通过Wi-Fi无线下载并安装。这个过程通常在设备充电并且连接到稳定的网络时进行,以...
通过这个"iOS demo版本更新例子",开发者可以学习到如何有效地管理和触发应用的版本更新,确保用户始终使用的是优化和安全的软件版本。AYCheckVersion的使用简化了这个过程,使得开发者可以专注于核心功能的开发,而...
在iOS平台上,文字处理软件已经成为了许多用户日常生活和工作中不可或缺的工具,特别是在处理大量文档、笔记或者需要快速转换图片中的文字时。本文将深入探讨基于iOS的文字处理软件,特别是其图像识别技术及其在文字...
在iOS开发中,版本检查更新是一项重要的功能,它允许应用自动检测是否有新的版本可用,并提示用户进行升级。这项功能不仅可以确保用户始终使用最新、最安全的软件版本,还能提高产品的用户体验,因为开发者可以及时...
iOS 软件代码规范 iOS 软件代码规范是一份详细的编程规范,旨在指导 iOS 软件开发过程,提高代码质量和可维护性。...在 iOS 软件代码规范中,断言与错误处理主要用于检测和处理错误,提高代码的可靠性和可维护性。
【iOS证书检测源码.zip】这个压缩包包含的是用于检测iOS设备证书的源代码,它提供了在服务器端验证iOS应用证书的功能。这个源代码的独特之处在于它的轻便性,无需安装即可在服务器上运行,同时适用于Windows和Mac...
在iOS操作系统中,尤其是iOS9版本,用户可能会遇到一个常见问题,即软件会悄无声息地自动更新。这种现象可能是由于系统默认开启了自动更新功能,导致应用在未经用户同意的情况下被升级到最新版本。虽然自动更新能...
### iOS手机即时通讯软件开发知识点 #### 一、系统概述 **系统介绍** 该文档主要介绍了AnyChat for iOS SDK的开发手册,适用于iOS平台上的即时通讯应用开发。AnyChat for iOS SDK提供了丰富的功能,旨在帮助...
在iOS系统中,自动更新提醒是一项非常实用的功能,它允许用户自动接收并安装软件更新,以保持设备上的应用程序和操作系统始终处于最新状态。这不仅有助于提高系统的安全性,还能确保用户享受到开发者提供的最新功能...
基于object-c实现人脸识别活体检测眨眼检测ios源码.zip基于object-c实现人脸识别活体检测眨眼检测ios源码.zip基于object-c实现人脸识别活体检测眨眼检测ios源码.zip基于object-c实现人脸识别活体检测眨眼检测ios源码...
- 验证AP是否已成功转换为胖AP,可以检查其运行模式和配置状态。确保无线功能正常工作,客户端能够连接并获得IP地址。 请注意,这个过程需要对Cisco设备有一定的操作经验,错误的操作可能导致设备无法正常工作。在...
安装完成后,系统会提示用户进行重启,重启后设备会自动检测到可用的iOS 12 Beta更新,并引导用户完成升级过程。 值得注意的是,由于Beta版本可能存在不稳定性和未知问题,因此不推荐普通用户在主要设备上安装。在...
FBMemoryProfiler是Facebook开源的一款用于分析iOS内存使用和检测循环引用的工具库。手机设备的内存是一个共享资源。应用程序可能会不当的耗尽内存、崩溃,或者遭遇大幅度的性能降低。当分配了一块内存,并设置了...
3. 更新UI,展示目标检测的结果。 六、性能优化 1. 利用GPU加速推理:TensorFlow Lite和Core ML都支持GPU加速,提高运行速度。 2. 异步处理:避免UI阻塞,可以将图像处理和模型推理放在后台线程进行。 3. 模型量化...
《iOS软件开发揭秘》是一本深入探讨iOS应用开发的专业书籍,其附带的源代码压缩包包含了一系列章节相关的示例程序。这些章节按照书中的结构排列,分别对应于CH01到CH07,每部分都揭示了iOS编程的关键概念和技术。 1...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上的表现。本文将深入探讨“iOS 16.3真机调试包”,以及如何利用Xcode进行有效的真机...