Re: [問題] iphoneX的app支援度已經普及了嗎

作者: ZMTL (夜風/瀟湘 VR板已經開板!)   2018-04-01 19:26:20
※ 引述《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這樣。
小弟只是半路出家從業兩年的菜鳥,
如果有大神級的開發者覺得我有說錯的地方請不吝指正。
作者: ppppman (4pman)   2017-02-18 00:17:00
更新等於冒險? 不懂就別亂說吧 x的更新基本上畫面調整問題 跟app系統架構也沒關係
作者: darkMood (瞬間投射)   2017-02-18 00:22:00
改個版面就是「大幅度調整原始碼架構」? 這開發程式的人應該全部都要抓去打屁股吧,哈..............
作者: IMPOSSIBLEr (I'm possible rrr)   2017-02-18 04:39:00
基本上要支援iX的版面就是把Source code用Xcode 9 compile一次就可以上架說支援iX了
作者: jatj   2017-02-18 06:12:00
也沒重新編譯這麼簡單 比例都變了
作者: Jaydavid (曼巴與魯蛇)   2017-02-18 10:36:00
還好吧 已更新支援的也不會不穩定啊
作者: mahmoodma (我是小馬)   2017-02-18 10:40:00
該回去學校重讀書了?
作者: hellomo (HELLOMO)   2017-02-18 11:44:00
期待那些app下架
作者: kids1243 (RW)   2017-02-18 13:06:00
autolayout有寫好的話,的確就是重新編譯這麼簡單
作者: rockmanx52 (ゴミ丼 わがんりんにゃれ)   2017-02-18 14:18:00
但問題是大多工作室根本沒那麼多時間人力跟你把autolayout搞好....
作者: imshamus (Shamus)   2017-02-18 16:03:00
動到架構???
作者: Freedombom (Shiunnn)   2018-04-01 19:33:00
推專業 有沒有文組版本QQ
作者: ZMTL (夜風/瀟湘 VR板已經開板!)   2018-04-01 19:34:00
本來想要圖文並茂的,後來想想還是加班繼續趕專案實在還好蘋果大概也知道,不敢要在四月之前上架的專案馬上跟進不然工程師一定會被操死... 其實我講的都已經是以Autolayout為主的工了,有些早期專案根本所有元件位置都純code寫的,遇到X一定會慘到不能再慘。
作者: jakkx (風藍)   2018-04-01 19:39:00
感謝解說…
作者: ZMTL (夜風/瀟湘 VR板已經開板!)   2018-04-01 19:42:00
其實iOS每次改版多少都要修程式碼啦,Apple很喜歡動畫面架構然後同時要支援越多版本有時後要先判斷版本然後寫兩種code也算是習以為常了,只是這樣的bug對工程師真的非戰之罪
作者: KobePTT (Kobe涉在ptt)   2018-04-01 20:21:00
今年還會再出兩個新尺寸,到時又要辛苦了(茶
作者: pttx6714 (shiny)   2018-04-01 21:18:00
今年應該都是比照iPhone X比例,會比較好處理一些吧
作者: imshamus (Shamus)   2018-04-01 21:38:00
專業的解說,厲害

Links booklink

Contact Us: admin [ a t ] ucptt.com