Pub Package Build Status

Overview

This package enables Dart developers to use a large number Objective-C APIs. The bindings are generated with cupertino_ffi.

Most Flutter developers should not use this package. It's almost always a better idea to write a Flutter plugin than use this package. Flutter plugins are less likely to contain memory management bugs, they are automatically isolated from the UI event loop, they support all APIs, and the development experience is just a lot better.

The advantages of this package are automatic generation of APIs (no need to write message passing code) and support for non-Flutter applications such as command-line tools.

If you decide to use this package, you must follow the correct reference counting patterns documented by cupertino_ffi.

Contributing

Status

  • X Generator scripts
  • Generated source code passes manual tests
  • Helpers for implementing Objective-C protocols

Toll-free bridged types

Note that Foundation types (NSString, etc.) and Core Foundation types (CFString, etc.) are "toll-free" bridged types. This means that Pointer<CFString> can be used as Pointer<NSString> and vice-versa.

Core Foundation dart:ffi bindings can be found in cupertino_ffi.

Generated libraries

Dartdoc can be found here.

NameImportDescription
CloudKit (docs)"package:cupertino_ffi/cloudkit.dart"Cloud-based storage.
Contacts (docs)"package:cupertino_ffi/contacts.dart"Contacts.
Core Data (docs)"package:cupertino_ffi/core_data.dart"Loading and storing data.
Core Graphics (docs)"package:cupertino_ffi/core_graphics.dart"Images.
Core Location (docs)"package:cupertino_ffi/core_location.dart"Geographical location.
Core ML (docs)"package:cupertino_ffi/core_ml.dart"Machine learning.
Core Spotlight (docs)"package:cupertino_ffi/core_spotlight.dart"Search.
Core WLAN (docs)"package:cupertino_ffi/core_wlan.dart"WLAN.
EventKit (docs)"package:cupertino_ffi/eventkit.dart"Calendar events.
Foundation (docs)"package:cupertino_ffi/foundation.dart"Essential APIs.
HomeKit (docs)"package:cupertino_ffi/homekit.dart"Home automation.
Multipeer Connectivity (docs)"package:cupertino_ffi/multipeer_connectivity.dart"Peer-to-peer connectivity.
ModelIO (docs)"package:cupertino_ffi/modelio.dart"3D model assets.
Natural Language (docs)"package:cupertino_ffi/natural_language.dart"Natural language processing (NLP).
Objective-C runtime (docs)"package:cupertino_ffi/objective_c.dart"Objective-C internals.
PassKit (docs)"package:cupertino_ffi/passkit.dart"Apple Pay and Apple Wallet.
PreferencePanes (docs)"package:cupertino_ffi/preferencepanes.dart"System preferences.
SceneKit (docs)"package:cupertino_ffi/scenekit.dart"3D rendering.
Security (docs)"package:cupertino_ffi/security.dart"Keychain, cryptography, authentication.
Speech (docs)"package:cupertino_ffi/speech.dart"Speech recognition.
Social (docs)"package:cupertino_ffi/social.dart"Social media.
StoreKit (docs)"package:cupertino_ffi/storekit.dart"App Store.
Vision (docs)"package:cupertino_ffi/vision.dart"Computer vision.
WebKit (docs)"package:cupertino_ffi/webkit.dart"Browser engine.

Want to add a library? Create an issue!

Libraries

cupertino_ffi.cloudkit
Automatically generated API for CloudKit. [...]
cupertino_ffi.contacts
Automatically generated API for Contacts. [...]
cupertino_ffi.core_data
Automatically generated API for Core Data. [...]
cupertino_ffi.core_location
Automatically generated API for Core Location. [...]
cupertino_ffi.core_ml
Automatically generated API for Core ML. [...]
cupertino_ffi.core_spotlight
Automatically generated API for Core Spotlight. [...]
cupertino_ffi.core_wlan
Automatically generated API for Core WLAN. [...]
cupertino_ffi.eventkit
Automatically generated API for EventKit. [...]
cupertino_ffi.foundation
Automatically generated API for Foundation. [...]
cupertino_ffi.homekit
Automatically generated API for HomeKit. [...]
cupertino_ffi.modelio
Automatically generated API for ModelIO. [...]
cupertino_ffi.natural_language
Automatically generated API for Natural Language. [...]
cupertino_ffi.passkit
Automatically generated API for PassKit. [...]
cupertino_ffi.preferencepanes
Automatically generated API for PreferencePanes. [...]
cupertino_ffi.safari_services
Automatically generated API for SafariServices. [...]
cupertino_ffi.scenekit
Automatically generated API for SceneKit. [...]
cupertino_ffi.social
Automatically generated API for Social. [...]
cupertino_ffi.speech
Automatically generated API for Speech. [...]
cupertino_ffi.storekit
Automatically generated API for StoreKit. [...]
cupertino_ffi.vision
Automatically generated API for Vision. [...]
cupertino_ffi.webkit
Automatically generated API for WebKit. [...]