Just My Life & My Work

Archive for the ‘iOS’ Category

[iOS] 第三方套件 IQKeyboardManager

使用手機很常需要輸入文字,這時候虛擬鍵盤就會從螢幕底部升上來,因而擋住部分介面。在這裡iOS SDK並沒有自動調整介面,於是我們開發者每次就得自行處理,因為太常需要用到,於是就有高人寫的開源第三方套件IQKeyboardManager

下載後匯入專案,不用寫任何一行程式,就能運行我們想要的功能!而且是每一頁面都預設套用,再也不用重複寫碼囉~

目前GitHub上有超過7000人打星。

IQKeyboardManager.jpg

(繼續閱讀…)

[iOS] 供應配置文件 (Provisioning Profiles)

開發iOS App的朋友們一定都會遇到一些跟寫程式沒啥關係的坑!若沒有解決這些基本的設置,開發過程就會相當不順暢,像是我們想要把專案編譯到實機做測試,就需要透過供應配置文件 (Provisioning Profiles)來實現。儘管已經開發許久的老手,依然會像我一樣還是對這玩意兒半知半解呀⋯⋯

廣告

那麼我就趁這時候來記錄高手的教學吧~

%e4%be%9b%e6%87%89%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6-provisioning-profiles
廣告
(繼續閱讀…)

[Xcode] iOS 裝置支援 (iOS Device Support)

我使用固態硬碟的Macbook Air最近又常出現「空間不足」警告,可以參考我先前文章:Mac硬碟空間不足問題,那次有提到Xcode中的衍伸資料 (DerivedData),存放著我多年以來的專案暫存檔,數量之多佔據容量超過10GB

現在我發現另一個空間更加肥大的原因,就是iOS 裝置支援 (iOS Device Support),因為我有在開發iOS App,時常需要拿實機做測試,當我開著Xcode等待,它會自動去判斷有無支援此裝置的作業系統,比如iOS 9.3.1、iOS 10.0.1,只要沒有該版本的支援,Xcode會從手機下載支援擋到預設路徑如下圖:

ios-device-support2

以至於空間再怎麼多,也會被這些作業系統支援檔給塞滿,所以我決定刪除比較不會用到的版本。

ios-device-support

Xcode連結實機時,會出現上圖進度狀況,表示它正在從裝置下載作業系統支援檔到我的筆電。

我發現越高的作業系統支援檔容量越大,像iOS 10.0.12.9GB

註:檢索筆電各檔案容量的軟體是OmniDiskSweeper

參考:自己的經驗、Mac硬碟空間不足問題

[iOS] NavigationBar 阻擋視圖問題

為了下週五中秋節放連假四天,今天公司在家上班,不過我還是跑來辦公室,因為效率會比較好,尤其在大家都不在的時候XD~

過去我不太想用內建的NavigationBar,因為有一些潛在惱人的問題,所以一直都是自己刻介面。不過總有會用到內建的NavigationBar,還是要來解決一下NavigationBar 阻擋視圖問題

ios-edgesforextendedlayout

(繼續閱讀…)

[iOS] 多人維護程式碼

程式寫久了,一定會面臨到要去維護他人寫的程式碼,尤其是在專案已經持續好幾年,每隔一段時間就要增加全新的功能,同時還要修改舊有的功能。

看到下面標頭檔截圖,就知道至少有幾個人來改過程式囉XD~

ios-%e5%a4%9a%e4%ba%ba%e7%b6%ad%e8%ad%b7%e7%a8%8b%e5%bc%8f%e7%a2%bc

光是看到命名方式就有三種風格:

  • 底線式
  • 駝峰式・型態在前,名稱在後
  • 駝峰式・名稱在前,型態在後

看來每個工程師素質參差不齊,照理說每種程式語言都有其既定的規則,而不是照著先前學的程式語言來寫新的語言。

我在專案中也看到有四個API版本,我目前要改動的部分就是第四版。我實在不太會想要動他人的「技術債」,儘管Xcode有提供各種Refactor的功能,但卻也不能保證全域式改名完全沒有問題。

在介面實作方面,一開始的工程師是使用StoryBoard,然後有工程師改用Xib。我到現在還是偏好使用Xib。

有時候我們在評斷他人時,同時就是在評斷自己,我們有過去的生澀,所以才會有進步。同樣都是在工作,然而我們可以選擇喜歡的工作來做。

我們總希望親手打造的成果,能讓使用它的人都有美好的體驗。祝大家都能樂在工作:)~

[iOS] 產生QR Code和Bar Code

iOS7之後,已能用iOS SDK內建方法來掃描QR Code和Bar Code。然而似乎還無法產生QR Code和Bar Code

不過沒關係,總是會有大神製作的第三方套件開源可以拿來使用!

[iOS] 產生QR Code和Bar Code2

(繼續閱讀…)

[iOS] 日期挑選器 (Date Picker)

最近做表單都需要選擇日期,所以來記錄一下日期挑選器 (Date Picker)怎麼用吧~

date picker.jpg

(繼續閱讀…)

[iOS] Quickblox 推播

Quickblox是個開發通訊軟體的好平台,該有的基礎已經幫我們建置完畢,我們只要在其架構上客製想要的功能即可,就能打造出像我們台灣最夯的通訊App Line囉~

Quickblox logo

(繼續閱讀…)

[iOS] 螢幕左邊界右滑回上一頁

好久以前就知道有些App螢幕左邊界右滑回上一頁的功能,因為專案回上一頁都有按鈕,也沒特別要求用該手勢,所以一直以為預設就可以用,在我閒情逸致時查詢,總算知道怎麼設定啦~

ios back gesture2

(繼續閱讀…)

[iOS] 顯示編譯日期與時間

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

compile date time.jpg

現在想把編譯日期和時間顯示在App首頁下方,如此就能很清楚知道該版本的新舊。

(繼續閱讀…)

標籤雲