如果在App Store iOS中有更新版本的应用程序可以在app中通知用户的任何正确方法?

时间:2017-03-01 10:34:24

标签: ios objective-c iphone

我正在尝试通知用户,如果应用程序商店上有我的应用程序的更新版本。所以我使用下面的URL来验证我的应用程序的当前版本和现有版本

http://itunes.apple.com/lookup?id=APPLEID

我像这样安息

{
 "resultCount":0,
 "results": []
}

有时我会得到适当的休息,但有时候没有。在iOS应用程序中有任何替代方法可以实现此功能

2 个答案:

答案 0 :(得分:1)

使用Harpy库在新版本可供下载时获取更新。

在github链接中查找示例项目,用法和安装

Link for download harpy library

您可以通过Cocoapods或向项目添加文件来获取

答案 1 :(得分:0)

您可以比较bundleId以通知用户可下载的新版本,而不是检查应用ID。

你可以试试这个:

-(void) checkForNewVersion{

    NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];

    NSString* appID = infoDictionary[@"CFBundleIdentifier"];

    NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", appID]];

    NSData* data = [NSData dataWithContentsOfURL:url];

    if(data != nil)
    {

        NSDictionary* lookup = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

        if ([lookup[@"resultCount"] integerValue] == 1){

            NSString* appStoreVersion = lookup[@"results"][0][@"version"];

            NSString* currentVersion = infoDictionary[@"CFBundleShortVersionString"];

            if ([appStoreVersion compare:currentVersion options:NSNumericSearch] == NSOrderedDescending) {
                // Alert View

            }

        }
    }
}