看板 iOS 關於我們 聯絡資訊
※ 引述《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這樣。 小弟只是半路出家從業兩年的菜鳥, 如果有大神級的開發者覺得我有說錯的地方請不吝指正。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.65.200 ※ 文章網址: https://www.ptt.cc/bbs/iOS/M.1522581982.A.15C.html ※ 編輯: ZMTL (39.9.65.200), 04/01/2018 19:27:16 ※ 編輯: ZMTL (39.9.65.200), 04/01/2018 19:28:54
Freedombom: 推專業 有沒有文組版本QQ 04/01 19:33
ZMTL: 本來想要圖文並茂的,後來想想還是加班繼續趕專案實在 04/01 19:34
ZMTL: 還好蘋果大概也知道,不敢要在四月之前上架的專案馬上跟進 04/01 19:35
ZMTL: 不然工程師一定會被操死... 其實我講的都已經是以Autolayout 04/01 19:36
ZMTL: 為主的工了,有些早期專案根本所有元件位置都純code寫的,遇 04/01 19:36
ZMTL: 到X一定會慘到不能再慘。 04/01 19:36
jakkx: 感謝解說… 04/01 19:39
ZMTL: 其實iOS每次改版多少都要修程式碼啦,Apple很喜歡動畫面架構 04/01 19:42
ZMTL: 然後同時要支援越多版本有時後要先判斷版本然後寫兩種code 04/01 19:42
ZMTL: 也算是習以為常了,只是這樣的bug對工程師真的非戰之罪 04/01 19:43
KobePTT: 今年還會再出兩個新尺寸,到時又要辛苦了(茶 04/01 20:21
pttx6714: 今年應該都是比照iPhone X比例,會比較好處理一些吧 04/01 21:18
imshamus: 專業的解說,厲害 04/01 21:38