SwiftUI 框架 利用 VisionKit 框架 在 SwiftUI 掃描圖片及辨識文字 有了 Vision 框架,現在要執行文字掃描和辨識 (text recognition),已經是相當容易的工作。在這篇教學中,你將學會使用 VNDocumentCameraViewController 掃描圖片,並使用 Vision 框架來辨識文字。 Gabriel Theodoropoulos Apr 28, 2021 35 分鐘閱讀時間
in-app purchase 在 Xcode 12 使用 StoreKit 測試 App 內購 讓你加速開發進度 雖然 WWDC20 結束至今已經過了五個月,我們還在討論今年發佈的新框架、API、以及改善。在這麼多新功能中,有一些會對我們實作 App 內購 (In-App Purchase) 時有重大影響,那就是我們可以在 Xcode 12 中本地測試 StoreKit 的新功能。 現在, Gabriel Theodoropoulos Oct 28, 2020 32 分鐘閱讀時間
Swift 程式語言 利用 LibraryContentProvider 重用 SwiftUI 視圖 大大加速開發過程! Apple 在 WWDC 2020 帶來了許多新功能和改善。在本篇文章中,Gabriel 會帶大家探索新的 LibraryContentProvider 功能,以隨插即用的方式,讓開發者在不同專案中重用 SwiftUI 視圖與修飾器,甚至是分享給其他開發者,大大加速開發過程。 Gabriel Theodoropoulos Sep 9, 2020 36 分鐘閱讀時間
Swift 程式語言 Xcode 12 和 Swift 5.3 新功能詳解 讓你寫出更強大的程式碼! WWDC 2020 上個月首次在前所未有的條件下完成,全球所有開發者都有機會坐在前排,了解 Apple 今年即將發佈的所有新功能和改進。與往常一樣,Apple 介紹了許多新東西和大進步,相信我們每個人都非常興奮,希望作很多新嘗試。 這篇文章旨在介紹 Xcode 和 Swift 的新版本。 Xcode 12 的第一個 Gabriel Theodoropoulos Jul 14, 2020 30 分鐘閱讀時間
Swift 程式語言 Swift 教學:認識 Higher Order Functions 高階函數(Reduce 和 FlatMap) Swift 是種富含多種特性的語言,當中有一個不能錯過的良好特性,就是高階函數 (higher order functions)。在本篇文章中,我會介紹十個常見的高階函數,並透過簡單的範例教你實作。你會發現使用高階函數可以減少我們所需要的程式碼,並讓程式碼變得更加清晰及有效率! Gabriel Theodoropoulos May 6, 2020 36 分鐘閱讀時間
Swift 程式語言 Swift Package Manager 實用指南 讓你有效率地重複使用元件! 自 Xcode 11 起,Apple 已經把建立及管理 Swift Package 的功能整合進 Xcode 中(也就是Swift Package Manager),讓開發者得以快速並直接地處理這些過程。我們將從頭開始建立一個 Swift Package,讓你日後輕易又有效率地重複使用元件。 Gabriel Theodoropoulos Feb 26, 2020 27 分鐘閱讀時間
iOS App 程式開發 利用 CocoaPods 及 GitHub 一步步創建可重用的函式庫! 歡迎回到我們的教學系列文章!在上一篇教學文章中,你學到了如何使用 Network 框架來偵測及監控網路狀態。看來這個框架在 NetStatus 類別中運行得相當不錯,所以讓我們更進一步,來創建一個基於 NetStatus 類別的小型、開源框架吧!在本篇教學中,我們將透過 CocoaPods 來創建一個 pod,讓這個框架容易發佈及整合,並把它推送到 Gabriel Theodoropoulos Nov 20, 2019 19 分鐘閱讀時間
iOS App 程式開發 利用 Network Framework 輕易監控網路狀態變化 所有與伺服器交換資料的 App,都需要獲取所需的網路資訊,並觀察其變化。隨著 Apple 在 iOS 12 提供的 Network Framework ,要取得這些資料並加以處理就變得十分簡單。此文將會教你利用它來監控網路變動,並建立一個小型客製化框架,來把它製作成一個可重複使用的元件。 Gabriel Theodoropoulos Oct 23, 2019 18 分鐘閱讀時間
iOS App 程式開發 RESTful API 教學:用 Swift 建立屬於自己的輕量 REST 程式庫! 現今大部分的 App 都會與伺服器溝通來交換資料,為了達到這個目的,它們多採用 RESTful API,又稱為 RESTful 網路服務 (Web Serivce)。App 可以使用 REST 傳送請求 (Request) 到伺服器,然後伺服器會回傳回應 (Response) Gabriel Theodoropoulos Jul 31, 2019 35 分鐘閱讀時間
iOS App 程式開發 利用 Google Translation API 添加即時翻譯功能 讓你的 App 更加升級! Google Translation API 能提供基於機器學習 (Machine Learning) 的翻譯功能,將任何字串轉換成任何支援的語言形式。 此文將會深入解釋如何使用翻譯 API,讓我們可以在 app 中提供即時翻譯功能。 Gabriel Theodoropoulos May 29, 2019 39 分鐘閱讀時間
Swift 程式語言 在 Swift 專案中使用 Javascript:編寫一個將 Markdown 轉為 HTML 的編輯器 一直想寫一篇文章,關於如何將 Swift 和 Javascript 結合在一起,以構建強大而功能豐富的 App。這並不是我們第一次聽人說要將 Javacript 代碼嵌入到 iOS 專案中了,但當你讀完本文後,你會感到這個過程會變得前所未有的簡單,仿佛魔術一般,你只需要做很少的工作。其中的奧妙就是一個叫做 JavaScriptCore framework Gabriel Theodoropoulos Apr 1, 2017 37 分鐘閱讀時間
Auto Layout Auto Layout學習指南:利用Visual Format Language和程式碼設定約束畫面佈局 做為一個iOS開發者,你應該知道在任何專案的待辦任務清單內,都會有視圖(views)以及子視圖(subviews)之間constraints設定的問題,無庸置疑,設定constraints(約束條件)是相當棘手的議題,它常常會讓你在開發應用程式時感到痛苦,但其實一切只取決於開發者是否理解它,事實上,約束條件就是你想要應用於螢幕上任何圖形元素的佈局規則,必須考慮視圖與子視圖在畫面上的位置、大小以及視覺關係,並且當設備的方向改變時,要定義UI元件的預設表現。 約束條件可以透過兩種方式進行設定: Gabriel Theodoropoulos Dec 21, 2016 39 分鐘閱讀時間