蘋果新規定:所有新應用必須適配iOS 7 - iOS

Damian avatar
By Damian
at 2013-12-19T03:05

Table of Contents


剛好有在做 iOS App 的開發 可以稍微幫大家解釋清楚一點
首先如果還是用 iOS 6 或是之前的 iOS 的使用者
目前還不用太過擔心明年 2 月 1 號之後真的會沒有辦法用新的或是更新的 App

目前 Apple 官方的公告內容如下 無論是一般使用者或是開發者都只看到同一份公告
https://developer.apple.com/news/index.php?id=12172013a

"Starting February 1, new apps and app updates submitted to the
App Store must be built with the latest version of Xcode 5 and
must be optimized for iOS 7. Learn more about preparing your
apps by reviewing the iOS Human Interface Guidelines."

簡單翻譯
"從 2 月 1 號起,遞交到 App Store 的新 App 以及 App 的升級版本必須使用
最新版的 Xcode 5 建置而且需針對 iOS 7 做最佳化。
回顧 iOS Human Interface Guidelines 以學習如何準備您的 App"

就這樣簡單的內容
其中明確的只有一定要使用 Xcode 5 來建置要上傳到 App Store 的 App
但對於 "針對 iOS 7 做最佳化" 的部分 Apple 官方目前也沒有什麼明確的標準
我 google "optimized for iOS 7" 看了 10 篇左右今天新的國外網誌和報導
也沒有看到有人確切知道這是什麼意思
甚至在 iOS Developer Forum 上也有開發者對於這項公告提問 也沒有進一步細節

總而言之 目前很明確的只有一定要使用 Xcode 5 的新版本建置 App 而已
而什麼叫做必須針對 iOS 7 最佳化還不清楚 應該也不需要太擔心


接下來跟大家分享一下有沒有使用 Xcode 5 的差別
Xcode 是一套 Apple 出的 IDE (Integrated Development Environment)
可以用來建置 Mac 或是 iOS 的程式
其中包含了 iOS 的 SDK 裡面有很多官方準備好的函式和功能
在 Xcode 4 的最後板本中只有支援到 iOS 6 的 SDK
而新版 iOS 7 的 SDK 則是只有在 Xcode 5 中才支援
大家都知道 iOS 7 的很大改變之一就是 UI 也就是使用者介面
而這些新的 UI 元素就包含在新版的 iOS 7 SDK 當中

所以 在目前 App Store 上的 App 大概有兩種類型
1. 使用 Xcode 5 建置 使用 iOS 7 的新 UI
2. 使用 Xcode 4 建置 使用 iOS 6 以前的 UI
以上兩種 App 都可以在 iOS 6 (如果支援) 或是 iOS 7 執行
但是在 UI 上會有些許不同的呈現如下:

運作裝置 iOS 版本
iOS 6 iOS 7
iOS 6 SDK iOS 6 UI iOS 6 UI
iOS 7 SDK iOS 6 UI iOS 7 UI

而至於什麼版本以上的 iOS 裝置可以運作則是透過 Target 參數設定
跟什麼版本的 iOS SDK 沒有直接關係

以目前我負責的 App 來說
我使用 Xcode 5 + iOS 7 SDK 而支援的平台則是設定 iOS 5 以上
因此建置出來的 App 可以在 iOS 5 以上的裝置使用
而同一個 App 跑在 iOS 5/6 上會使用以前的 UI
在 iOS 7 則會使用新的 UI

那為什麼現在會強制要求使用 Xcode 5 呢?
因為就我所知有一些開發者會為了一些因素繼續使用 Xcode 4 來開發
即使是這陣子遞交到 App Store 的更新依然如此

