flowsdk 0.5.3

Safety-first, realistic, behavior-predictable messaging SDK for MQTT and more.
Documentation
# Swift Examples

This folder contains Swift Package Manager examples for FlowSDK FFI.

## Prerequisites

- macOS with Swift toolchain
- Rust toolchain

## 1) Build bindings and native library

From repository root:

./scripts/build_swift_bindings.sh

This generates Swift bindings and copies libflowsdk_ffi into swift/lib.

## 2) Build the Swift package

From repository root:

LIBRARY_PATH="$PWD/swift/lib" swift build --package-path swift

## 3) Run TCP example

From repository root:

LIBRARY_PATH="$PWD/swift/lib" swift run --package-path swift TcpClientExample

Optional broker override:

LIBRARY_PATH="$PWD/swift/lib" swift run --package-path swift TcpClientExample broker.emqx.io 1883

## 4) Run QUIC example

From repository root:

LIBRARY_PATH="$PWD/swift/lib" swift run --package-path swift QuicClientExample

Optional broker override:

LIBRARY_PATH="$PWD/swift/lib" swift run --package-path swift QuicClientExample broker.emqx.io 14567

## Optional: TLS key logging for QUIC (Wireshark)

SSLKEYLOGFILE=~/tmp/sslkeylog.txt LIBRARY_PATH="$PWD/swift/lib" swift run --package-path swift QuicClientExample