Just My Life & My Work

Posts tagged ‘teach’

[iOS] pod install與pod update的差別

2013年就開始使用Cocoapods來使用第三方套件,儘管有發佈初學者的Cocoapods教學,可是在「管理」這方面卻還是有些不明白,像是pod install與pod update的差別,真的是要到需要的時候才會認真去釐清差異,過去一直install和update混著用,如今看官方說明就更明白,畢竟我今年開始是團隊合作寫iOS App囉!

廣告

文章開頭先說總結:團隊每人都要同步podfile.lock,如此能保證大家套件版本一致。

廣告
(繼續閱讀…)

[iOS] iBeacon偵測多個Region

過去我所想的點子,只要偵測到iBeacon就進行對應事件。這次幫朋友阿強實現點子,發現同一UUID的iBeacon,只會觸發一次didEnterdidExit,用圖示來說明比較清楚~

可以看到兩顆iBeacon重疊偵測範圍,只要偵測到其中一顆,就只會觸發一次didEnterdidExit。這與Android測試得到的結果不同,iOS已經幫我們處理好,再把處理過的結果回傳給開發者使用,這是限制也是方便~

Android會觸發兩次(每顆iBeacon各一次),可能也叫做didEnterdidExit。阿強測試比較過後,發現iOS偵測速度比Android慢,這其實是因為iOS SDK會有數秒鐘偵測週邊iBeacon並處理。

(繼續閱讀…)

[iOS] iBeacon背景偵測流程

半年前在幫朋友阿強研究iBeacon,發現iOS在這方面比Android限制還多!首先來看iBeacon背景偵測流程,是跟前景偵測有何不一樣?

App在前景時,會陸續觸發三支APIdidEnterRegion、didRangeBeacons、didExitRegion,如上圖從時間點A到時間點B。

(繼續閱讀…)

[iOS] 獲取WebView快取中的圖片

由於原生SDK沒有辦法直接獲取UIWebView中已下載的影像,因為想避免重複請求消耗資源避免減損使用者體驗,於是我找到可立馬使用的第三方套件:RNCachingURLProtocol。​雖然發現還要修改才能使用XD~

套件簡介

Simple offline caching for UIWebView and other NSURLConnection clients

WebView的圖片會使用NSURLProtocol來進行快取Cache,此第三方快取圖片會儲存到指定的文件夾,之後可以讀取此指定文件夾來獲取WebView的快取。

(繼續閱讀…)

安裝彩色的終端機

本篇文章目的如標題:安裝彩色的終端機。主要下載三個套件:iTerm2 + zsh + oh-my-zsh

從2012年寫iOS App以來,有時候會使用到內建的終端機 (Terminal),不過它的介面卻非常陽春,我居然也習以為常超過六年XD~

在進入港商後,同事Adam介紹我安裝oh-my-zsh,它可以讓介面變得「多采多姿」,於是乎剛使用新的iMac,就來把所有開發環境建立起來,以便日後方便有效率地工作!

(繼續閱讀…)

[iOS] 應用程式的生命週期 (App Life Cycle)

先前已經了解過視圖的生命週期 (View Life Cycle),現在來研究高一層級的應用程式的生命週期 (App Life Cycle)。開發超過六年(從2012年開始)iOS App的我,儘管已爐火純青可以隨意開發一款iOS App,然而再習以為常的開發過程,一定還存在些我不太熟悉的細節!套句郭台銘的霸氣台詞「魔鬼藏在細節中!」所以若能透過圖解的方式來更理解兩個生命週期,想必能研發出品質更好的iOS App。

(繼續閱讀…)

[iOS] 背景模式震動

原本想使用區域推播(Local Notification)來提醒使用者,遇到需求只要震動而不要有介面顯示,可以怎麼做呢?原來只要開背景模式(Required background modes)的「App plays audio or streams audio/video using AirPlay」,即可在偵測到Beacon同時震動!

可是送審會不會有問題?畢竟文檔上所描述的使用方式我都沒有實現⋯⋯

(繼續閱讀…)

[iOS] 指定Pod版本

四年前(2014年),我已寫過Cocoapods教學:使用 CocoaPods 管理第三方套件,此時要講指定Pod版本。好的第三方套件會時常更新來與時俱進,除了新增feature之外,還有修正既有的bug。

當我們自己開發的App已經過了好幾年,想要再透過Cocospods加入新的套件,此時要考慮到舊有的套件盡可能不要更新,若逼不得已還是得更新啦⋯⋯

使用Cocoapods的好處之一就是可以指定Pod版本。像是我有遇到下一個版本的語法被改掉,太難改的話我就會先返回原先的版本。

(繼續閱讀…)

[iOS] 透過HealthKit獲取步數與距離

原本想透過智慧運動裝置來獲取步數與距離,可惜遲遲等不到韌體開發完成,只好暫且透過HealthKit獲取步數與距離!因為iPhone本身就有運動感測器,會自動算出步數與距離,然後寫入HealthKit,想做運動健康相關App,於是有數據來源可使用。

iOS 10開始之後要在info.plist設定Privacy

(繼續閱讀…)

標籤雲