APP版本更新的解決方法

如果我們需要實現(xiàn)版本的 app 自動更新跺涤,那么我們需要獲取當(dāng)前運(yùn)行程序的版本信息和 appstore 里發(fā)布的最新版本信息请垛。

當(dāng)前運(yùn)行程序的版本信息遏暴,可以在 mainBundle 里面獲劝嗤凇:

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

NSString *currentVersion = [infoDict objectForKey:@"CFBundleVersion"];

而 appstore 里發(fā)布的最新版本信息獲取稍微復(fù)雜一些枫绅,有兩種方案泉孩,思路都是一樣的:

其一:在某個服務(wù)器上存儲最新發(fā)布的版本信息,需要的時候向該服務(wù)器查詢并淋;

其二:在需要的時候向 appstore 查詢寓搬;

在這里我來介紹第二種方法:向 appstore 查詢應(yīng)用程序信息,包括作者县耽,版本句喷,app 介紹頁面地址等信息。

英文好的同學(xué)可以參考 apple 的文檔:www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

具體步驟如下:

1兔毙,用 POST 方式發(fā)送請求:

http://itunes.apple.com/search?term=你的應(yīng)用程序名稱&entity=software

更加精準(zhǔn)的做法是根據(jù) app 的 id 來查找:

http://itunes.apple.com/lookup?id=你的應(yīng)用程序的ID

如果是中國地區(qū)的程序唾琼,用這個:http://itunes.apple.com/cn/lookup?id=

2,從獲得的 response 數(shù)據(jù)中解析需要的數(shù)據(jù)澎剥。因為從 appstore 查詢得到的信息是 JSON 格式的锡溯,所以需要經(jīng)過解析。解析之后得到的原始數(shù)據(jù)就是如下這個樣子的:

{

resultCount = 1;

results = (

{

artistId = 301724683;

artistName = Citibank;

artistViewUrl = "http://itunes.apple.com/us/artist/citibank/id301724683?uo=4";

artworkUrl100 = "http://a5.mzstatic.com/us/r1000/117/Purple/a1/85/a9/mzl.hvwnfdkw.png";

artworkUrl512 = "http://a5.mzstatic.com/us/r1000/117/Purple/a1/85/a9/mzl.hvwnfdkw.png";

artworkUrl60 = "http://a2.mzstatic.com/us/r1000/099/Purple/67/86/7e/mzi.utfdvrgy.png";

averageUserRating = "3.5";

averageUserRatingForCurrentVersion = 5;

contentAdvisoryRating = "4+";

currency = USD;

description = "Description of you app.";

features = (

iosUniversal

);

fileSizeBytes = 4141195;

genreIds = (

6015

);

genres = (

Finance

);

ipadScreenshotUrls = (

"http://a1.mzstatic.com/us/r1000/095/Purple/e0/a6/17/mzl.pbbxcjzt.1024x1024-65.jpg",

"http://a3.mzstatic.com/us/r1000/036/Purple/cc/14/98/mzl.dyairego.1024x1024-65.jpg"

);

isGameCenterEnabled = 0;

kind = software;

languageCodesISO2A = (

EN

);

price = 0;

primaryGenreId = 6015;

primaryGenreName = Finance;

releaseDate = "2011-01-24T06:14:35Z";

releaseNotes = "* View Real-time streaming prices for U.S. Treasuries nn* Open and Save your Citi Research in your favorite PDF Reader and Library such as iBooksnn* Search for your favorite videos";

screenshotUrls = (

"http://a3.mzstatic.com/us/r1000/066/Purple/17/51/fb/mzl.zywiavgn.png",

"http://a5.mzstatic.com/us/r1000/026/Purple/73/85/97/mzl.csmdtndk.png"

);

sellerName = "Citibank, N.A.";

sellerUrl = "http://";

supportedDevices = (

all

);

trackCensoredName = "Citi Velocity";

trackContentRating = "4+";

trackId = 414697122;

trackName = "Citi Velocity";

trackViewUrl = "http://itunes.apple.com/us/app/citi-velocity/id414697122?mt=8&uo=4";

userRatingCount = 5;

userRatingCountForCurrentVersion = 1;

version = "1.4";

wrapperType = software;

}

);

}

然后從中取得 results 數(shù)組即可哑姚,具體代碼如下所示:

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 的實際地址祭饭,然后在瀏覽器中打開,就會打開你的應(yīng)用程序在 appstore 中的介紹頁面蜻懦。當(dāng)然我們也可以在代碼中調(diào)用 safari 來打開它甜癞。

UIApplication *application = [UIApplication sharedApplication];

[application openURL:[NSURL URLWithString:trackViewUrl]];

這是評論的地址:

在iPhone應(yīng)用里直接打開app store 評論頁面的方法:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=abc"]];

復(fù)制代碼

更換下id號就可以。

如果想要打開下載頁面宛乃,把url改為

itms-apps://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=40461254

更換下id號就可以悠咱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市征炼,隨后出現(xiàn)的幾起案子析既,更是在濱河造成了極大的恐慌,老刑警劉巖谆奥,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眼坏,死亡現(xiàn)場離奇詭異,居然都是意外死亡酸些,警方通過查閱死者的電腦和手機(jī)宰译,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魄懂,“玉大人沿侈,你說我怎么就攤上這事∈欣酰” “怎么了缀拭?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵咳短,是天一觀的道長。 經(jīng)常有香客問我蛛淋,道長咙好,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任褐荷,我火速辦了婚禮勾效,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叛甫。我一直安慰自己葵第,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布合溺。 她就那樣靜靜地躺著,像睡著了一般缀台。 火紅的嫁衣襯著肌膚如雪棠赛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天膛腐,我揣著相機(jī)與錄音睛约,去河邊找鬼。 笑死哲身,一個胖子當(dāng)著我的面吹牛辩涝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勘天,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼怔揩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脯丝?” 一聲冷哼從身側(cè)響起商膊,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宠进,沒想到半個月后晕拆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡材蹬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年实幕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堤器。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昆庇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吼旧,到底是詐尸還是另有隱情凰锡,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站掂为,受9級特大地震影響裕膀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勇哗,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一昼扛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欲诺,春花似錦抄谐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至塞颁,卻和暖如春浦箱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背祠锣。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工酷窥, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伴网。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓蓬推,卻偏偏與公主長得像,于是被迫代替她去往敵國和親澡腾。 傳聞我的和親對象是個殘疾皇子沸伏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容