Swift 教學:如何用 Foursquare API 和 Realm 打造一個咖啡店 App
在本教學中,你將學會使用到如下技能: Swift、Xcode 和 Interface Builder (自動佈局、約束和storyboard) Realm,一個輕量級的 Core Data 封裝,用於本地數據庫。 Foursquare,用 「Das Quadrat」 庫來訪問 Foursquare 的 REST API。 CocoaPods 和 Geolocation 這個 App...
View Article如何利用 Core Spotlight 框架增加 iOS Apps 的曝光率
iOS 9 新增的 Search APIs 提供多個全新的APIs,而 Core Spotlight (CS) 是其中的一個框架,為開發者們顯著提升了App的可發現性,可見性和易用性,這是在歷代iOS版本中前所未見的。Search APIs 還讓使用者能夠更新更快地接觸開發者的App,加強了二者的連繫性。在iOS 9 中,除了 Core Spotlight...
View ArticleSwift 新手指南:為 iOS Apps 添加推送通知(Push Notifications)
當 App 不運行的時候,如果有某些事情發生时需要提醒用戶關注,那就需要用到某種通知技術。作為一個 iOS 開發者,我們知道 iOS 支持兩種通知:本地通知和推送(或者遠程)通知。前者是由 App 自己註冊和發起的,實現起來要相对簡單。實際上,我們可以在這裡 和 這裡找到一堆較早的教程,是關於本地通知的。 推送通知則不是由 App 自己發起的。它由另外的服務(叫做提供者)發起,這個服務通常是指某個...
View Article如何使用 Xcode Targets 去管理開發和上線建置 (Development and Production Builds)
對初學者而言,或許會有疑惑為什麼要把 App 的數據庫和開發環境分開處理。原因很簡單,就是為了日後 App 建立新特性或延續開發時需要在開發版本和現存版本分別進行測試。一般軟件開發都需要在不同的環境進行不同版本的測試。而 App...
View ArticleCore Image 介紹: 圖像濾鏡應用
伴隨著這強大的圖像過濾功能,Core Image 包含的 APIs 有臉部偵測 (face detection),圖像自動增強 (automatic image enhancements) 及透過混合使用多重濾鏡製作出與別不同的濾鏡效果。 在本教程中將會向你介紹 Core Image 的基本功能,並展示一些優良實作和簡單技巧去提升表現。 範例App 在本教程中,我們會透過建立一個簡單的 App...
View ArticleSwift 開發:如何使用 Xcode 7 進行單元測試
甚至情況更差一點,就是找來找去也找不到錯在哪裡。不論你是程式新手或者已經有點經驗的開發者,定期編寫單元測試 (unit testing) 會讓你的程式碼更可靠、安全,當問題出現的時候更能除錯就更容易。 幸運地,Xcode 7 和 Swift 都支援單元測試。雖然使用單元測試不代表錯誤不會出現,但把程式碼分隔為細小的單元,從而逐一檢測每個單元都是正確地執行,此舉有助除錯偵測。...
View ArticleFirebase 入門:用 Swift 創建一個簡單的社交 App
在眾多 BaaSs 之中,表現最佳和最受歡迎的是 Google Firebase。事實上,Firebase 有著優良的效能、實施性和維護性。Firebase 最為人所知的一個重要特點,就是它是完全以 JSON 為存儲格式的實時數據庫。在數據庫中的任何改變都會立即同步到所有連接該數據庫的客戶端和設備。換句話說,Firebase 有超乎想像的快速,幾乎任何數據都是實時刷新的。 Firebase...
View Article學習Swift程式語言:運算子重載(Operator Overloading)簡介
好了,我們說的夠多了,讓我們來看看運算子超載(Operator Overloading)是怎麼一回事吧。 挑戰 這次的教學單的任務非常的容易:擴充乘法運算符的數量為標準功能。你將會用它來進行字串的聯級運算(concatenation operator),但過程卻比想像中的簡單。所以你可以想像我們將完成下面的事情: [crayon-575bdd149460c787643563/]...
View Article如何使用 Markdown 為 Swift 程式碼加入註解
Markdown 語法用一些特殊的關鍵字來描述文檔中的不同部分,比如參數、函數返回值等,從而使這些結構顯示出不同的樣式。新的 Markdown 文檔風格,最大的優點之一,是它允許對文本樣式進行更加靈活、徹底和豐富的定制。當然,如果你仍然想使用舊式的文檔風格,請參考先前的這篇教程。...
View ArticleWWDC 獎學金得獎者訪問 (上):20位年輕開發者分享成功經驗
本年度的 蘋果全球開發者大會 (下稱WWDC) 即將在6月13日開幕,一連5天在美國舊金山莫斯考尼會議中心 (Moscone West) 舉行。每年有超過5,000 iOS 開發者能夠參與大會,即席了解最新發佈的iOS, OS X,...
View ArticleWWDC 獎學金得獎者訪問 (下):21位年輕開發者分享成功經驗
上篇介紹了十位WWDC 2016 的獎學金幸運兒,緊接而來會繼續為大家介紹另外十位成功得獎者的故事。今年的WWDC快將開始,當中不少的受訪者都顯得十分期待和雀躍。每年的WWDC門票都是求過於供,而當中350張的獎學金門券更是競爭熱烈,除了依靠個人實力,也得靠點運氣才能得到。 事不宜遲,馬上來看看餘下十一位獎學金幸運兒的訪問吧! 學生 #1: Zuhayeer Musa AppCoda:...
View Article如何在 Xcode 8 建立 iMessage 貼圖程式擴充
開發者可以為蘋果的 Messages 增建程式擴充,透過程式擴充與使用者互動。舉例說,你可以建立一個訊息貼圖擴充,容許使用者在iMessage 與朋友溝道時發送貼圖。或者,假若你在開發修圖程式,現在你可以透過擴充,讓使用者在不需要離開iMessage就可以修圖。這個功能確實為開發者帶來很大的創作空間。蘋果將會為 iMessage 設立 App Store...
View ArticleSwift 3:你要知道的新特色和改動
在剛完成的WWDC大會上,蘋果發佈了新一代 Swift 3 和 Xcode 8 beta,並預計在本年第四季正式推出。自2015年12月,Swift語言正式開放源代碼,Swift 3 當然也不例外,同時支援 Mac OS X 及Linux 系統。如果你自上年十二月開始追踪 Swift Evolution,或已經曾在 IBM sandbox 試用過的話,或許已經心中有數 Swift 3...
View ArticleSwift 網路程式設計指南:如何使用 Alamofire
打從 2014 年 6 月發佈 Swift 語言以來,要在 Swift 中實現網路功能就有點麻煩。即便是 Swift 之父 Chris Lattner 也在 Twitter 發文表示,要解碼 JSON 還有「一段路要走」。因此許多人都在尋覓替代方案。當然也有內建的類別能夠處理基本的 JSON 剖析,但是對於開發者而言,總覺得沒有那麼友善。幸好有 Alamofire 的存在。同樣是由...
View Article如何在 iOS App 中整合 Facebook 廣告
不久前有人問我如何在項目中整合 Facebook 廣告。因為之前沒用過,原以為這需要經過一個漫長、痛苦的準備過程,所以看過一堆文檔之後。在很快就看完了這些文檔之後,卻發現並不是想象中的那樣,僅僅幾分鐘我就搞定了我的第一個 Facebook 廣告 App! 想為你的app加入廣告?Facebook 廣告是一種方法讓你輕易將廣告嵌入到你的 app...
View ArticleCAGradientLayer 教學:如何在 iOS App 製作漸層顏色
每個開發者在設計程式介面時都會用上不同的顏色組合和圖像,務求製作出賣相更吸引的作品。在顏色配搭上,單色使用有時候不免顯得單調,而漸層 gradient 的使用或許可以帶來意想不到的效果。我曾經好幾次在設計時運用了漸層顏色,感覺這個題目值得跟大家討論一下,就是這樣這篇文章便「誕生」了。它在技術上使用簡單,開發者們一定會喜歡這個簡單又好看的功能。...
View Article結合 iOS 10 的 User Notifications:傳送米花兒的幸福打氣通知
通知在 iOS 是個讓人又愛又恨的功能。因為通知,我們按三餐收到情人的甜言蜜語。也因為通知,害我們凌晨三點收到情敵的恐怖訊息。接下來就讓我們結合 iOS 10 最新的 UserNotifications framework,實現散播幸福散播愛的米花兒通知。 徵求使用者同意,獲得發送通知的權限 收到心上人的通知很開心,收到不是人的通知卻很恐怖。Apple...
View ArticleCALayer 初學者指南:如何增加陰影效果、邊框、製作圓角
本篇文章將會談論iOS開發中的關鍵議題之一layers,它為Core Animation框架的一部份,雖然讀者可能已經接觸過iOS中的Views,卻可能不知道,每個View都是透過layer做為圖形繪製的基礎。...
View ArticleSwift 開發者!用Vapor打造你的第一個Web App吧
在2015年的WWDC上,蘋果宣布Swift將會開放原始碼,不久後,在2015年的12月,Swift的code base即公開在 GitHub上。 這份公開的Swift 源始碼向全世界開發者介紹了Swift多面向的擴展應用,也讓世人見識到這個語言未來蘊藏的許多可能性。 就如預期一樣,開發者迅速開發出不同面向的Swift新應用,其中一項就是透過Swift語言去打造一個web...
View ArticleiOS 10:如何使用 Speech 框架建立語音輸入 App
在 2016 WWDC 大會上,蘋果公司推出了可以用於語音識別的 Speech Kit 框架。實際上,Siri 就是用 Speech Kit 框架來進行語音識別的。其實現在已經有一些語音識別框架了,但它們要麼太貴,要麼用法複雜。在本教程中,我將使用 Speech Kit 創建一個類似 Siri 的 app 用於將語音轉換成文本。 建立 App UI 新建一個名為 SpeechToTextDemo...
View Article