1. 程式人生 > >iOS版本迭代

iOS版本迭代

當前執行版本資訊可以通過info.plist檔案中的bundle version中獲取:

[cpp] view plaincopy
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];  
    CFShow(infoDic);  
      
    NSString *appVersion = [infoDic objectForKey:@"CFBundleVersion"];  

這樣就獲取到當前執行的app的版本了

要獲取當前app store上的最新的版本,有兩種方法,
一、在某特定的伺服器上,釋出和儲存app最新的版本資訊,需要的時候向該伺服器請求查詢。

二、從app store上查詢,可以獲取到app的作者,連線,版本等。官方相關文件
www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.htm
具體步驟如下: 1,用 POST 方式傳送請求: http://itunes.apple.com/search?term=你的應用程式名稱&entity=software 更加精準的做法是根據 app 的 id 來查詢: http://itunes.apple.com/lookup?id=你的應用程式的ID #define APP_URL http://itunes.apple.com/lookup?id=你的應用程式的ID 你的應用程式的ID 是 itunes connect裡的 Apple ID 2,從獲得的 response 資料中解析需要的資料。因為從 appstore 查詢得到的資訊是 JSON 格式的,所以需要經過解析。解析之後得到的
原始資料
就是如下這個樣子的: { resultCount = 1; results = ( { artistId = 開發者 ID; artistName = 開發者名稱; price = 0; isGameCenterEnabled = 0; kind = software; languageCodesISO2A = ( EN ); trackCensoredName = 審查名稱; trackContentRating = 評級; trackId = 應用程式 ID; trackName = 應用程式名稱"; trackViewUrl = 應用程式介紹網址; userRatingCount = 使用者評級; userRatingCountForCurrentVersion = 1; version = 版本號; wrapperType = software; } ); } 然後從中取得 results 陣列即可,具體程式碼如下所示: NSDictionary *jsonData = [dataPayload JSONValue]; NSArray *infoArray = [jsonData objectForKey:@"results"]; NSDictionary *releaseInfo = [infoArray objectAtIndex:0]; NSString *latestVersion = [releaseInfo objectForKey:@"version"]; NSString *trackViewUrl = [releaseInfo objectForKey:@"trackViewUrl"]; 如果你拷貝 trackViewUrl 的
實際地址
,然後在瀏覽器中開啟,就會開啟你的應用程式在 appstore 中的介紹頁面。當然我們也可以在程式碼中呼叫 safari 來開啟它。 UIApplication *application = [UIApplication sharedApplication]; [application openURL:[NSURL URLWithString:trackViewUrl]]; 程式碼如下: -(void)onCheckVersion { NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary]; //CFShow((__bridge CFTypeRef)(infoDic)); NSString *currentVersion = [infoDic objectForKey:@"CFBundleVersion"]; NSString *URL = @"http://itunes.apple.com/lookup?id=你的應用程式的ID"; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:URL]]; [request setHTTPMethod:@"POST"]; NSHTTPURLResponse *urlResponse = nil; NSError *error = nil; NSData *recervedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponseerror:&error]; NSString *results = [[NSString alloc] initWithBytes:[recervedData bytes] length:[recervedData length]encoding:NSUTF8StringEncoding]; NSDictionary *dic = [results JSONValue]; NSArray *infoArray = [dic objectForKey:@"results"]; if ([infoArray count]) { NSDictionary *releaseInfo = [infoArray objectAtIndex:0]; NSString *lastVersion = [releaseInfo objectForKey:@"version"]; if (![lastVersion isEqualToString:currentVersion]) { //trackViewURL = [releaseInfo objectForKey:@"trackVireUrl"]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"關閉" otherButtonTitles:@"更新", nil]; alert.tag = 10000; [alert show]; } else { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"此版本為最新版本"delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil]; alert.tag = 10001; [alert show]; } } } - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (alertView.tag==10000) { if (buttonIndex==1) { NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com"]; [[UIApplication sharedApplication]openURL:url]; } } }

相關推薦

iOS版本

當前執行版本資訊可以通過info.plist檔案中的bundle version中獲取: [cpp] view plaincopy NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

iOS開發技巧--iOS app 上架(2016年10月底)以及版本上架

寫一下app store的上架流程。主要分6大部分:1建立證書的請求檔案2 建立證書3 建立app id 4 建立app 配置檔案5 填寫app相關資訊6 xcode打包上傳1建立證書的請求檔案常用名稱可以隨便寫,不過儘量寫的有含義寫,方便以後辨認。2 建立證書下載之後記得雙

iOS開發:2017 蘋果APP上架更新應用版本注意事項及APP版本步驟方法

前幾天蘋果剛出臺新的政策協議,警告禁止使用APP熱更新,然後就收到蘋果發的警告郵件,然後並沒有在意,直到今天需要更新之前上架應用版本,才發現了問題。如果你的開發者賬號已經同意了蘋果開發者官網的最新協議

Android app版本升級

在我們進行App開發的時候,免不了進行進行版本迭代,所以就將自己的版本迭代進行整理,以便大家使用,也對自己以後的開發更方便 首先是請求後臺資料,獲取當前後臺版本號,然後和自己客戶端的版本號進行比對,如果高於當前版本,就進行升級   //versionCode 是當前App的版本號

官網TensorFlow 版本展示

網址https://pypi.org/project/tensorflow/1.12.0/#history 列出TensorFlow版本名稱,釋出時間等 還可以根據電腦環境,下載對應版本   GitHub中對版本迭代,API更新,修改,變化的記錄https://gith

Alpha版本

前言 小組名:沒有bug! 專案:短視訊APP 思考總結 設想與目標  我們的軟體要解決什麼問題?是否定義得很清楚?是否對典型使用者和典型場景有清晰的描述? 我們軟體主要是實現一個創新型的短視訊APP,在以往的短視訊APP的基礎上增加了一些新

時間序列預測系統α版本總結

第一次迭代已經結束,總的來說收穫很大。a版本主要進行了網站的開發,從最開始的第一個頁面到最後一個頁面,開發速度越來越快,效率越來越高,html、css、js也運用的越來越熟練,但還是需要更加深入的學習。 設想與目標 我們的軟體要解決什麼問題?是否定義得很清楚?是否對典型使用者和典型場景有清晰的描述?

Android SDK 代理更新版本

啟動 Android SDK Manager ,開啟主介面,依次選擇「Tools」、「Options...」,彈出『Android SDK Manager - Settings』視窗; 在『Android SDK Manager - Settings』視窗中,在

如何制定版本的需求清單?

 需求要從哪裡來 從使用者來 C端來說使用者畫像是個好東西,你能清楚的知道你的使用者定位,心理,偏好,基於資料可以分析出下一步的需求;B端來說使用者池是個好東西,需求反饋和客戶拜訪帶來的需求往往的是需要探尋背後業務深度的;需求從使用者來是需求構成的一部分。 從競品來 別

產品的版本機制是這樣的

一款網際網路產品的版本迭代不是在最開始就規劃好的,也不應該規劃好,甚至不用做很長遠的規劃,因為你的長遠規劃真的只是停留在規劃。 一款新產品推出市場,死了或者火了的處理方法比較簡單,可如果是不慍不火呢?迭代,該怎麼讓產品火起來? 一、產品的迭代的唯一依據————目標使用者

移動App雙週版本實戰

        對於移動網際網路產品來說,迭代的速度就是生命。我創業時做移動App時是一週一版,而現在是2周1版。相比起小公司,大公司迭代時間雖長,卻更為不易,因為大公司流程更多,參與人數更多,需求更多,實現這樣的快速迭代存在許多挑戰,也有一定風險,管理者控制起來更困難。 

Unity3D版本

版本與版本之間有差異,其中資源的更新是AssetBundle(Zip),程式碼的更新是Lua Zip01 Zip02 Zip03  本地版本 1.0.1 伺服器版本 1.0.2 因此需要在本地上去載入伺服器的Zip01包 如果伺服器現在是 1.04 則需要載入&

版本控制(Not Git/svn)

說到版本控制,大多數人的大腦中都一定會立刻想到 git 和 svn 吧,只可惜,這次的主角可不是他們 雖說 git 和 svn 雖好,對於一些專案也能夠進行很好的開發,但是呢,對於某些場景,還是有些 hold 不住的 比如,我們來舉一個場景: 現在我

敏捷開發一千零一問系列之三十六:如何做小版本的程式碼管理

本文是敏捷開發一千零一問的第三十五篇。(欄目總目錄)問題若要實現敏捷式的開發,對產品進行迭代式的小版本的釋出,在程式碼管理方面應該怎麼樣管理呢?我們目前的管理是在一個大的版本上不斷的遞增新的需求……但是要是有個需求做到一半,領導又要求做更重要的需求的情況,就很難將開發一半的程

PHP各版本

php5.3 改動: 1、realpath() 現在是完全與平臺無關的. 結果是非法的相對路徑比如FILE. "/../x" 將不會工作. 2、call_user_func() 系列函式即使被呼叫者是一個父類也使用 $this. 3、陣列函式 natsort(), natcasesort(), usor

版本更新—增量更新你的應用

App的時候升級提醒有兩種方式獲得: 一種是通過App Store獲取 另一種是開啟應用之後提醒使用者更新升級 而更新操作一般是在使用者點選了更新按鈕之後開始執行的,這裡的升級操作也分為兩種形式:(一般升級,強制升級) 1.App Store升級

前端採用SeaJs模組化程式設計,處理web專案版本每次都清空瀏覽器快取問題

1.首先定製規則,業務程式碼開發的js我的在app0資料夾下,第三方的js在common資料夾下  2.引入seaJs相關的js檔案,實現模組化程式設計 <script language="ja

記錄版本_20180709

記錄這個千瘡百孔的專案迭代過程!!!! 樂店雲通用版v1.5 1、店鋪管理文案修改:“店鋪管理/店鋪裝修”文字改為“店鋪管理/微站裝修”; 2、裝修選單層級關係優化:目前的版塊命名和提示,導致層級關係很不清晰。“模板市場”可以改為“建立頁面”,“萬能頁面”可以改為

提交APPStore版本

在開發過程中,版本的迭代更新是必須要熟練的,下面就帶大家來熟悉熟悉。 第一步 現在iTunes Connect中建立版本 第二步 修改專案中的info (其他的info.plist也要注意修改) 第三步 配置好證書和描述檔案之後就可以打包了

Lucene的版本

Lucene已經發展到Lucene 7了,不過,Lucene 7是一個前瞻性的版本,其實,Lucene還在同時升級Lucene5 和Lucene6. Lucene在之前的版本迭代中,不斷嘗試新的設計思想,不斷引入新的與時俱進的功能。這也導致Lucene的大版本