“更新可用”弹出窗口不显示

时间:2015-09-09 07:51:03

标签: ios objective-c iphone

我的应用会检查应用商店中是否有可用的更新。我在 didFinishLaunchingWithOptions 方法中调用它。

filled with picture

所以为了测试这个,我降级了我拥有的app版本并在模拟器上运行它,这就像一个魅力。但是,当我尝试在我的设备上运行应用程序时,“更新可用”弹出窗口不会显示,因此不会更新应用程序。知道我的代码有什么问题吗?如何显示“可用更新”弹出窗口以便能够更新。

非常感谢任何帮助。 提前谢谢。

这是uialertview:

versions

1 个答案:

答案 0 :(得分:2)

我能够解决我的问题。感谢@ rokjarc的评论。 我是这样做的:

(void)checkIfNeedsUpdate {
    NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
    NSString* appID = infoDictionary[@"CFBundleIdentifier"];
    NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/ph/lookup?bundleId=%@", appID]];
    NSData* data = [NSData dataWithContentsOfURL:url];
    NSDictionary* lookup = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

    if([lookup[@"resultCount"] integerValue] == 1) {
        NSString* appStoreVersion = lookup[@"results"][0][@"version"];
        NSString* currentVersion = infoDictionary[@"CFBundleShortVersionString"];
        if(![appStoreVersion isEqualToString:currentVersion]) {
            [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"logined"];
            [[NSUserDefaults standardUserDefaults] synchronize];
            [[Harpy sharedInstance] checkVersion];
        }
    }
}

我使用Harpy - 第三方库来通知用户应用商店中的应用有更新。 感谢那些花了一分钟时间阅读我的询问的人。