iOS
在 iOS 相機 App 訓練 Create ML Style Transfer 模型!
樣式轉換 (Style Transfer) 是一個非常熱門的深度學習課題,它可以讓我們在一個圖像上套用另一個圖像的視覺樣式,來改變圖像的構圖。 透過神經樣式轉換模型 (Neural Style Transfer Model),我們可以建構很多令人驚艷的東西,像是建構藝術照片編輯器、或是應用最新設計的樣式為遊戲設計賦予新樣貌等。它非常方便,也可以使用資料擴充。 [...]
用 iOS 內建的 ASWebAuthenticationSession 實作 OAuth 2.0 授權流程!
我們在開發 app 的時候,有時會跟 Google 或是 Instagram 等的第三方服務做連結,以提供像是存取雲端硬碟或者分享到社群等等的功能。通常這些服務商都會提供 SDK 給開發者,讓我們的 app 可以存取一些需要使用者登入的服務,但是使用服務商 SDK 有時也會有一些風險,比如說 [...]
SwiftUI 教學:利用 WebSocket 打造一個 Bitcoin 價格即時更新 App
WebSocket 之前是 WebView 支援的 Javascript API。隨著 iOS 13 以及 macOS Catalina 的亮相,Apple 在 URLSession 及 Network 網路框架裡介紹了這個協定。 甚麼時候會用到 WebSocket? 之前為了雙向的資料溝通,我們可以使用輪詢 (Polling)、長時間輪詢 (Long Polling)、或是無聲推播 (Silent [...]
2020 第一季最觸目的 10 個 iOS Projects 啟發你創建更酷的項目!
2020 年的第一季度已經結束了。由於新型冠狀病毒持續爆發,相信大家都很可能正在在家工作吧。 WWDC 2020 離我們不遠了,而且這次現場直播會議有很多值得期待的地方。在我們耐心等待新的 iOS 14 功能推出的同時,讓我們回顧一下,那些已經發佈了的 iOS 專案有多棒吧! [...]
Swift DSL 實作:利用 Swift UI 寫出簡單又明瞭的 Auto Layout DSL
今年可以說是 Swift DSL 元年,建造者函數 (Builder functions) 與 SwiftUI 讓開發者們看到在 Swift 內設計內嵌 DSL 的各種可能性。雖然這樣說,但 Swift 一直以來都提供了許多 DSL 實作的功能,只是還沒有出現在官方框架而已。舉例來說,我們可以利用自訂運算子 (Operators) [...]
SwiftUI 初體驗: 建構一個簡單 App 讓你了解 SwiftUI 有多強大!
在今年 WWDC 2019 大會之中,最令人振奮的主題演講莫過於開發者工具的改善,而其中最大而最棒的消息就是 SwiftUI 的發佈。SwiftUI 是一個全新的框架,讓你用更少程式碼、並以宣告的方式,來設計及開發使用者介面。 SwiftUI 與 UIKit 不同,UIKit 通常要配合 storyboards [...]
GoodNotes 專訪:只靠賣 APP 的收入,也能養活一隊 15 人的團隊!
「做自己很在意的事,然後洞察到與別人不一樣的細節,將這些細節體現在你的產品裡,它們就會成為用戶喜愛你的原因。」 — GoodNotes 創辦人 Steven 這是每一個軟件工程師夢寐以求的故事。 GoodNotes 是一個筆記 APP,在 App Store 只售港幣 60 大元。它最傳奇的地方,是在沒有投資資金、只靠賣 [...]
給 Swift 工程師的後端指南:用 Kitura 來架設自己的 API 後台
身為一個 Swift 開發者,每天撰寫著 iOS/macOS/tvOS/watchOS 的程式,你的經驗讓你的效率高到破表,一天就可以輕易做出一個線上聊天室介面,兩天就可以做出塗鴉牆介面,你覺得自己的開發速度天下無敵;但不知道為甚麼,突然你覺得有點惆悵:啊,只有介面的程式,就像沒有加珍珠的奶茶,我怎麼樣都喝不下去啊!沒錯,再強的前端,都有可能需要一個後端來配合,才有辦法做出更多樣的應用,以往我們需要團隊作戰,但現在你可以全部都自己來,當個真正的一條龍工程師(不要哭,我知道領 [...]
利用 Google Translation API 添加即時翻譯功能 讓你的 App 更加升級!
在 Google 為開發者提供的服務和 API 中,其中一個就是雲端翻譯 API,它能提供基於機器學習 (Machine Learning, ML) 的翻譯功能,將任何字串轉換成任何支援的語言形式。目前所支援的語言清單已經為數眾多,在未來也只會更完整。Google 提供了預先訓練的翻譯模型,但我們也可以訓練客製化的模型。在本次的教學中,我們馬上就會看到,翻譯是可以如此的快速、精準及高品質過程。 [...]
客製化 NotificationCenter 讓你使用起來更簡單
觀察者模式是一個常見、而且歷史悠久的程式設計模式,而在 Swift 裡,它主要是以通知與通知中心 (NotificationCenter) 的形式存在的。簡單來說,物件可以去向通知中心註冊,成為某一種通知事件的觀察者,然後當有人向通知中心送出通知的時候,通知中心就會去找它的註冊表裡面,所有有註冊這個通知類型的觀察者,並將通知傳送給它們。 [...]