我正在尝试将我的React-Native 0.33代码桥接到一个超级简单的Swift方法,遵循本指南,但我得到的只是show:(NSString *)name is not a recognized Objective-C method.
这是我的代码:
import Foundation
@objc(SwitchManager)
class SwitchManager: NSObject {
  @objc func show(name: String) -> Void {
    NSLog("%@", name);
  }
}
#import "RCTBridgeModule.h"
@interface RCT_EXTERN_MODULE(SwitchManager, NSObject)
RCT_EXTERN_METHOD(show:(NSString *)name)
@end
#import "RCTBridgeModule.h"
然后在我的index.ios.js文件中我正在导入SwitchManager import { SwitchManager } from 'NativeModules';并调用SwitchManager.show('One');.这是错误发生的地方.
不确定是什么问题.
我正在将 iOS 原生 SDK 集成到 React-Native 中。SDK.getCardData我想从 RN 中使用一个名为的函数。我的第一次尝试是在闭包内调用resolveand :reject
import Foundation
import SDK
@objc(SwiftComponentManager)
class SwiftComponentManager: NSObject {
  
  @objc
  func getCardData(_ resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
    let cardId: String = "test"
    let secret: String = "test"
    SDK.getCardData(cardId, secret: secret) { (cardData, error) in
      if (error != nil) {
        reject(String(format: "Card data request failed: %@", error!.localizedDescription))
      } else {
        let pan = cardData!.pan
        let cvv = cardData!.cvv
        resolve(String(format: "Card data fetched successfully, …