會造成這樣的原因 其中之一就是 UI 的改變太大
有可能這個 App 前陣子才基於 iOS 6 的 UI 元素做設計
根據了 iOS 6 的按鈕、表格呈現方式、元件大小等等方面做過客製化
也就是做了風格跟 iOS 內建 UI 很像的特製 UI 元件
所以忽然又要重新更改一次既費時又費工
發現繼續使用 Xcode 4 就可以在 iOS 5~7 都用同一種呈現方式
所以就繼續這麼做了

目前 Apple 這麼努力的推動 iOS 7 的新 UI 風格
這種方式當然就是這次公告限制的目標之一
另外客製化的元件如果在 iOS 7 上太像 iOS 6 的風格
我相信應該也會是限制的目標

總結來說
Apple 不會也沒有要求開發者的新 App 只能支援 iOS 7
但是要使用最新的 Xcode 5 和 iOS 7 SDK
也沒有說不能客製化 UI
但是要就要針對 iOS 6 和 iOS 7 分別配合內建 UI 風格設計


BUT BUT BUT BUT BUT BUT BUT BUT...
因為 iOS 7 和 iOS 6 以前的 API 也已經有很多不同
有很多的新架構以及新功能 甚至在 UI 上很多座標或是大小都不同
要同時支援 iOS 6 以前的版本以及 iOS 7 對開發者來是是很辛苦的事
很多的開發者會乾脆針對 iOS 7 的 UI 重新設計
同時也使用了只有在 iOS 7 才能使用的新 API 和新功能
這種情況下 開發者就會讓新的 App 只支援 iOS 7
像是 Dropbox 就是其中一個例子

在這種情況 因為一個 App 的版本歷史裡有支援 iOS 6 以前以及只支援 iOS 7
所以 App Store 在前陣子引入了新的功能 讓使用者可以下載最後支援的版本
以前的話 會直接在 App Store 上找不到不支援這個裝置的 App

舉例來說 一個 App 如果在 1.0 ~ 1.9 版支援 iOS 6 以上
而 2.0 的最新版只支援 iOS 7 以上
那麼一台還在用 iOS 6 的裝置就可以更新或是新安裝 1.9 版本 而不是找不到 App

特別注意的是 iOS 的策略一向都是支援某個版本"以上"
所以舊 App 可以跑在新的 iOS 上而不用更新
不會有 iOS 6 可以跑而 iOS 7 不行的狀況
當然因為某些因素在新版本不相容會有問題的例外


最後再補充一點
現在在 App Store 上面可以看到 App 會特別標明 "optimized for iPhone 5"
我查了一下 看起來判斷的標準就是支不支援 4 吋的螢幕 也就是上下不會有黑邊
如果以此類推
"optimized for iOS 7"也有可能代表必須要包含 iOS 7 要求的新圖片
可能很多人並不知道在 iOS 7 中多了一些不同尺寸的圖片
像是 iPad 的 App 開啟圖片 或是 App 的 Icon
這些都和以前 iOS 6 的有些許的不同
詳細資訊
http://ivomynttinen.com/blog/the-ios-7-design-cheat-sheet/

目前的話 在上傳到 App Store 的時候只會顯示警告訊息提醒缺少了一些圖片
未來可能直接在發現缺少這些新圖片的時候就顯示錯誤不讓你繼續下一步了


再補充一點
要分辨現在 App 是用 Xcode 4 或 Xcode 5 建置的話
最簡單的方式應該是找個可以打字的地方讓鍵盤出現
如果是舊的鍵盤的話就是使用 Xcode 4 建置的


以上是我在開發 iOS App 的一些心得和整理
因為每天都會來 iPhone 板逛逛 想說這裡有不少 iOS 使用者
希望一些整理過的資訊可以讓大家更清楚 不需要有太多的擔心
有任何問題歡迎指教或是討論 謝謝

--
Tags: iOS

All Comments

