iphoneX的app支援度已經普及了嗎 - iOS

Jake avatar
By Jake
at 2018-04-01T19:26

Table of Contents

※ 引述《purplvampire (阿修雷)》之銘言:
: APP的更新跟手機系統的升級都意味著冒險,不管是使用者也好,軟體開發商也好,
: 除非是問題修復,否則可以正常穩定使用都盡量不要冒險,尤其是軟體開發商,
: 程式的更新即使是在固定的系統版本都有可能造成無法使用的情形,更何況是
: 大幅度原始碼架構調整去支援唯一一隻特規手機?蘋果相較於安卓系統的開發
: 環境吸引人就是系統環境單純好開發,問題少好處理,可以正常穩定的運作,
: 不過一但支援新機種這個穩定的結構就很容易被破壞,因而流失不適用的舊手
: 機用戶,像是Ptt+就是因為更新的版本支援iOS11後,造成舊版系統無法正常
: 使用而被我放生了,因為它說要正常使用請升級系統,蘋果這次不論是新系統
: 的推出跟新手機的APP支援政策感覺就是非常躁進而且粗暴,有能力的開發商
: 還沒什麼,對個體開發者或是小型開發團隊就是難題了,總之以目前的市占率
: ,iX還沒有到能夠吸引小型開發者更新的話,就別太指望短期能夠更新了,
: 否則就改用舊規的iPhone8吧

寫APP,搞iPhoneX的版面搞到快崩潰,
無聊找找看有沒有討論就把兩個月前的文章翻起聊聊。

ppppman: 更新等於冒險? 不懂就別亂說吧 x的更新基本上畫面調整 02/18 00:17
ppppman: 問題 跟app系統架構也沒關係 02/18 00:17
darkMood: 改個版面就是「大幅度調整原始碼架構」? 這開發程式的 02/18 00:22
darkMood: 人應該全部都要抓去打屁股吧,哈..............02/18 00:22
IMPOSSIBLEr: 基本上要支援iX的版面就是把Source code用Xcode 9 c02/18 04:39
IMPOSSIBLEr: ompile一次就可以上架說支援iX了02/18 04:39
jatj: 也沒重新編譯這麼簡單 比例都變了02/18 06:12
Jaydavid: 還好吧 已更新支援的也不會不穩定啊02/18 10:36
mahmoodma: 該回去學校重讀書了? 02/18 10:40
hellomo: 期待那些app下架02/18 11:44
kids1243: autolayout有寫好的話,的確就是重新編譯這麼簡單 02/18 13:06
rockmanx52: 但問題是大多工作室根本沒那麼多時間人力跟你把02/18 14:18
rockmanx52: autolayout搞好.... 02/18 14:18
imshamus: 動到架構???02/18 16:03


實際上而言,真的可能「大幅度調整原始碼架構」。

這邊只論以Xcode開發的原生程式,其他尤其是用Unity開發的遊戲不在討論中。
首先,iOS推行AutoLayout很久了,
所謂AutoLayout就是把蘋果原生元件用A元件對齊B元件之類的約束綁住,
來適用個尺寸的iPhone(4.5、4.7、5.5、iPAD)
完全尊照AutoLayout開發的APP真的就是重新Compile一次就能支援iPhoneX版面..不一定。

就算你完全遵照AutoLayout也不可能不用修改任何程式碼。
你有一個元件(文字匡、圖片或其他東西)要貼齊導航欄底下,
在X出來前用AutoLayout的寫法1是綁住初始y軸在離頂端64(電池欄20+導航欄44)的位置
在X出來之後,對不起,這個高要加上瀏海,所以完全貼齊頂端的初始y軸在88 ->跑版。
用AutoLayout的寫法2綁在Top Layout Guide 的轉換到X才沒問題。
但這兩者寫法原先來說其實沒有誰對誰錯,因為看起來確實都是對的(在X前)

那我們用X之後開發的APP做AutoLayout呢?iOS11多了一個叫Safe Area的框架,
只要對齊SafeArea底端,就等於對齊以前的Top Layout Guide ,
會達到上述效果...你太天真了。
在iOS11上確實是這樣沒錯,但在iOS10的部份因為過去沒有Safe Area框架,會直接跑版。

不過說規說,只要照AutoLayout基本上只是小修改對吧?
然而,很少APP真的只用蘋果原生的元件就能做完,
有一些客製化、比較炫的元件不是用拉出來的自然也無從設定AutoLayout,
而是寫程式碼讓他生在一個固定位置、然後又要考慮不同尺寸問題...
在加上就算是AutoLayout,常常為了達到合理的布局要設到10條以上的條件,超麻煩,
於是業界有了比較省工的作法...

用4.7寸當作基底開發,在4.5寸、5.5寸、iPAD上通通等比放大縮小就好啦!
這算是小撇步具體作法我就不說了,總之所有原生元件你一行條件都不用綁,
「擺」好就可以收工,同時對非原生元件你也只要用程式碼對4.7寸的位子,很簡單吧?

