[iOS] 單點擊與雙點擊之判別
最近在開發上流社會App,有個功能要點擊相片來呈現,接著就可以手勢來縮放與取消。此時我需要同時實現單點擊與雙點擊 (Single Tap and Double Tap),可是實際上單點總是會率先被偵測⋯⋯
最近在開發上流社會App,有個功能要點擊相片來呈現,接著就可以手勢來縮放與取消。此時我需要同時實現單點擊與雙點擊 (Single Tap and Double Tap),可是實際上單點總是會率先被偵測⋯⋯
最近新聞「499元之亂」後,接下來是「邦交國斷交」。每次有邦交國斷交,我總有些疑問冒出來,這完全沒聽過的國家是哪位XD?看到沃草清楚明瞭製作的圖解中華民國斷交史,終於我有些概念啦~
在Xcode中使用Breakpoint來debug是非常平常的事情,優秀的我們都能從Breakpoint來得知上下文狀態,如各個變數值。有時候崩潰(Crash)來得突然,Xcode沒有提供詳細的Crash訊息,像是我這個例子是:存取Empty Array。
此時例外中斷點 (Exception Breakpoint)就非常好用!
身為一個在業界待五年的軟體工程師,對於專案開發流程已有些經歷,這張圖解程式開發流程栩栩如生地表達各個階段:

不過我不太了解說明文件想表達什麼意思,難道是拿斧頭要去捕捉跑很快的梅花鹿嗎XD?
萊爾富從二月開始就有個活動,註冊後進行三個步驟,就能換取價值120元的商品,這一次我使用阿爸的手機號碼註冊,同時兌換三樣商品(咖啡、茶葉蛋、巧克力)。
在開發iOS App的朋友們一定都會遇到一些跟寫程式沒啥關係的坑!若沒有解決這些基本的設置,開發過程就會相當不順暢,像是我們想要把專案編譯到實機做測試,就需要透過供應配置文件 (Provisioning Profiles)來實現。儘管已經開發許久的老手,依然會像我一樣還是對這玩意兒半知半解呀⋯⋯
那麼我就趁這時候來記錄高手的教學吧~

每次開發後會編譯釋出給專案經理測試,然而有時候會忘記該裝置是舊的版本,因為有太多測試機在公司,拿來拿去也編來編去,測完後隔幾天就不小心拿到舊版本的機子,就很有可能測出不期望的bug出來,這實在耗費時間哪~

現在想把編譯日期和時間顯示在App首頁下方,如此就能很清楚知道該版本的新舊。
回想兩年前開始做這個給美國寶寶使用的App,從無到有開始打造,因為關鍵的功能尚不知如何實作,於是邊學習邊開發。主要的用途就是讓寶寶自己開影片來看,因為影片檔案很多且很大,需要有個後台來存放,使用者必須從網路下載影片回來App,此外還有進階使用功能,便是應用內購買來下載更多影片。

回想當初製作時功能流程的複雜程度,App使用起來功能簡單又基本(使用者角度),然而開發起來就覺得實在好複雜(工程師角度),每個細節都要處理恰到好處,於是要花許多時間來測試與除錯。
像是下載影片、儲存影片、播放影片、加入我的最愛、應用內購買、限時播放與循環播放、播放清單、推薦親友、獎勵兌換、家長閘等等。不列出來我都忘記,列出來讓我又想起更多細節,乍看之下就只是個影片播放App,其中的奧秘都呈現在斷斷續續一年以來的開發過程之中。
可能因為自己還沒有小孩(快有了:P~),所以開發這個給寶寶使用的App,說實在的並沒有讓我很興奮,常會卡在某些功能流程上。
像是超大影片(例如100MB)要下載,就不能先全部載到記憶體,再轉存到硬碟,而是要每下載一小部分就從記憶體轉存到硬碟,以免超過App所能乘載的記憶體量而崩潰。
還有當時想要背景下載,但實際上只作前景下載,而且一次只能下載一個影片,所以使用者要開著螢幕乾等影片下載完畢,後來有加上背景下載(10分鐘內)。
此外,應用內購買必須模擬真實購買情況,好在Apple有區分開發環境(Development)與產品環境(Production),讓我可以無限次數購買,只是測試帳號購買產品後,沒有辦法回復到還沒購買的狀況,所以要不斷更改產品ID,或是增加測試帳號,來購買同一個商品。
我想這些學習理應感到很有成就感,只是我會想能不能沿用到未來的專案,當然多少都會對未來專案有助益,也希望開發過程中能有空閒來記錄下我的學習歷程,好讓未來的我或其他學子,能快速上手!
最近同事需要匯出開發文件,我在寶寶App也因應客戶需求,以Apple Doc的格式釋出,多虧一年半前我有記錄下來,直接貼連結給同事參考,節省不少學習時間。
最後的感想是,學海無涯,自己對新的事物也總是抱著好奇的心去認識與學習,然而時間有限之下,我必須選擇對我意義最多且價值最大的題目來實現。
這幾年來不斷聽到我們台灣不再是亞洲四小龍之一,實在是令人不勝唏噓,想要改變什麼卻無能為力。
查詢維基百科後,才發現原來這另三個國家我已經去過!香港2012/12、新加坡2014/05、韓國2014/10。出國後才知道過去的我眼界如何狹小,有機會的人很多都跑處去闖蕩了⋯⋯
HappyMan・迴響