mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 21:33:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
| import ExpoModulesCore
 | |
| import React
 | |
| 
 | |
| public final class ExpoPushyReactDelegateHandler: ExpoReactDelegateHandler {
 | |
| 
 | |
|     #if EXPO_SUPPORTS_BUNDLEURL
 | |
|     // This code block compiles only if EXPO_SUPPORTS_BUNDLEURL is defined
 | |
|     // For expo-modules-core >= 1.12.0
 | |
| 
 | |
|     // Override bundleURL, which is the primary mechanism for these versions.
 | |
|     // Expo's default createBridge implementation should respect this.
 | |
|     override public func bundleURL(reactDelegate: ExpoReactDelegate) -> URL? {
 | |
|       let bundleURL = RCTPushy.bundleURL()
 | |
|       print("PushyHandler: Using bundleURL: \(bundleURL?.absoluteString ?? "nil")")
 | |
|       return bundleURL
 | |
|     }
 | |
| 
 | |
|     // No createBridge override needed here, rely on default behavior using the bundleURL override.
 | |
| 
 | |
|     #else
 | |
|     // This code block compiles only if EXPO_SUPPORTS_BUNDLEURL is NOT defined
 | |
|     // For expo-modules-core < 1.12.0
 | |
| 
 | |
|     // No bundleURL override possible here.
 | |
| 
 | |
|     // createBridge is the mechanism to customize the URL here.
 | |
|     // We completely override it and do not call super.
 | |
|     override public func createBridge(reactDelegate: ExpoReactDelegate, bridgeDelegate: RCTBridgeDelegate, launchOptions: [AnyHashable: Any]?) -> RCTBridge? {
 | |
|       let bundleURL = RCTPushy.bundleURL()
 | |
|       // Print the URL being provided to the initializer
 | |
|       print("PushyHandler: createBridge bundleURL: \(bundleURL?.absoluteString ?? "nil")")
 | |
| 
 | |
|       // Directly create the bridge using the bundleURL initializer.
 | |
|       // Pass nil for moduleProvider, assuming default behavior is sufficient.
 | |
|       // WARNING: If bundleURL is nil, this initialization might fail silently or crash.
 | |
|       return RCTBridge(bundleURL: bundleURL, moduleProvider: nil, launchOptions: launchOptions)
 | |
|     }
 | |
| 
 | |
|     #endif // EXPO_SUPPORTS_BUNDLEURL
 | |
| }
 | 
