ios應用啟動後的自動版本檢測方式,ios應用檢測方式

來源:互聯網
上載者:User

ios應用啟動後的自動版本檢測方式,ios應用檢測方式

今天意外的發現了appstore居然還提供通過url擷取json格式的用戶端資訊連結:

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

 

通過此地址可以擷取應用的icon、介紹、、版本號碼以及版本說明

 

例如請求秘密的json資訊:

Java代碼  
  1. http://itunes.apple.com/lookup?id=839415177  

 

Java代碼  
  1. {  
  2.  "resultCount":1,  
  3.  "results": [  
  4. {"kind":"software", "features":[],   
  5. "supportedDevices":["iPodTouchFifthGen", "iPad2Wifi", "iPadFourthGen", "iPadFourthGen4G", "iPadMini4G", "iPadThirdGen", "iPadMini", "iPhone5", "iPhone5c", "iPad23G", "iPhone4", "iPhone4S", "iPadThirdGen4G", "iPhone5s"], "isGameCenterEnabled":false,   
  6. "screenshotUrls":["http://a4.mzstatic.com/us/r30/Purple4/v4/3f/ee/08/3fee086d-cd99-2ac0-2159-99372c989ad3/screen1136x1136.jpeg", "http://a3.mzstatic.com/us/r30/Purple6/v4/07/a6/2d/07a62d2a-0bdc-ae5f-2239-532c364e9641/screen1136x1136.jpeg", "http://a2.mzstatic.com/us/r30/Purple4/v4/3f/e0/ca/3fe0ca8d-67bd-2923-d3c1-797dd362c0cb/screen1136x1136.jpeg", "http://a2.mzstatic.com/us/r30/Purple6/v4/4a/0d/9f/4a0d9f68-79fb-f0ca-d0c0-570da23ae037/screen1136x1136.jpeg", "http://a1.mzstatic.com/us/r30/Purple4/v4/04/7b/63/047b63d5-1f09-04fd-1c5c-3fabf45b33fc/screen1136x1136.jpeg"], "ipadScreenshotUrls":[], "artworkUrl60":"http://a1246.phobos.apple.com/us/r30/Purple/v4/c9/71/71/c97171eb-c2f9-4b13-378d-d5cfdde611b4/Icon.png", "artworkUrl512":"http://a1418.phobos.apple.com/us/r30/Purple/v4/33/d0/63/33d063f6-c2d1-a2fd-4490-d2ab86ac071b/mzl.cctcjnum.png", "artistViewUrl":"https://itunes.apple.com/us/artist/shenzhen-wumii-technology/id593518769?uo=4", "artistId":593518769, "artistName":"Shenzhen Wumii Technology Limited", "price":0.00, "version":"1.1",   
  7. "description":"「秘密」是匿名版的朋友圈\n你可以和朋友們毫無顧忌地匿名分享秘密、八卦、爆料、真心話等等勁爆內容!\n\n「秘密」不是樹洞,也不是漂流瓶\n你看到的秘密就來自你身邊的朋友!\n同樣,你發的秘密也會向你朋友展示,讓最關心你的人的給你反饋!\n\n「秘密」讓你帶上面具,卸下身份\n發表和評論都是匿名的,就好像你和朋友都帶上了面具,正在參加一個假面派對一樣!卸下了身份,朋友們都可以暢所欲言!\n\n【主要功能】\n\n1.查看來自朋友的秘密\n2.匿名發表秘密和評論\n3.支援精美的圖文排版\n4.極其嚴格的隱私保護\n\n\n【當朋友們都匿名了,他們會怎樣?】\n\n在朋友圈:\n「還是寶馬5系開著舒服,是時候和我那輛奧迪A4說拜拜了!」\n在秘密:\n「一早醒來我身上就背負著房貸車貸各種貸款,壓力好大,活著真累!」\n\n在朋友圈:\n「能每天睜開眼睛跟老公說早安,這就是我最大的幸福!」\n在秘密:\n「3年前我走上了長江二橋,打算結束生命,但因他留下來了。他現在是我老公 。」\n\n更多朋友的秘密,等你發現\u2026\u2026\n\n\n官方微博:@秘密App", "currency":"USD", "genres":["Social Networking", "Lifestyle"], "genreIds":["6005", "6012"], "releaseDate":"2014-04-04T09:58:58Z", "sellerName":"Shenzhen Wumii Technology Limited", "bundleId":"com.wumii.ios.WMMimi", "trackId":839415177, "trackName":"秘密-朋友圈的匿名爆料", "primaryGenreName":"Social Networking", "primaryGenreId":6005, "releaseNotes":"- 新增重設密碼功能\n- 新增評論顯示樓層\n- 支援國際手機號註冊登入\n- 提升應用穩定性", "formattedPrice":"Free", "wrapperType":"software", "trackCensoredName":"秘密-朋友圈的匿名爆料", "languageCodesISO2A":["EN", "ZH"], "fileSizeBytes":"15325961", "contentAdvisoryRating":"12+", "averageUserRatingForCurrentVersion":4.0, "userRatingCountForCurrentVersion":16, "artworkUrl100":"http://a1418.phobos.apple.com/us/r30/Purple/v4/33/d0/63/33d063f6-c2d1-a2fd-4490-d2ab86ac071b/mzl.cctcjnum.png", "trackViewUrl":"https://itunes.apple.com/us/app/mi-mi-peng-you-quan-ni-ming/id839415177?mt=8&uo=4", "trackContentRating":"12+", "averageUserRating":4.0, "userRatingCount":26}]  
  8. }  

 

