Platform
iOS
Objective-C APIs
The SDK is located with xcode-select and xcrun. Framework headers are parsed in place by the libclang that ships with Xcode. Extracted: classes, protocols, categories, properties, initializers, enums and options with exact values, structs, nullability and per-platform availability.
- APIs newer than
platform.ios.minVersionare guarded at run time. - Private (
_-prefixed) selectors are never generated (E005); iOS-unavailable APIs are skipped (E012). - Blocks: Flutter binds
NS_NOESCAPEblocks and escaping blocks with primitive arguments (withFutureforms for completion handlers); React Native binds all blocks with convertible values. Protocols can be implemented in JavaScript; on Flutter they need native trampolines (E004).
Swift-only APIs
Swift APIs that Objective-C cannot see are discovered with swift-symbolgraph-extract. For the representable subset (classes and structs; Int, Double, Bool, String, Date, Data, URL, other adapted types), the tool generates @objc adapter classes in Swift plus a podspec, then binds them like any Objective-C API. Closures, async, generics, tuples, collections, enums, protocols and throws are reported with reasons.
On three Swift-only SDK modules (Xcode 27.0), 89 of 446 WeatherKit members, 8 of 111 TipKit members and 71 of 3,466 Charts members are adaptable today; the generated adapters for all three compile.
Tested
Flutter: 28 integration tests on an iPhone 17 simulator (iOS 26.4), including Swift adapters and the showcase tasks. React Native: 19 self-tests on the same simulator. All of Foundation and UIKit generate bindings that analyze (Dart) or type-check (TypeScript) without errors.