zuraffa_messaging_ios

The iOS implementation of zuraffa_messaging: the native messaging-store plugin (ZuraffaMessagingPlugin, Swift) persisting the send log in UserDefaults, plus the contract conformance kit host apps run their wired channel against.

What's in the box

  • ios/ — the native ZuraffaMessagingPlugin Flutter plugin serving the shared channel contract.
  • IosMessagingContract — the iOS pinning of MessagingChannelContract.shared: platform identifier, native plugin type name, and the verbatim contract (channel plugins.zuraffa.dev/messaging, method table send · acknowledge · blockRecipient · sent · reset, error code undeliverable, the msg-<channel>-<n> id grammar).

Usage

Add the platform package next to the app-facing package; then wire the Dart side over the injected bridge (see the core README):

final messaging = MessagingService()
  ..register(BridgeTransport('sms', MethodChannelBridge()));

Diff-check the wired channel against the shipped contract:

final kit = const IosMessagingContract();
expect(kit.contract, MessagingChannelContract.shared);

Libraries

zuraffa_messaging_ios
The iOS conformance kit: pins the platform identifier the package ships and the shared channel contract its native plugin implements — the diff-check anchor host apps run their wired channel against (spec 002-platform-transports).