Odelette avatar
By Odelette
at 2013-12-22T14:46
推專業
Emily avatar
By Emily
at 2013-12-25T19:10
Ingrid avatar
By Ingrid
at 2013-12-27T09:43
推詳細解釋!
Hamiltion avatar
By Hamiltion
at 2013-12-30T07:22
有神快拜!超專業推!
Olivia avatar
By Olivia
at 2014-01-02T03:24
借版面問一個問題,到底要怎麼下載最高可支援的版本@@
Christine avatar
By Christine
at 2014-01-06T20:54
我在手機上的Appstore進去找到dropbox可是找不到舊版本
Una avatar
By Una
at 2014-01-09T06:24
回樓上,直接點下載就會問是不是下載最後支援版本。
Poppy avatar
By Poppy
at 2014-01-12T10:13
不!蘋果政策似乎又改了
Kumar avatar
By Kumar
at 2014-01-17T02:03
我拿沒下載過Dropbox的中國區apple ID去試
Kelly avatar
By Kelly
at 2014-01-21T12:34
即使是支援iOS6的app舊版AppStore也不讓我下載
Quanna avatar
By Quanna
at 2014-01-24T22:17
iBooks 尋找我的iPhone等也一樣不能載支援iOS6舊版
Rae avatar
By Rae
at 2014-01-29T19:44
我目前還在使用4S(iOS6.1.3)
Sierra Rose avatar
By Sierra Rose
at 2014-02-03T14:08
簡單來說API修改權在蘋果手中 開發者沒得選擇
下一版他突然把某個API deprecate掉你就得被迫使用新的
Leila avatar
By Leila
at 2014-02-07T12:51
不然再過幾版你的app一開就crash...這是iOS強制升級的手段
Oliver avatar
By Oliver
at 2014-02-11T04:01
而使用者則是因為app越來越少支援舊版本的OS不得不升級
Iris avatar
By Iris
at 2014-02-14T18:17
其實最後還是看開發者啦 同時維護兩套UI其實很辛苦
Jacky avatar
By Jacky
at 2014-02-19T05:23
android開發者表示:
Margaret avatar
By Margaret
at 2014-02-23T07:11
開發者看的是使用者 iOS5 6越多人用 開發者就一定要開發
蘋果不是要求使用者強制升級 而是從開發者下手
Genevieve avatar
By Genevieve
at 2014-02-23T11:58
不得不昇級?那是逼人換手機嗎?
Wallis avatar
By Wallis
at 2014-02-24T09:28
Apple的相容性已經很好了,寫安卓真是被搞到龜覽趴火
Bennie avatar
By Bennie
at 2014-02-26T14:23
有一堆 app store 推出就有但是沒更新的軟體現在都還能跑
Wallis avatar
By Wallis
at 2014-03-03T08:36
沒有!QQ不會問我是否下載最後相容闆本,他只顯示
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2014-03-04T17:52
此應用程式需要iOS7以上才能安裝,請更新升級程式!
下面還寫著"好"讓我按,我一度以為按下好,就會升級,
Ida avatar
By Ida
at 2014-03-07T09:55
我試了一下 看起來已經購買與否(免費下載過算已購買)
Megan avatar
By Megan
at 2014-03-08T15:26
嚇死我@@
Steve avatar
By Steve
at 2014-03-10T11:16
狀況會不一樣 購買過的會讓你下載最後相容版本
Ina avatar
By Ina
at 2014-03-12T04:41
沒有購買過的就會跳出要求升級 iOS 7 的訊息 不能購買
Caitlin avatar
By Caitlin
at 2014-03-12T17:57
太專業了!感謝詳解~
Erin avatar
By Erin
at 2014-03-13T18:45
受教了
Ivy avatar
By Ivy
at 2014-03-17T20:06
沒有購買過就不會有下載舊版本選項,發佈時就這規則了
Sarah avatar
By Sarah
at 2014-03-19T01:23
所以原po是寫apple app賺錢的大戶....XD
Mason avatar
By Mason
at 2014-03-21T09:39
所以沒購買過,不升級注定不能用?QQ
Quintina avatar
By Quintina
at 2014-03-22T01:44
先用電腦購買不就變成"購買過"了嗎?
Harry avatar
By Harry
at 2014-03-23T05:34
至少我這樣用iPhone4下載到舊版彈音樂那個 還全功能...
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2014-03-23T12:51
樓上版主正解,我也都這樣做
Heather avatar
By Heather
at 2014-03-24T17:00
長知識推
Valerie avatar
By Valerie
at 2014-03-27T08:35
長知識了
Oliver avatar
By Oliver
at 2014-03-31T03:14
挖!!! 感謝I大 原來還有這招 馬上來用電腦上去購買
Oliver avatar
By Oliver
at 2014-04-05T02:54
學到新招 受教了謝謝
Franklin avatar
By Franklin
at 2014-04-08T09:00
專業推!!
Hardy avatar
By Hardy
at 2014-04-10T16:33
看不懂 只能推專業了
Edith avatar
By Edith
at 2014-04-11T17:53
推用心
Iris avatar
By Iris
at 2014-04-14T00:32
嗯恩,原來如此
Kama avatar
By Kama
at 2014-04-14T03:31
好專業!! 推推!! 開發者辛苦了!!
William avatar
By William
at 2014-04-17T01:26
推最佳化
Elma avatar
By Elma
at 2014-04-18T18:06
專業!
Megan avatar
By Megan
at 2014-04-21T05:46
太專業了吧!感謝解釋!
Kristin avatar
By Kristin
at 2014-04-23T06:18
只能推了
Victoria avatar
By Victoria
at 2014-04-23T20:58
讚讚

