Skip to content

Configuration

Hotwire Native provides a few options to customize your iOS app. We recommend making all configuration changes before instantiating a Navigator, ideally in AppDelegate.swift.

General

Turbo

Hotwire.config.defaultViewController = { url in
    CustomViewController(url: url)
}
Hotwire.config.defaultNavigationController = {
    CustomNavigationController()
}

Path Configuration

Load path configuration with Hotwire.loadPathConfiguration(from:), like so:

let localPathConfigURL = Bundle.main.url(forResource: "path-configuration", withExtension: "json")!
let remotePathConfigURL = URL(string: "https://example.com/configurations/ios_v1.json")!

Hotwire.loadPathConfiguration(from: [
    .file(localPathConfigURL),
    .server(remotePathConfigURL)
])

Bridge

Register bridge components with Hotwire.registerBridgeComponents(), like so:

Hotwire.registerBridgeComponents([
    FormComponent.self,
    MenuComponent.self,
    OverflowMenuComponent.self,
    // ...
])

Next: Reference