Re: [情報] 蘋果新規定:所有新應用必須適配iOS 7

看板iOS作者 (時鐘下的男孩)時間10年前 (2013/12/19 03:05), 編輯推噓28(28024)
留言52則, 30人參與, 最新討論串2/2 (看更多)
剛好有在做 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 使用者 希望一些整理過的資訊可以讓大家更清楚 不需要有太多的擔心 有任何問題歡迎指教或是討論 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.86.169.108

12/19 03:17, , 1F
推專業
12/19 03:17, 1F
※ 編輯: timestop 來自: 219.86.169.108 (12/19 03:22)

12/19 03:54, , 2F
12/19 03:54, 2F

12/19 04:05, , 3F
推詳細解釋!
12/19 04:05, 3F

12/19 04:11, , 4F
有神快拜!超專業推!
12/19 04:11, 4F

12/19 04:12, , 5F
借版面問一個問題,到底要怎麼下載最高可支援的版本@@
12/19 04:12, 5F

12/19 04:13, , 6F
我在手機上的Appstore進去找到dropbox可是找不到舊版本
12/19 04:13, 6F

12/19 07:16, , 7F
回樓上,直接點下載就會問是不是下載最後支援版本。
12/19 07:16, 7F

12/19 08:03, , 8F
不!蘋果政策似乎又改了
12/19 08:03, 8F

12/19 08:04, , 9F
我拿沒下載過Dropbox的中國區apple ID去試
12/19 08:04, 9F

12/19 08:05, , 10F
即使是支援iOS6的app舊版AppStore也不讓我下載
12/19 08:05, 10F

12/19 08:07, , 11F
iBooks 尋找我的iPhone等也一樣不能載支援iOS6舊版
12/19 08:07, 11F

12/19 08:08, , 12F
我目前還在使用4S(iOS6.1.3)
12/19 08:08, 12F

12/19 08:44, , 13F
簡單來說API修改權在蘋果手中 開發者沒得選擇
12/19 08:44, 13F

12/19 08:44, , 14F
下一版他突然把某個API deprecate掉你就得被迫使用新的
12/19 08:44, 14F

12/19 08:45, , 15F
不然再過幾版你的app一開就crash...這是iOS強制升級的手段
12/19 08:45, 15F

12/19 08:46, , 16F
而使用者則是因為app越來越少支援舊版本的OS不得不升級
12/19 08:46, 16F

12/19 08:48, , 17F
其實最後還是看開發者啦 同時維護兩套UI其實很辛苦
12/19 08:48, 17F

12/19 08:53, , 18F
android開發者表示:
12/19 08:53, 18F

12/19 08:54, , 19F
開發者看的是使用者 iOS5 6越多人用 開發者就一定要開發
12/19 08:54, 19F

12/19 08:54, , 20F
蘋果不是要求使用者強制升級 而是從開發者下手
12/19 08:54, 20F

12/19 09:12, , 21F
不得不昇級?那是逼人換手機嗎?
12/19 09:12, 21F

12/19 09:21, , 22F
Apple的相容性已經很好了,寫安卓真是被搞到龜覽趴火
12/19 09:21, 22F

12/19 09:39, , 23F
有一堆 app store 推出就有但是沒更新的軟體現在都還能跑
12/19 09:39, 23F

12/19 10:07, , 24F
沒有!QQ不會問我是否下載最後相容闆本,他只顯示
12/19 10:07, 24F

12/19 10:09, , 25F
此應用程式需要iOS7以上才能安裝,請更新升級程式!
12/19 10:09, 25F

12/19 10:09, , 26F
下面還寫著"好"讓我按,我一度以為按下好,就會升級,
12/19 10:09, 26F

12/19 10:09, , 27F
我試了一下 看起來已經購買與否(免費下載過算已購買)
12/19 10:09, 27F

12/19 10:10, , 28F
嚇死我@@
12/19 10:10, 28F

12/19 10:10, , 29F
狀況會不一樣 購買過的會讓你下載最後相容版本
12/19 10:10, 29F

12/19 10:11, , 30F
沒有購買過的就會跳出要求升級 iOS 7 的訊息 不能購買
12/19 10:11, 30F

12/19 10:28, , 31F
太專業了!感謝詳解~
12/19 10:28, 31F

12/19 10:33, , 32F
受教了
12/19 10:33, 32F

12/19 10:34, , 33F
沒有購買過就不會有下載舊版本選項,發佈時就這規則了
12/19 10:34, 33F

12/19 10:45, , 34F
所以原po是寫apple app賺錢的大戶....XD
12/19 10:45, 34F

12/19 11:58, , 35F
所以沒購買過,不升級注定不能用?QQ
12/19 11:58, 35F

12/19 12:20, , 36F
先用電腦購買不就變成"購買過"了嗎?
12/19 12:20, 36F

12/19 12:21, , 37F
至少我這樣用iPhone4下載到舊版彈音樂那個 還全功能...
12/19 12:21, 37F

12/19 12:27, , 38F
樓上版主正解,我也都這樣做
12/19 12:27, 38F

12/19 12:48, , 39F
長知識推
12/19 12:48, 39F

12/19 12:51, , 40F
長知識了
12/19 12:51, 40F

12/19 13:18, , 41F
挖!!! 感謝I大 原來還有這招 馬上來用電腦上去購買
12/19 13:18, 41F

12/19 13:30, , 42F
學到新招 受教了謝謝
12/19 13:30, 42F

12/19 14:12, , 43F
專業推!!
12/19 14:12, 43F

12/19 14:16, , 44F
看不懂 只能推專業了
12/19 14:16, 44F

12/19 14:54, , 45F
推用心
12/19 14:54, 45F

12/19 14:58, , 46F
嗯恩,原來如此
12/19 14:58, 46F

12/19 15:35, , 47F
好專業!! 推推!! 開發者辛苦了!!
12/19 15:35, 47F

12/19 16:08, , 48F
推最佳化
12/19 16:08, 48F

12/19 20:30, , 49F
專業!
12/19 20:30, 49F

12/19 22:26, , 50F
太專業了吧!感謝解釋!
12/19 22:26, 50F

12/20 01:19, , 51F
只能推了
12/20 01:19, 51F

12/20 15:49, , 52F
讚讚
12/20 15:49, 52F
文章代碼(AID): #1IiV89pn (iOS)
文章代碼(AID): #1IiV89pn (iOS)