Bonjour,
J'ai crée un POD avec du langage Swift qui est un SDK que l'on peut intégrer dans une application native
Aujourd'hui je souhaite que ce pod puisse être installé dans une application ReactNative et que les classes Bridge puissent être intégré dans mon Pod et interprété par l'application ReactNative

J'ai donc ajouté deux classes dans mon Pod :

La classe Swift qui va faire le lien entre le bridge et mon code existant

RCTSDKCommonModule.swift

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
@objc(RCTSDKCommonModule)
class RCTSDKCommonModule: NSObject {

@objc
  func setApiUrl(_ host: String) -> Void {
    Keys.setApiUrl(apiUrl: host)
  }

}
et mon fichier Objective C qui fera l'interface entre mon application ReactNative et mes fonctions Swift :

RCTSDKCommonModuleBridge.m

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define HAS_REACT_NATIVE_HEADER __has_include(<React/RCTBridgeModule.h>)

#if HAS_REACT_NATIVE_HEADER
#import <React/RCTBridgeModule.h>
#endif

@interface RCT_EXTERN_MODULE(RCTSDKCommonModule, NSObject)

RCT_EXTERN_METHOD(setApiUrl: (NSString *)host)

+ (BOOL)requiresMainQueueSetup
{
  return YES;
}

@end
On peut constater que je conditionne mon code avec des macros pour que mon code compile que dans une application ReactNative et non dans le Worskspace du pod ou dans un autre contexte

Mais lorsque je deploie le pod et que je fais un pod install et que je lance l'application ReactNative, la fonction setApiUrl n'est pas reconnue, j'ai un crash
Comment faire donc pour que je puisse avoir ce fichier objective c dans mon pod et que cela fonctionne ?
En vous remerciant pas avance