`

[IOS]如何获取应用版本信息来通知用户更新

    博客分类:
  • IOS
阅读更多

一.

最开始查资料,方式是通过以下API获得版本json:

 

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

然后我通过app store connect里面的my apps我的app的信息页面查看到app id.替换下去后发现返回0,没有app的结果.

 

又从官方文档里查看到:

https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/#lookup

Look up Jack Johnson by iTunes artist ID:
https://itunes.apple.com/lookup?id=909253

这个id 是artist id,那么为什么示例的可以查看到app的信息,但是我的又不行呢?

 

二.

后来从另外一篇文章里看到:

https://stackoverflow.com/questions/6256748/check-if-my-app-has-a-new-version-on-appstore

里面使用:

http://itunes.apple.com/lookup?bundleId=\(identifier)

 bundle id,那么怎么获得我的app的bundle id呢?还是原来app store connect里面查看app信息的页面,在综合信息里面有三个id,一个是套装id,一个是sku,一个是app id.那么套装id就是bundle id了.

然后替换进去发现成功了.

三.

以下是完整获得version的代码:

-(void)getWebVersion{
    
    //对请求路径的说明
    //http://120.25.226.186:32812/login?username=520it&pwd=520&type=JSON
    //协议头+主机地址+接口名称+?+参数1&参数2&参数3
    //协议头(http://)+主机地址(120.25.226.186:32812)+接口名称(login)+?+参数1(username=520it)&参数2(pwd=520)&参数3(type=JSON)
    //GET请求,直接把请求参数跟在URL的后面以?隔开,多个参数之间以&符号拼接
    
    //1.确定请求路径
//    NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/lookup?id=1329918420"];
    NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com/hk/lookup?bundleId=com.xx.foo"];
    //2.创建请求对象
    //请求对象内部默认已经包含了请求头和请求方法(GET)
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    //3.获得会话对象
    NSURLSession *session = [NSURLSession sharedSession];
    
    //4.根据会话对象创建一个Task(发送请求)
    /*
     第一个参数:请求对象
     第二个参数:completionHandler回调(请求完成【成功|失败】的回调)
     data:响应体信息(期望的数据)
     response:响应头信息,主要是对服务器端的描述
     error:错误信息,如果请求失败,则error有值
     */
    NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        
        if (error == nil) {
            //6.解析服务器返回的数据
            //说明:(此处返回的数据是JSON格式的,因此使用NSJSONSerialization进行反序列化处理)
            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
            NSLog(@"dict %@",dict);
            
            //            NSDictionary *appInfo   = (NSDictionary*)data;
            NSArray *infoContent    = [dict objectForKey:@"results"];
            NSString * version = [[infoContent objectAtIndex:0]objectForKey:@"version"];//线上最新版本
            NSLog(@"version %@",version);
            _webAppVersion = version;
            
        }else{
            _webAppVersion = @"0";
        }
        [self handleVersionCheckResult];
    }];
    //5.执行任务
    [dataTask resume];
}

 

分享到:
评论

相关推荐

    ios应用升级 更新提示

    总结来说,iOS应用升级更新提示和评分机制是用户与开发者之间互动的关键环节。开发者需要精心设计更新提示,以吸引用户升级,并通过良好的用户体验鼓励他们给出好评。同时,通过有效的版本管理,确保升级过程的顺畅...

    iOSApp版本更新Demo

    在iOS应用开发中,版本更新是一项重要的功能,它允许用户接收到应用的新版本并进行升级,以获取最新的功能、性能优化或安全修复。这个“iOS App版本更新Demo”旨在提供一个实际操作的例子,帮助开发者理解如何在自己...

    IOS滚动文本通知

    8. **权限请求**: 在iOS 10及以上版本,应用需要获取用户的许可才能发送通知。开发者需调用`requestAuthorization`方法并处理用户的选择。 9. **通知设置**: 用户可以在设备设置中控制哪些应用可以发送通知,以及...

    IOS7应用开发入门经典.第5版.pdf.zip

    4. **用户界面设计**:iOS应用的用户体验是关键。本书将介绍使用Interface Builder设计UI的方法,包括Storyboard、Auto Layout和Size Classes,以适应不同屏幕尺寸和设备方向。 5. **事件处理**:学习如何响应用户...

    iOS 版本更新

    在iOS平台上,应用程序的版本更新是一项关键功能,它确保用户能够获取到开发者提供的最新功能、安全修复和性能改进。当App Store检测到某款应用有新的版本可用时,系统会自动向用户展示一个通知,标题可能就是“iOS...

    ios 通知实现原理

    在iOS系统中,通知是一种非常重要的用户交互方式,它能够及时地将应用的新消息、状态更新或其他重要信息传达给用户,即使用户并未直接与应用进行交互。本篇将深入探讨iOS通知的实现原理,包括本地通知和远程推送通知...

    swift-ShineUpdater一个iOS应用更新框架

    Swift-ShineUpdater是一个专为iOS应用设计的更新框架,它为开发者提供了便捷的方式来检查和安装应用的最新版本。这个框架的出现,使得开发者无需通过App Store的常规更新流程,就能在用户设备上实现应用程序的无缝...

    iOS 10应用开发基础教程

    它是Apple官方的开发工具,包含了编写、测试和调试iOS应用所需的所有组件。Xcode的Interface Builder允许你通过拖放方式创建用户界面,而Swift Playgrounds则提供了一个实时查看代码效果的环境,这对于学习和试验新...

    ios-版本更新.zip

    在iOS应用开发中,版本更新是一项重要的功能,它允许用户接收到新版本的应用程序并进行升级,以获取最新的特性和修复。"ios-版本更新.zip"这个文件很可能包含了一个实现iOS应用内版本更新提示的示例代码或者资源,...

    iOS10通知及通知拓展Extension使用

    总的来说,iOS10的通知系统为开发者提供了更多创新的可能性,无论是通过通知服务扩展增强通知的隐私安全,还是通过内容扩展提供个性化的通知界面,都极大地丰富了应用与用户沟通的方式。开发者应充分利用这些工具,...

    iOS10.0本地推送通知.

    在iOS系统中,推送通知是一项重要的功能,它能让应用程序在后台状态下向用户发送消息或提醒。随着iOS10.0的发布,苹果对推送通知服务进行了显著的改进和扩展,为开发者提供了更多自定义和交互的可能性。以下是关于...

    ios 获取IP Mac地址

    可以使用`CFNetwork`框架中的`CFHost`来获取本地主机的IP信息。以下是一个简单的示例代码: ```swift import Foundation func getIPAddress() -> String? { guard let interfaceNames = ...

    ios 通知中心

    在iOS系统中,通知中心是用户获取应用更新和提醒的重要途径。它允许应用程序在适当的时候向用户推送消息,即使用户并未直接与应用交互。本文将深入探讨“iOS通知中心”的相关知识点,包括本地通知和远程通知(Push ...

    ios自定义弹出本地通知

    1. **请求权限**:在iOS 10及以上版本,应用需要先获取用户的许可才能发送通知。我们可以通过`UNUserNotificationCenter`的`requestAuthorization(options:completionHandler:)`方法来请求权限。 2. **创建通知内容...

    ios-版本检测更新.zip

    1. **版本检测**:在iOS应用中,通常通过与Apple App Store通信来检查当前应用的最新版本。这一过程可以通过调用特定的API实现,例如,可以使用`SKStoreReviewController`类的`requestMetadata`方法获取应用的元数据...

    ios-通知中心.zip

    在iOS操作系统中,通知中心是用户获取应用更新、提醒和服务信息的重要途径。它汇集了来自各种应用程序的通知,让用户可以方便地一目了然地查看所有未读和已读消息。"ios-通知中心.zip"这个压缩包很可能包含了关于iOS...

    iOS 9.1应用开发基础教程

    9. **地图与定位服务**: 利用Core Location获取设备位置信息,并结合MapKit展示地图、导航等功能。 10. **测试与发布**: 学习如何在Xcode中进行单元测试和UI测试,以及通过App Store Connect提交应用到App Store供...

    iOS 获取系键盘

    本文将深入探讨如何在iOS应用中获取并处理系统键盘,包括键盘的高度和弹出速度,以及如何实现与第三方键盘的兼容。 首先,我们需要理解iOS中的键盘机制。苹果提供了UIKit框架,其中包含`UIKeyboard`类,虽然这个类...

    iOS 通知中心

    iOS的通知中心是操作系统提供的一种重要功能,用于向用户展示来自各种应用的实时更新和提醒。在iOS设备上,无论用户正在使用哪个应用,系统都可以通过通知中心适时地将信息推送给用户,确保用户不会错过任何关键信息...

    ios应用源码之获取本地视频库和获取摄像头视频流 videoupload 20181210

    在iOS应用开发中,获取本地视频库和捕获摄像头视频流是常见的功能需求,尤其对于媒体分享、社交应用以及各种多媒体应用来说至关重要。本篇将深入探讨如何在iOS平台上实现这些功能,主要涉及的知识点包括: 1. **...

Global site tag (gtag.js) - Google Analytics