回想之前做的ios版本檢測都是用戶端請求伺服器,服務端返回最新版本資訊以及跟新說明,並且服務端需要維護一個ios版本更新記錄,實際上是把更新功能複雜化了;

 

後續ios版本更新可以採用:

1.後台只維護一個appstore的id

2.用戶端每次檢測升級直接請求appstore,擷取appstore的版本資訊,然後本地判斷是否有新版本,有則提示更新


ios啟動怎識別方向

由於apple要求ipad的應用至少提供portrait和landscape兩個方向上的支援,因此在程式中檢測裝置當前的方向是必不可少的,一般情況下,在程式運行中可以用:
1[[UIDevice currentDevice] orientation];來擷取當前的裝置方向,但是如果是在程式開始啟動的時候,此時擷取到的結果是:

1UIDeviceOrientationUnknown這是無法判斷裝置方向的,如果在程式啟動的時候我們就要做寫於裝置方向有關的處理,要怎麼做呢?
實際上,這可以通過擷取控制項所屬controller的方向,使得相關控制項的方向與其controller的方向是一致的,而無需理會當前的裝置方向究竟是什麼。例如:
view sourceprint?1if (self.interfaceOrientation == UIDeviceOrientationPortrait)
就可以判斷程式啟動時是不是在protrait方向上了。

youhaodeyi 2011-02-09 20:55

如何判斷程式啟動是水平方向還是垂直方向?

iPad程式在啟動的時候預設都是垂直方向,即便水平方向放置,啟動後也是垂直方向,我如何能夠在程式已啟動就知道iPad是水平放置還是垂直放置?

danyitianshi 2011-02-10 09:31
有個類叫UIDevice,裡面有個屬性UIDeviceOrientation,在程式啟動的時候就去檢測,應該可以獲得,但是我沒用過,只是建議一下,希望不要誤導。

blackiron 2011-02-10 09:34
使用interfaceOrientation進行判斷,如我的
強制水平的代碼:
複製代碼

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
return YES;
}

return NO;
}

youhaodeyi 2011-02-10 09:47
如果iPad在啟動的時候是水平放置,這時程式啟動時root view的大小是垂直放置時的大小,然後使用者重新整理以後才變成水平放置的大小,我如何能讓程式一上來就被設定成水平放置時的大小,我看ios文檔中說iPad預設情況下啟動是垂直放置的。

zhangxi_1989 2011-02-10 09:50
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
return YES;
}else
{
return NO;
}

這樣就可以。

domob 2011-02-10 20:55
Inf......餘下全文>>
 
iOS 應用啟動另一個應用的問題

這個是應用B的代碼有問題,啟動方式的處理不完善。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.