iOS开发当版本迭代时需要提示用户更新,以前基本都是走后台接口监测version字段更新,今天看到了苹果的API接口,于是写了一个小demo,实现一句代码达到提示用户更新的目的,后期又加入了自定义接口,支持自定义弹出窗口,接下来主要看一下,代码里边已经注释的很清楚。
只需要调用如下方法:
/**
* 检测新版本(使用系统默认提示框)
*
* appID:应用在Store里面的ID (应用的AppStore地址里面可获取)
* containCtrl: 提示框显示在哪个控制器上
*/
+(void)checkNewEditionWithAppID:(NSString *)appID ctrl:(UIViewController *)containCtrl;
/**
* 检测新版本(使用自定义提示框)
*
* @param appID应用在Store里面的ID (应用的AppStore地址里面可获取)
* @param checkVersionBlock AppStore上版本信息回调block
*/
+(void)checkNewEditionWithAppID:(NSString *)appID CustomAlert:(checkVersionBlock)checkVersionBlock;
看一下checkVersionManager获取app版本号的方法
- (void)getAppStoreVersion:(NSString *)appID sucess:(void(^)(AppleStoreModel *))update;
AppleStoreModel是我们定义的版本号类,其中一些字段如果不需要可以省略,下面是我需要得到的几个版本属性;
/**
* 版本号
*/
@property(nonatomic,copy) NSString * version;
/**
* 更新日志
*/
@property(nonatomic,copy)NSString *releaseNotes;
/**
* 更新时间
*/
@property(nonatomic,copy)NSString *currentVersionReleaseDate;
/**
* AppStore地址
*/
@property(nonatomic,copy)NSString *trackViewUrl;
将得到的version与本地plist文件version对比,判断是否提示更新。
#pragma mark - 忽略新版本
- (void)ignoreNewVersion:(NSString *)version;
#pragma mark - 立即升级
- (void)updateRightNow:(AppleStoreModel *)model;
项目源码:github下载地址