Platform Capabilities
Hybrid clients target Android, iOS, Windows and macOS through Mac Catalyst. The Wisej UI runs in the client's WebView; device operations use native handlers. A shared API or a successful build does not establish that every operation works on every target.
Start with Getting Started, then choose Local or Remote hosting. Both modes depend on the same native client for device access.
Check capabilities on the device
Check Device.Valid before using Hybrid integrations in an application that can also run in a browser. Use each module's availability properties, request its permissions, and handle failure and user cancellation. Hardware, OS version, entitlements and installed apps can change the result.
| Operation | Reference | Setup or example |
|---|---|---|
| Media capture | DeviceMedia | Camera permission and a device with a camera |
| Email composition | DeviceEmail | |
| External app launching | DeviceLauncher | Launch External Apps |
| Haptics and vibration | DeviceHapticFeedback, DeviceVibration | Haptic Feedback, Vibration |
| Local notifications | DeviceLocalNotification | Notifications |
| Device permissions | DevicePermissions | Configure the native client's manifest or Info.plist |
Released extension coverage
The following describes implementation coverage in the 4.1.7 packages, released on 3 November 2026. The released pairs are core Hybrid, Authentication, DocumentScanner and MLKit. Package contents and source coverage do not establish that every operation works on every device. See Release Notes for this release's changes.
| Module | Android | iOS | Windows | macOS / Mac Catalyst |
|---|---|---|---|---|
| Authentication | Packaged implementation | Packaged implementation | Packaged implementation | Packaged implementation |
| CameraPreview, included with MLKit | Packaged implementation | Packaged implementation | No embedded preview implementation | No embedded preview implementation |
| DocumentScanner capture | Packaged implementation | Packaged implementation | Multipage JPEG capture | Unsupported |
| DocumentScanner image OCR | Packaged implementation | Packaged implementation | Packaged implementation | Packaged implementation |
| MLKit image barcode and OCR processing | Packaged implementation | Packaged implementation | Packaged implementation | Packaged implementation |
| MLKit modal barcode scanner | Packaged implementation | Packaged implementation | Packaged implementation | Packaged implementation |
| MLKit native text-scanner dialog | Mobile text-scanner page | Mobile text-scanner page | Native dialog | Native dialog; live camera recognition unvalidated |
Packaged implementation means the released assemblies contain an implementation for that operation. It does not mean the operation passed physical-device tests on every target. In particular, desktop image processing, scanner-dialog lifecycle checks and live camera recognition are separate checks. Mac Catalyst live-camera text recognition has not been validated. Desktop scanner dialogs do not add the mobile embedded preview controls to Windows or Mac Catalyst.
Bluetooth, USB and Notifications have source and runtime work, but their extension assemblies are not included in the eight 4.1.7 packages. Runtime internals alone do not constitute a released extension package. Their hardware and provider validation remains incomplete. Mesa is a separate integration for supported Android vendor hardware and is excluded from public NuGet distribution.
For biometric setup, package pairing and registration, see Hybrid Extensions. For document capture versus OCR, see Document Scanner. Remote Push Notifications remains work in progress.
Apple and Windows development
iOS and Mac Catalyst builds require a Mac, a compatible Xcode installation, the matching .NET SDK and MAUI workloads, and signing configuration for the intended device or distribution method. See macOS Desktop Development and the sample repository setup.
Windows uses WebView2. Validate the application on its intended Windows version, including native permissions, notification behavior and media hardware. Desktop support in the core runtime does not add a desktop handler to an extension that only implements mobile platforms.