跳到主要內容

運用 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,使用 PhotosPhotosUI 框架以及 UIImagePickerControllerimage_picker
存取相機使用 .camera sourceTypeUIImagePickerControllerimage_picker
使用進階相機功能AVFoundationcamera
提供應用程式內購買StoreKitin_app_purchase[1]
處理付款PassKitpay[2]
傳送推播通知UserNotificationsfirebase_messaging[3]
存取 GPS 座標CoreLocationgeolocator
存取感應器資料[4]CoreMotionsensors_plus
發出網路請求URLSessionhttp
儲存鍵值@AppStorage 屬性包裝器和 NSUserDefaultsshared_preferences
持久化到資料庫CoreData 或 SQLitesqflite
存取健康資料HealthKithealth
使用機器學習CoreMLgoogle_ml_kit[5]
辨識文字VisionKitgoogle_ml_kit[5:1]
辨識語音Speechspeech_to_text
使用擴增實境ARKitar_flutter_plugin
存取天氣資料WeatherKitweather[6]
存取和管理聯絡人Contactscontacts_service
在主畫面公開快速動作UIApplicationShortcutItemquick_actions
索引 Spotlight 搜尋中的項目CoreSpotlightflutter_core_spotlight
設定、更新和與 Widget 通訊WidgetKithome_widget

  1. 同時支援 Android 上的 Google Play 商店和 iOS 上的 Apple App Store。↩︎

  2. 在 Android 上新增 Google Pay 付款,在 iOS 上新增 Apple Pay 付款。↩︎

  3. 使用 Firebase Cloud Messaging 並與 APN 整合。↩︎

  4. 包含加速計、陀螺儀等感應器。↩︎

  5. 使用 Google 的 ML Kit 並支援各種功能,例如文字辨識、臉部偵測、影像標籤、地標辨識和條碼掃描。您也可以使用 Firebase 建立自訂模型。若要深入瞭解,請參閱使用 Flutter 的自訂 TensorFlow Lite 模型↩︎ ↩︎

  6. 使用 OpenWeatherMap API。還有其他套件可以從不同的天氣 API 中提取資料。↩︎