英文單字王,英文即時通限時$120>$30

Anthony avatar
By Anthony
at 2013-12-19T01:15
來來來~告訴大家一個好消息! 詢問度破表的「英文單字王 iOS 版」聖誕期間降價啦! 軟體名稱:英文單字王 EngKing 軟體分類:教育 官方網站:http://android.kut.com.tw/ 操作等級:▼▽▽▽▽ 推薦安裝:▲▲▲▲▲ 購買費用:USD$0.99 (原價 USD$5.99) 適用 ...

讓iPad Air吃讀卡機的解決方案

Selena avatar
By Selena
at 2013-12-19T00:44
iPad Air 有支援OTG線材,但對於外接USB配備非常挑剔 在看結論之前,您應該先閱讀這兩篇文章 #1Ih_bDqb [問題] CF記憶卡接IPAD AIR的讀卡機??? #1IY1ZzEF [問題] 請問iPad camera kit 輸出電 ...

語音播放

Olga avatar
By Olga
at 2013-12-19T00:43
------------------------------------------------------------------------------ 我確定問問題前我有爬過文、查閱過精華區與置底,我真的找不到我問題的解答。 我保證我的問題和盜版沒有任何關係,若以上有虛假,版主可逕行處分 發問請附上iO ...

iPad Air 螢幕不會自動旋轉

Robert avatar
By Robert
at 2013-12-19T00:27
剛剛用橫向螢幕玩了一陣子的遊戲後(Smart Cover平整墊在背後) 朋友來找 出去跟他聊了半小時左右 打開螢幕想轉回直向就一直轉不回來 有確定沒有鎖定螢幕方向 靜音按鈕也沒動到 試過下拉控制中心中的and#34;鎖定螢幕方向and#34; 按了 轉回直向不到一秒 又跑回橫向 螢幕重開也一樣定在 ...

想請問ios與android之間的比較><!!

Margaret avatar
By Margaret
at 2013-12-18T23:58
※ 引述《joe19920128 (陳小名)》之銘言: : 最近想換手機 : 手邊有onex以及touch : 最近想把onex換掉andgt;andlt;!!! : 但是又不知道換iphone會不會比較好 或是 會不會後悔之類的 ...(怕不習慣) : 所以一直再思考著ios還是android好 : 喜歡a ...