【友盟+】开发者社区

友盟自动更新技术解决方案(iOS版)

发表于 2015-9-18 16:05:37 | |阅读模式

香布拉啦
香布拉啦 发表于 2015-9-18 16:05:37 | 显示全部楼层 |阅读模式
这个帖子发了以后收集了很多开发者的建议和意见,我们工程师紧急写了一个针对appstore的自动更新版本供大家参考使用。 欢迎大家提出建议和意见。
github地址:https://github.com/kkme/CheckUpdateiOS




为了避免SDK中自动更新功能影响开发者应用的审批,在新的SDK中去除了自动更新功能及API声明,因此之前使用该功能的开发者请使用如下代码段替代:



[Objective-C] 纯文本查看 复制代码
#define kStoreAppId                     @“xxxxxxxxx”  // (appid数字串)

-(void)checkAppUpdate
{
    NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
   
    NSString *nowVersion = [infoDict objectForKey:@"CFBundleVersion"];
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@", kStoreAppId]];
    NSString * file =  [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
   
    NSRange substr = [file rangeOfString:@"\"version\":\""];
    NSRange range1 = NSMakeRange(substr.location+substr.length,10);
    NSRange substr2 =[file rangeOfString:@"\"" options:nil range:range1];
    NSRange range2 = NSMakeRange(substr.location+substr.length, substr2.location-substr.location-substr.length);
    NSString *newVersion =[file substringWithRange:range2];
    if(![nowVersion isEqualToString:newVersion])
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"版本有更新"delegate:self cancelButtonTitle:@"取消"otherButtonTitles:@"更新",nil];
        [alert show];
    }
}

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if(buttonIndex==1)
    {
        // 此处加入应用在app store的地址,方便用户去更新,一种实现方式如下:
        NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://itunes.apple.com/us/app/id%@?ls=1&mt=8", kStoreAppId]];
        [[UIApplication sharedApplication] openURL:url];
    }
}


具体也可参考网上类似的实现方案。


Android的方案请参照: http://bbs.umeng.com/thread-15012-1-1.html



上一篇:第一次在应用市场上传的时候需要什么流程吗?
下一篇:版本更新包含广告代码

友盟统计常见问题索引贴【点我】
请大家善用搜索,一个帖子只解答一个问题,多个问题请再开新帖咨询,在论坛上解决一个问题请同时帮助别人解答两个力所能及的问题,谢谢大家!
您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

C罗领衔葡萄牙队强阵出击 中超名将连场首发
  中新网客户端6月20日电 北京时间20日晚8时,2018俄罗斯世界杯B组次轮葡萄牙队与摩洛哥队的较量即将在
北京冬奥会场馆“冰坛”明年完工
  北京冬奥会场馆“冰坛”明年完工 将成中国首座标准冰壶场馆   北京市重大项目建设指挥部办公室17日发
冬奥会“冰坛”地上施工 将成中国首块标准冰壶冰场
  冬奥会“冰坛”开始地上施工   建成后将成为我国第一块标准冰壶冰场 可对外开放服务于市民冰上运动

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

返回列表