運用 Apple 的系統 API 和框架
如果您來自 iOS 開發,您可能需要尋找 Flutter 外掛程式,它們提供與 Apple 系統函式庫相同的功能。這可能包括存取裝置硬體或與特定框架(如 HealthKit
)互動。
如需瞭解 SwiftUI 框架與 Flutter 的比較概述,請參閱給 SwiftUI 開發人員的 Flutter。
Flutter 外掛程式簡介
#Dart 將包含平台特定程式碼的函式庫稱為外掛程式,它是「外掛程式套件」的簡稱。使用 Flutter 開發應用程式時,您會使用外掛程式與系統函式庫互動。
在您的 Dart 程式碼中,您會使用外掛程式的 Dart API 來呼叫正在使用的系統函式庫中的原生程式碼。這表示您可以撰寫程式碼來呼叫 Dart API。然後,此 API 會使其適用於外掛程式支援的所有平台。
若要深入瞭解外掛程式,請參閱使用套件。雖然此頁面連結到一些熱門的外掛程式,但您可以在 pub.dev 上找到數千個外掛程式以及範例。下表並未認可任何特定的外掛程式。如果您找不到符合您需求的套件,您可以建立自己的套件,或直接在您的專案中使用平台通道。若要深入瞭解,請查看撰寫平台特定程式碼。
將外掛程式加入您的專案
#若要在您的原生專案中使用 Apple 框架,請將其匯入您的 Swift 或 Objective-C 檔案。
若要新增 Flutter 外掛程式,請從您的專案根目錄執行 flutter pub add package_name
。這會將相依性新增到您的 pubspec.yaml
檔案。新增相依性後,請在您的 Dart 檔案中為該套件新增 import
陳述式。
您可能需要變更應用程式設定或初始化邏輯。如果需要這樣做,pub.dev 上的套件「Readme」頁面應該會提供詳細資訊。
Flutter 外掛程式與 Apple 框架
#使用案例 | Apple 框架或類別 | Flutter 外掛程式 |
---|---|---|
存取相片圖庫 | PhotoKit ,使用 Photos 和 PhotosUI 框架以及 UIImagePickerController | image_picker |
存取相機 | 使用 .camera sourceType 的 UIImagePickerController | image_picker |
使用進階相機功能 | AVFoundation | camera |
提供應用程式內購買 | StoreKit | in_app_purchase [1] |
處理付款 | PassKit | pay [2] |
傳送推播通知 | UserNotifications | firebase_messaging [3] |
存取 GPS 座標 | CoreLocation | geolocator |
存取感應器資料[4] | CoreMotion | sensors_plus |
發出網路請求 | URLSession | http |
儲存鍵值 | @AppStorage 屬性包裝器和 NSUserDefaults | shared_preferences |
持久化到資料庫 | CoreData 或 SQLite | sqflite |
存取健康資料 | HealthKit | health |
使用機器學習 | CoreML | google_ml_kit [5] |
辨識文字 | VisionKit | google_ml_kit [5:1] |
辨識語音 | Speech | speech_to_text |
使用擴增實境 | ARKit | ar_flutter_plugin |
存取天氣資料 | WeatherKit | weather [6] |
存取和管理聯絡人 | Contacts | contacts_service |
在主畫面公開快速動作 | UIApplicationShortcutItem | quick_actions |
索引 Spotlight 搜尋中的項目 | CoreSpotlight | flutter_core_spotlight |
設定、更新和與 Widget 通訊 | WidgetKit | home_widget |
同時支援 Android 上的 Google Play 商店和 iOS 上的 Apple App Store。↩︎
在 Android 上新增 Google Pay 付款,在 iOS 上新增 Apple Pay 付款。↩︎
使用 Firebase Cloud Messaging 並與 APN 整合。↩︎
包含加速計、陀螺儀等感應器。↩︎
使用 Google 的 ML Kit 並支援各種功能,例如文字辨識、臉部偵測、影像標籤、地標辨識和條碼掃描。您也可以使用 Firebase 建立自訂模型。若要深入瞭解,請參閱使用 Flutter 的自訂 TensorFlow Lite 模型。↩︎ ↩︎
使用 OpenWeatherMap API。還有其他套件可以從不同的天氣 API 中提取資料。↩︎
除非另有說明,否則此網站上的文件反映了最新穩定版的 Flutter。頁面上次更新時間為 2024-08-30。 檢視原始碼 或 回報問題。