iOS版本的APP已上线,但是AppStore里面按钮显示的是打开

  • 前言:今天下午四点左右,APP更新了一个版本,且手动发布至AppStore

  • 问题:
    (1)大部分同事在20分钟后即可更新下载
    (2)其余同事在更新时出现了问题:点击升级跳转至AppStore后,显示的是打开,而非更新,点击打开又会跳转至旧版应用,形成死循环

  • 结论:
    (1)同事询问时,需要讲明缘由:苹果AppStore的CDN分发问题,是根据不同地区来分段更新缓存的,所以急不来,一般等一天就好了,也就是说代码什么的都是没有问题的
    (2)尝试解决:点击AppStore切换底部tabbar来回切换几次,然后再去你自己的app界面查看可能会变为更新

【2018/02/28更新】
解决办法是:

(1)跳转至APPStore时发起网络请求进行强制更新APPStore,请求地址为:https://itunes.apple.com/cn/lookup?id=XXXXXXXX,其中id为该app在APPStore的唯一标识

(2)具体代码如下,其中NSDictionary返回的是APPStore中的app版本信息:

+ (NSDictionary *)getAppInfoFromAppstore{
    __block NSDictionary * d = nil;

   dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); //创建信号量
    NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com/cn/lookup?id=1123427783"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
     [request setTimeoutInterval:10];

     NSURLSession *session = [NSURLSession sharedSession];
    NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
     NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
    d = dict;
    dispatch_semaphore_signal(semaphore);   //发送信号
    }];

     [task resume];
    dispatch_semaphore_wait(semaphore,DISPATCH_TIME_FOREVER);  //等待

     return d;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值