Ich baue gerade eine App in React Native und konfrontiert mit einem Problem, das ich nicht in der Lage sein konnte, in meinem RN framewok aufzulösen, und ich muss wahrscheinlich erwähnen, dass ich sehr bin neu mit Objective-C. Allerdings habe ich es geschafft, indem ich es in meiner AppDelegate.m-Datei aufgerufen habe. Aber wie kann ich diese String-Variable, die ich in meinem Appdelegate erstellt habe, an meine Javascript-Dateien übergeben?Übergeben einer Zeichenfolge von Obj-C auf React Native
Ich nahm einen kurzen Blick auf den NativeAppEventEmitter, aber es scheint etwas anderes zu sein. In meinem AppDelegate.m sieht es wie folgt aus:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
];
NSString *fbAccessToken = [FBSDKAccessToken currentAccessToken].tokenString;
return handled;
}
am NativeAppEventEmitter Trick von RN gegeben Suche habe ich versucht, sie umzusetzen. Aber es beschwert sich viel über meine Brücke.
#import "AppDelegate.h"
#import "RCTRootView.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import "RCTBridge.h"
#import "RCTBridgeModule.h"
#import "RCTEventDispatcher.h"
@implementation AppDelegate
RCT_EXPORT_MODULE();
@synthesize bridge = _bridge;
Wo ich in meinem AppDelegate.h
erklären ihn als: @property (nonatomic) NSString *bridge;
Aber wenn ich versuche, die eventDispatcher
es mir folgendes gibt zu verwenden: wenn
Die Daten werden nur auftreten, wenn ich die Anmeldung in meiner App durchführe. Also ich denke, es wird leer sein, wenn die App gestartet wird. Wäre das ein Problem? –
Ich habe meine Antwort auf Ihren Fall aktualisiert. Dies hängt möglicherweise nicht mit der Frage selbst zusammen, aber Sie können ['reactive-native-fbsdk'] (https://github.com/facebook/react-native-fbsdk) verwenden und native-JS-Kommunikation vermeiden. Sie finden ein Tutorial, wie Sie es richtig konfigurieren können (hier: https://blog.callstack.io/login-users-with-facebook-in-react-native-4b230b847899#.kyme1j6du). –
Danke! Ich werde versuchen, diese Arbeit dann zu machen. In Bezug auf die fbsdk, der Grund, warum ich es so mache, ist, weil ich in der Lage war, ein AccessStoken perfekt in hier zu generieren, aber nicht mit der fbsdk, Problem damit ist weiter in meiner Frage hier zu erklären: http: // stackoverflow. com/questions/37045983/issues-retrieving-fbsdk-access-token-und-user-id –