以下是从友盟SDK文档中摘录出来的一些说明:
iOS自动更新SDK集成指南 :http://dev.umeng.com/auto-update/ios/quick-start
1. 集成友盟iOS统计分析SDK
友盟自动更新功能在统计分析SDK中实现,请点击下面链接,先集成统计分析SDK
统计分析iOS SDK集成指南
2. 使用按渠道自动更新检测
在网站上分渠道提交app的版本号,更新日志及openURL后,您只需添加一行代码来完成自动更新检查。
请将下面代码添加到[MobClick startWithAppkey:@”xxxxxxxxxxxxxxx”];之后
[MobClick checkUpdate];
如果想对UIAlertView的标题和按钮文字做多国语言支持,则需要对下面三个词组做翻译。
umUpdateTitle :标题
umUpdateCancel : 放弃按钮
umUpdateOK : 确定按钮
当然您可以更简单的自定义标题和按钮的文字
[MobClick checkUpdate:@”New version” cancelButtonTitle:@”Skip” otherButtonTitles:@”Goto Store”];
如果默认的行为不满足你的需求,您可以完全自定义自动更新检查行为。只需实现
- (void)appUpdate:(NSDictionary *)appInfo;
这个delegate方法。appInfo是服务器传回来的app相关信息。
Xcode4有两个版本号,一个是Version,另一个是Build,对应于Info.plist的字段名分别为CFBundleShortVersionString,CFBundleVersion。 友盟SDK为了兼容Xcode3的工程,默认取的是Build号,如果需要取Xcode4的Version,可以使用下面 的方法。
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”];
[MobClick setAppVersion:version];
文档很简单,但是很尴尬的是,他的这个说明文档是旧版本的,里面一些方法都没有或者过时的方法。
其中新的初始化方法:
[MobClick startWithAppkey:kUmengAppKey reportPolicy:BATCH channelId:kUmengAppstoreChannelId];
还有就是过时的回调:
- (void)appUpdate:(NSDictionary *)appInfo;
这个方法也已经过时,如今是
+ (void)checkUpdateWithDelegate:(id)delegate selector:(SEL)callBackSelectorWithDictionary;
好了,这里我贴以下我工程测试所实现的:
首先在 AppDelegate.m中
//kUmengAppstoreChannelId 是渠道名 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [MobClick startWithAppkey:kUmengAppKey reportPolicy:BATCH channelId:kUmengAppstoreChannelId]; ... } - (void)applicationDidBecomeActive:(UIApplication *)application { [MobClick checkUpdate:@"有新版本更新啦!" cancelButtonTitle:@"我爱怀旧" otherButtonTitles:@"我爱潮流"]; }
版本提醒中用的是友盟默认的弹出样式。
如果需要检测更新,
[MobClick checkUpdateWithDelegate:self selector:@selector(callBackSelectorWithDictionary:)]; - (void)callBackSelectorWithDictionary:(NSDictionary *)appUpdateInfo{ BMLog(@"%@",appUpdateInfo); BOOL update = [[appUpdateInfo objectForKey:@"update"] boolValue]; if (update) { [MobClick checkUpdate:@"有新版本更新啦!" cancelButtonTitle:@"我爱怀旧" otherButtonTitles:@"我爱潮流"]; }else{ //您使用的已经是最新的版本! } }
当然,光写这些代码是不能实现版本提醒更新的,还需要到友盟的管理后台进行渠道配置:
组件->自动更新
然后添加一个更新:
这个渠道选择就是你工程中创建的渠道,就是刚我工程中的 kUmengAppstoreChannelId 这个标记,每一个渠道对应一个更新,app网址是更新调整的网址,是你应用程序下载的网页,这里appstoe的地址,然后是版本号,这个版本号是最新的版本号,即你要更新的版本号,然后就是更新日志,他会反映在你程序弹出的弹窗中