Skip to content

docs: add iOS SDK build and integration instructions (fixes #769) - #864

Open
samerzumot wants to merge 1 commit into
brainflow-dev:masterfrom
samerzumot:docs/issue-769-ios-sdk-instructions
Open

docs: add iOS SDK build and integration instructions (fixes #769)#864
samerzumot wants to merge 1 commit into
brainflow-dev:masterfrom
samerzumot:docs/issue-769-ios-sdk-instructions

Conversation

@samerzumot

Copy link
Copy Markdown

Description

Fixes #769.

This PR adds comprehensive iOS SDK build, installation, and app integration instructions to the BrainFlow documentation, modeled after the existing Android guide.

Context & Evaluation

  • Issue iOS SDK and instructions #769 ("iOS SDK and instructions"): While the Apple XCFramework build infrastructure (tools/apple/build_xcframeworks.sh, tools/apple/regenerate_artifacts.sh) and demo app (swift_package/examples/apps/ios/BrainFlowiOSDemo) were already present in the codebase, docs/BuildBrainFlow.rst previously lacked a dedicated iOS section parallel to the Android documentation.
  • Issue Add swift binding #327 ("Add swift binding"): Swift language bindings (swift_package/) are already complete with full API parity (BoardShim, DataFilter, MLModel) and CI tests, so Add swift binding #327 can be closed as completed.

Changes Made

  1. docs/BuildBrainFlow.rst:

    • Added a dedicated, top-level iOS section (:ref:ios-label``) covering:
      • Swift Package Manager (Recommended): Precompiled remote Swift package (BrainFlowSwiftPackageRemote with checksums) and local binary package (BrainFlowSwiftBinaryPackage).
      • Direct XCFramework Integration: Embedding and code-signing BoardController.xcframework, DataHandler.xcframework, and MLModule.xcframework in Xcode.
      • Permissions and Privacy Configuration: CoreBluetooth keys (NSBluetoothAlwaysUsageDescription, NSBluetoothPeripheralUsageDescription), network access, and PrivacyInfo.xcprivacy manifest requirements.
      • Quick Start Example: Minimal, working Swift code showing session initialization, streaming, and signal processing (DataFilter.perform_lowpass).
      • Compilation from Source: Step-by-step instructions for tools/apple/build_xcframeworks.sh and tools/apple/regenerate_artifacts.sh, artifact layout (XCFrameworks/, BrainFlowSwiftBinaryPackage, SwiftPMArtifacts/), and feature flags (BRAINFLOW_APPLE_BUILD_BLE=ON).
      • iOS Demo Application: Guide to running swift_package/examples/apps/ios/BrainFlowiOSDemo in Xcode and simulator (including --autorun smoke testing).
      • References: Links to AppleBinaryDistribution.rst, AppStoreReadiness.rst, and SwiftAPIParity.rst.
    • Added a cross-reference link to :ref:ios-label`` in the Swift precompiled libraries section.
  2. docs/SupportedBoards.rst:

    • Added - iOS to the supported platforms list for Streaming Board, Synthetic Board, and Playback Board.

Verification

  • Validated swift_package/Package.swift with swift package dump-package.
  • Verified scheme resolution and package graph for the iOS demo project with xcodebuild -list -project swift_package/examples/apps/ios/BrainFlowiOSDemo/BrainFlowiOSDemo.xcodeproj.
  • Verified CLI options and environment variables in tools/apple/build_xcframeworks.sh -h.

…-dev#769)

- Add dedicated iOS section in docs/BuildBrainFlow.rst with SPM, XCFramework, permissions, and compilation guides
- Add iOS cross-reference to the Swift section in BuildBrainFlow.rst
- Add iOS to supported platforms for Synthetic, Streaming, and Playback boards in docs/SupportedBoards.rst
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iOS SDK and instructions

1 participant