甚至到iPhoneX也沒問題呢,除了他的等比放大一定不會適應瀏海以外...GG
要用這種形式開發的專案適應iPhoneX版面,
等於所有元件無論原生或非原生要重新排一次位子,甚至為此多寫N行程式碼,
對我來說,在調整版面上花的時間其實有時候不輸寫程式功能呢。
而且隨之而來的可能有大量的跑版BUG需要修正,說大幅調整應該不算錯吧?

收益高使用率高的APP不說,業餘的小作品冷門的APP實在沒理由這樣重作一次。

大概4這樣。

小弟只是半路出家從業兩年的菜鳥,
如果有大神級的開發者覺得我有說錯的地方請不吝指正。


--
Tags: iOS

All Comments

Andrew avatar
By Andrew
at 2018-04-02T19:52
更新等於冒險? 不懂就別亂說吧 x的更新基本上畫面調整
問題 跟app系統架構也沒關係
Daph Bay avatar
By Daph Bay
at 2018-04-03T23:59
改個版面就是「大幅度調整原始碼架構」? 這開發程式的
Wallis avatar
By Wallis
at 2018-04-06T15:07
人應該全部都要抓去打屁股吧,哈..............
Blanche avatar
By Blanche
at 2018-04-08T07:03
基本上要支援iX的版面就是把Source code用Xcode 9 c
ompile一次就可以上架說支援iX了
Necoo avatar
By Necoo
at 2018-04-10T17:16
也沒重新編譯這麼簡單 比例都變了
Lydia avatar
By Lydia
at 2018-04-15T15:36
還好吧 已更新支援的也不會不穩定啊
Necoo avatar
By Necoo
at 2018-04-19T05:49
該回去學校重讀書了?
Noah avatar
By Noah
at 2018-04-23T10:24
期待那些app下架
Joseph avatar
By Joseph
at 2018-04-24T16:42
autolayout有寫好的話,的確就是重新編譯這麼簡單
Franklin avatar
By Franklin
at 2018-04-26T19:14
但問題是大多工作室根本沒那麼多時間人力跟你把
Belly avatar
By Belly
at 2018-04-26T20:36
autolayout搞好....
Oliver avatar
By Oliver
at 2018-04-30T00:36
動到架構???
David avatar
By David
at 2018-05-02T03:40
推專業 有沒有文組版本QQ
Edith avatar
By Edith
at 2018-05-03T05:40
本來想要圖文並茂的,後來想想還是加班繼續趕專案實在
Zenobia avatar
By Zenobia
at 2018-05-07T18:31
還好蘋果大概也知道,不敢要在四月之前上架的專案馬上跟進
Queena avatar
By Queena
at 2018-05-09T00:52
不然工程師一定會被操死... 其實我講的都已經是以Autolayout
為主的工了,有些早期專案根本所有元件位置都純code寫的,遇
到X一定會慘到不能再慘。
Charlotte avatar
By Charlotte
at 2018-05-12T23:05
感謝解說…
Queena avatar
By Queena
at 2018-05-16T09:37
其實iOS每次改版多少都要修程式碼啦,Apple很喜歡動畫面架構
然後同時要支援越多版本有時後要先判斷版本然後寫兩種code
Hazel avatar
By Hazel
at 2018-05-19T13:19
也算是習以為常了,只是這樣的bug對工程師真的非戰之罪
Hedy avatar
By Hedy
at 2018-05-23T15:22
今年還會再出兩個新尺寸,到時又要辛苦了(茶
Caitlin avatar
By Caitlin
at 2018-05-23T21:40
今年應該都是比照iPhone X比例,會比較好處理一些吧
Agnes avatar
By Agnes
at 2018-05-26T00:07
專業的解說,厲害

X更新完11.3螢幕電池下方出現橫條

Iris avatar
By Iris
at 2018-04-01T19:22
https://i.imgur.com/PmRWnb5.jpg 有人這樣嗎 - ...

Apple Watch S3 跑步定位與續航

Jacob avatar
By Jacob
at 2018-04-01T18:56
各位前輩好,因為先前爬文,跟跑步相關的Apple Watch文只有到S2,因此想請教 一下有關於S3的使用心得。 因為我本身是個愛好長跑的傢伙,我對於GPS錶的要求就只有定位準確和續航力足 夠而已,但偏偏這是最難的兩個問題。 我原本是用Garmin三年多前的舊機種,因為電池已開始劣化,加上內建92共識,所 ...

iPhone可能取消最後一個插孔嗎?

Joseph avatar
By Joseph
at 2018-04-01T18:52
從iphone 7開始,蘋果砍掉了耳機孔, 現在僅存的lightning 孔功能是充電跟電腦備份, 但從iphone8開始已經支援無線充電了, 現在唯一的不可替代功能是 對電腦的離線備份, 如果以後開放類似airdrop 概念的方式, 進行電腦備份, 是不是以後iphone 會把最後一個孔也取消? - ...

line 背景特效如何關閉

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

YouTube 的背景播放 ios11.3

Enid avatar
By Enid
at 2018-04-01T17:34
請問有人發現 更新完後 竟然可以使用safari開youtube背景播放了! 不知道這是bug還是解除封印了? - ...