`
ydbc
  • 浏览: 731147 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

iOS 开发:应用内实现 更新提醒

 
阅读更多
目前绝大多数的应用都可以实现应用更新后,打开应用就能得到更新提醒。这有利于用户的更新。
关于如何实现的方式,很多人希望Xcode本身能够提供相应的API来实现对应用版本的查找,但就目前来看,还没有这样的API。因此,目前的解决办法有两种:
1、自己架设服务器,当应用更新后,就在自己的服务器中更新版本信息,然后让应用连接服务器来查找版本信息,与当前应用版本核对,如果更新则提示
2、利用App Store的Search-api,通过相应的api,request可以得到相应的应用信息,关键是JSON格式的,因此就很方面对版本信息进行提取然后比对。下面是网址:
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
可以看到,只要使用https://itunes.apple.com/lookup?id=595176741 这样的url进行request,id要换成所在应用的id,然后就可以得到JSON格式的信息。
下面是以应用 3D量角器为例可以得到如下JSON信息:
{
"resultCount":1,
"results": [
{"kind":"software", "features":["iosUniversal"], "supportedDevices":["iPodTouchourthGen", "iPad2Wifi", "iPad23G", "iPhone4"], "isGameCenterEnabled":false, "artistViewUrl":"https://itunes.apple.com/us/artist/hongkun-song/id595176744?uo=4", "artworkUrl60":"http://a86.phobos.apple.com/us/r1000/091/Purple2/v4/0a/db/51/0adb5130-5d18-0b98-d1cc-3ddd114b10d5/icon57_57.png",
"screenshotUrls":["http://a1960.phobos.apple.com/us/r1000/108/Purple/v4/ea/52/80/ea52802a-c7d9-1dca-defe-937fb61bbc3e/mzl.ghupvxyw.png", "http://a1740.phobos.apple.com/us/r1000/110/Purple2/v4/58/40/64/584064d8-1d3b-6704-3bf7-3b1c771d25c1/mzl.ydpovfzk.png", "http://a180.phobos.apple.com/us/r1000/100/Purple2/v4/22/01/90/22019008-314d-07e7-49e4-2359983058c0/mzl.hefjpqiw.png", "http://a1862.phobos.apple.com/us/r1000/107/Purple/v4/ee/23/a6/ee23a69f-768f-5fe8-9444-298a26330faa/mzl.sxiofdqt.png", "http://a980.phobos.apple.com/us/r1000/102/Purple/v4/cd/2c/9f/cd2c9fff-8dac-b75d-f260-c223ea8d2b33/mzl.trozlblw.png"],
"ipadScreenshotUrls":["http://a651.phobos.apple.com/us/r1000/079/Purple/v4/e9/ab/55/e9ab55ab-6b7c-04ab-034e-833c113be412/mzl.ganeacuj.1024x1024-65.jpg", "http://a247.phobos.apple.com/us/r1000/107/Purple/v4/f3/87/60/f3876038-162a-7df4-87e5-54b6a5b14b78/mzl.vxycagic.1024x1024-65.jpg", "http://a831.phobos.apple.com/us/r1000/093/Purple2/v4/8b/b3/77/8bb37753-e3d5-9f45-ecfb-bf09cdb660f0/mzl.ncygstwb.1024x1024-65.jpg", "http://a376.phobos.apple.com/us/r1000/078/Purple/v4/f3/4e/36/f34e362f-dee0-0903-436e-034ba94a6f79/mzl.ecchwkyv.1024x1024-65.jpg", "http://a1624.phobos.apple.com/us/r1000/079/Purple/v4/db/12/9d/db129d6b-107b-fa80-f472-a8c7809ef513/mzl.xjmeijfn.1024x1024-65.jpg"], "artworkUrl512":"http://a1435.phobos.apple.com/us/r1000/076/Purple/v4/d1/36/f5/d136f5d0-3962-9ba1-95b2-3ca0ba3be9ec/mzl.zzqaoikx.jpg", "artistId":595176744, "artistName":"Hongkun Song", "price":1.99, "version":"2.0",
"description":"Measure actual angles from a distance? This magical App makes impossible happen!\n\nJust throw your plastic protractor away if you have an iPhone! I think you would never have to use traditional protractors any more! Since here is a much better tool for you to measure angles, that is your iOS device and of course, with the amazing app 3D Protractor!\n\n3D Protractor! A super tool for you to measure all kinds of angles in the 3D space by moving and rotating your iOS device or using the camera!\n\nDon\u2019t limit your imagination of measuring angles to just measuring the angle between two lines on a plane! This was an old thinking. 3D Protractor breaks it! In fact,it is so powerful that it can do following five jobs:\n1,Line-Line Angle Measurement. It can measure the angle of any two lines in the space,include the angle on a plane.\n2,Slope Angle Measurement. \n3,Dihedral Angle Measurement.\n4,Line-Face Angle Measurement.\n\n5,Camera Angle Measurement. It is a super cool feature! It can measure actual angles of any objects in front by the device's camera. Unbelievable! Actual angle! \n\nYou might feel a little bit confused at first after reading the above professional descriptions. This App uses 3D models to make it really easy for you to understand and use.\nEveryone can use it. Students can use it to do their homework. Teachers can use it to teach geometry especially solid geometry, which makes a really good teaching tool. Engineers can use it to measure any angles they need to know at work. And of course, there are many many more usages in our daily life.\n\n3D Protractor! Re-invention of protractor! \nA great app to make measuring angle easy and more accurate! \nA great app to change the world of angle measurement!\n\nPS. 1、If you measure an angle in a long time,the precision may be lower.\n2、This version has no Ads!", "currency":"USD", "genres":["Utilities", "Education"], "genreIds":["6002", "6017"], "releaseDate":"2013-01-26T07:54:39Z", "sellerName":"Hongkun Song", "bundleId":"com.manmanlai.-D-Protractor", "trackId":595176741, "trackName":"3D Protractor", "primaryGenreName":"Utilities", "primaryGenreId":6002,
"releaseNotes":"1、Add Camera Angle Measurement Feature; \nIt is a super cool feature! It can measure actual angles of any objects in front by the device's camera. Unbelievable! Actual angle!\n2、Add radian number display; \nTap the number, then you would see the transition between degree and radian number. \n3、Add traditional chinese version; \n4、Fix some bugs;", "formattedPrice":"$1.99", "wrapperType":"software", "trackCensoredName":"3D Protractor", "trackViewUrl":"https://itunes.apple.com/us/app/3d-protractor/id595176741?mt=8&uo=4", "contentAdvisoryRating":"4+", "artworkUrl100":"http://a1435.phobos.apple.com/us/r1000/076/Purple/v4/d1/36/f5/d136f5d0-3962-9ba1-95b2-3ca0ba3be9ec/mzl.zzqaoikx.jpg", "languageCodesISO2A":["ZH", "EN"], "fileSizeBytes":"14633609", "averageUserRatingForCurrentVersion":5.0, "userRatingCountForCurrentVersion":2, "trackContentRating":"4+", "averageUserRating":4.5, "userRatingCount":8}]
}
可以看出,包括更新的内容都有,这就非常好办了。具体的实现方式这里写一下获取的方法:
[cpp]
[plain]
<span style="font-size:24px;">NSString *query = [NSString stringWithFormat:@"https://itunes.apple.com/lookup?id=%@", AppID];
query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error] : nil;</span>
获取了NSDictionary 的results,之后一切都好办。代码中特地加入UTF8String编码,不用也可以。当然,网页上说All JSON results are encoded as UTF-8。
另外,要获得App的版本号,如下
App版本: [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
App Build版本: [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
分享到:
评论

相关推荐

    苹果iOS app开发之更新升级app的办法.zip

    在苹果iOS平台上开发应用程序时,更新和升级是开发者必须面对的重要环节。这涉及到用户能够顺畅地获取新功能、修复和优化。以下是对标题和描述中所述知识点的详细说明: 1. **判断当前APP版本**: 要知道用户设备...

    iOS开发之一句代码检测App版本的更新

    在iOS应用开发中,定期检测并提示用户更新App版本是保持应用活跃度和用户...总的来说,通过一句代码实现的版本检测和更新跳转是iOS开发中的一个实用技巧,它能帮助开发者有效地提醒用户升级应用,保持应用的最新状态。

    企业级iOS应用开发实战(全部章节)

    实战篇(18~19章)以迭代的方式讲解了两个综合案例的完整实现过程,既融合了前面的理论知识,又展现了企业级iOS应用开发的流程和方法。企业级ios应用开发实战具有如下特点:1、主题明确,以“iOS”和“企业开发”为...

    为wordpress博客开发移动应用安卓IOS小程序开发中

    在WordPress博客平台中,为了拓宽用户访问渠道和提升用户体验,开发者常常会进行移动应用的开发,以便用户可以在Android和iOS设备上便捷地访问内容。本文将深入探讨如何使用JavaScript技术进行混合移动应用的开发,...

    Swift-编-程-实-战-iOS应用开发实例及完整解决方案.

    总结,《Swift编程实战:iOS应用开发实例及完整解决方案》涵盖了从Swift语言基础到iOS应用开发的各个方面,无论你是初学者还是经验丰富的开发者,都能从中受益,提升自己的iOS开发能力。通过阅读和实践书中的实例,...

    ios开发基础教程

    《iOS开发基础教程》是一本面向初学者及有一定经验的iOS开发者的专业教程,主要针对iOS 5版本的SDK进行深入探讨。本教程采用英文编写,虽然对于非英语母语者可能有一定阅读挑战,但其详尽的内容使得学习过程更为全面...

    IOS开发项目源代码

    这些标签提醒我们,这个资源适合那些希望提升iOS开发技能,或者需要参考现有项目实现特定功能的开发者。 【压缩包子文件的文件名称列表】:项目源代码 由于只有一个文件名“项目源代码”,我们可以推测这是一个...

    swift语言开发IOS课程设计大作业日历+记事本app

    通过这个项目,开发者不仅掌握了Swift编程和iOS应用开发的基本技能,还理解了如何根据用户需求设计和实现功能,以及利用数据持久化技术保存用户数据。此应用的完成,体现了开发者在移动终端软件设计上的实践能力和...

    iOS开发资料大全iOS开发资料大全

    在iOS开发领域,掌握必要的知识和技能至关重要。这个名为"IOS开发资料大全"的压缩包很可能是为了帮助开发者提供一个全面的学习资源集合。下面,我们将深入探讨iOS开发的关键知识点,这些知识点可能涵盖在压缩包中的...

    ios开发 闹钟功能

    在iOS开发中,实现闹钟功能通常涉及到使用`UILocalNotification`类,这是苹果提供的一种系统级别的通知服务,允许开发者在指定的时间触发提醒或者事件。本文将深入探讨如何利用`UILocalNotification`来构建一个本地...

    IOS9开发指南

    - **Objective-C**:作为iOS开发的传统语言,Objective-C依然广泛使用。iOS 9提供了更好的Objective-C兼容性,使得混合使用两种语言变得容易。 - **Swift**:Swift是Apple推出的现代编程语言,语法简洁,编译速度快...

    从零开始学iOS7开发系列教程-事务管理软件开发实战

    这个项目会让你亲手实现一个可以记录、跟踪和提醒日常事务的应用。 通过这九个章节的学习,你将具备开发完整iOS应用的能力,尤其是在iOS7环境下。这个教程不仅提供了理论知识,还有实际操作的指导,对于想要从事iOS...

    iOS 6应用开发入门经典源代码

    在iOS开发领域,掌握iOS 6应用开发是进入这个行业的基础。尽管iOS系统已经更新到更高的版本,但了解早期版本的开发经验对于理解整个iOS生态系统的演变至关重要。本资源"iOS 6应用开发入门经典源代码"提供了一个学习...

    ios来电提醒demo

    这个Demo适用于开发iOS系统的第三方拨号器应用,或者作为现有应用的来电增强插件。它可以帮助用户更好地管理电话,提高对骚扰电话的防范能力,同时提升接听电话的效率。例如,对于商务人士,快速了解来电者的身份有...

    ios高级开发代码实例

    10. **推送与本地通知**:文件12可能涉及本地通知的设置和触发,这在提醒用户应用内重要事件时非常有用。 这些实例代码提供了实际操作的机会,有助于开发者巩固理论知识,提升解决实际问题的能力。通过逐个研究每个...

    IOS应用源码之【应用】-iOS点餐系统.rar

    3. ** MVC架构**:模型-视图-控制器(MVC)是iOS开发中常见的设计模式,用于组织代码结构,将业务逻辑、数据处理和用户界面分离。 4. **网络通信**:应用可能使用URLSession或者第三方库如Alamofire进行网络请求,...

    IOS应用源码Demo-一个天气应用的完整例子-毕设学习.zip

    这个天气应用是iOS开发的一个实例,可以帮助学生或者开发者理解如何在iOS平台上构建一个实际的应用程序。下面我们将深入探讨这个应用可能涉及到的关键知识点。 1. **Objective-C或Swift编程语言**:iOS应用主要使用...

    ios应用源码之提示用户区app store评分的弹出框 2018128

    在iOS应用开发中,引导用户对App Store进行评分和评论是一项重要的策略,它有助于提高应用的可见性和用户参与度。本资源提供了一份2018年12月8日的iOS应用源码,用于实现自动提示用户去App Store给应用打分的功能。...

    ios应用源码之一个每日时间安排的小demo 2018127

    1. **Xcode**: 作为iOS开发的主要集成开发环境(IDE),Xcode包含了编写、调试和构建iOS应用所需的所有工具。在这个小demo中,我们首先需要在Xcode中创建一个新的项目,选择Single View App模板,为应用设置适当的...

    ios开发学习技术demos.zip

    10. **In-App Purchase**:对于有付费内容的应用,需掌握如何实现内购功能,包括设置产品,处理交易和验证购买。 11. **测试和调试**:使用Xcode的内置测试框架(XCTest)编写单元测试和UI测试,确保代码质量。学会...

Global site tag (gtag.js) - Google Analytics