Files
Schnappix/node_modules/expo-modules-core/ios/ReactDelegates/ExpoReactDelegateHandler.swift
T

42 lines
1.2 KiB
Swift

// Copyright 2018-present 650 Industries. All rights reserved.
/**
The handler for `ExpoReactDelegate`. A module can implement a handler to process react instance creation.
*/
@objc(EXReactDelegateHandler)
open class ExpoReactDelegateHandler: NSObject {
public override required init() {}
/**
If this module wants to handle React instance and the root view creation, it can return the instance.
Otherwise return nil.
*/
@objc
open func createReactRootView(
reactDelegate: ExpoReactDelegate,
moduleName: String,
initialProperties: [AnyHashable: Any]?,
launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> UIView? {
return nil
}
/**
Clients could override this getter to serve the latest bundleURL for React instance.
For example, expo-updates uses this to serve the newer bundleURL from `Updates.reloadAsync()`.
*/
@objc
open func bundleURL(reactDelegate: ExpoReactDelegate) -> URL? {
return nil
}
/**
If this module wants to handle `UIViewController` creation for `RCTRootView`, it can return the instance.
Otherwise return nil.
*/
@objc
open func createRootViewController() -> UIViewController? {
return nil
}
}