簡體   English   中英

iOS App與所有設備版本兼容

[英]iOS App compatible with all device versions

我已經為iPhone和iPad開發應用程序已有一段時間了,並且我正在為設備的每個版本進行開發,因為我擔心如果沒有視網膜顯示器,它將無法在較低版本上運行。

有沒有一種方法可以開發適用於該設備所有版本的應用程序? 因為現在新的iPhone和iPad隨iOS6一起發布了。

是的,較舊版本的應用程序可與新的iOS6一起使用。 但是,適用於較早版本的應用程序將用字母框顯示。 我會說首先為3GS創建一個應用程序並測試其兼容性。 您可能會缺少較新設備附帶的一些基本功能。 我的建議是創建一個通用應用程序。

較舊的應用程序將在新的iOS6上正常運行。 由於新的iphone5具有高長寬比,因此舊的應用程序將帶有字母框,即帶有黑色邊框。 有關更多信息,您可以訪問http://techcrunch.com/2012/09/12/first-party-apple-apps-optimized-for-iphone-5-display-existing-apps-will-run-letterboxed/

通用應用程序是一種二進制文件將在iPad和iPhone上運行的應用程序。 客戶購買一台設備就可以自動在兩台設備上運行它。 出於商業原因,有兩個不同版本的應用程序(一個用於iPhone,另一個用於iPad)。 從客戶的角度來看,最好只購買一次。 一些游戲開發人員證明了這一點,因為必須為更大尺寸的iPad重新制作圖形,這可能需要很多時間。

有關視網膜顯示的問題與您包含在應用程序中的資產有關。 通常,對於基於UIKit的Apps,通過在文件名后附加“ @ 2x.png”來表示該資產將在支持Retina的設備上使用。 否則,設備將自動將正常大小的圖像放大一倍。 此頁面上有更多信息: http : //developer.apple.com/library/ios/#qa/qa1686/_index.html

當您提到“設備的所有版本”時,另一個問題與iOS版本有關。 如果您不使用較新的框架,則通常可以允許應用輕松向后兼容。 您可以編寫一個應用程序來檢查它正在運行的iOS版本,然后動態鏈接到這些庫並在運行時執行它,然后不支持某些舊版本不可用的功能。

您可以選擇“最低公分母”,或者...

以最新,最強大的設備為目標,並准備編寫代碼以有選擇地禁用功能,支持多種分辨率和指令集,並接受需要進行的大量測試。

最低限度的公分母是在iPhone 1上針對現代xcode編譯的應用程序,它將在所有后續平台上運行,但會出現以下“問題”:

  • iPhone5,iPad上界面周圍的黑匣子或條形。
  • 所有iPad和iPhone 4+上的像素外觀圖形
  • 沒有相機支持
  • 不支持GPS
  • 沒有指南針支持
  • 沒有多任務或推送通知
  • 沒有內置的快速電子郵件/消息支持
  • 沒有社交網絡支持
  • 沒有游戲中心支持
  • 等等-查看任何蘋果功能列表。

如果要支持上述任何一項,則可以隨時進行測試以查看設備是否支持特定的API,功能或分辨率-Apple的開發人員文檔對此非常有幫助。


注意:您不必選擇iPhone 1作為最低的公分母-3GS也是一個不錯的選擇,因為它直到最近才開始銷售。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM