美文网首页
集成React-Native 到原生项目的那些坑之Swift找不

集成React-Native 到原生项目的那些坑之Swift找不

作者: 爱猫的仙生 | 来源:发表于2017-11-30 14:37 被阅读0次

    最近在做swift项目集成react-native 通讯模块

    但是遇到一个系统崩溃死活找不到原因

    系统总是抛出异常说找不到方法 "method is not ...."

    网上总是千篇一律的在桥接文件引入头文件->建立一个私有.m文件用RCT_EXTERN_METHOD宏告诉js方法名-> 在swift 文件前面用@objc 加你实现的方法写出方法实现

    可是我按照这么写系统还是找不到我的方法实现

    折腾了半天,才发现新版的swift简直是愚蠢之极,需要在@objc中标注oc的方法名才能找到swift的方法实现,具体上代码

    //BridgeModuler.m

    #import <Foundation/Foundation.h>

    #import <React/RCTBridgeModule>

    @interface RCT_EXTERN_MODULE(BridgeManager, NSObject)

    RCT_EXTERN_METHOD(getToken:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)

    RCT_EXTERN_METHOD(logout)

    RCT_EXTERN_METHOD(getConfig:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)

    @end

    //BridgeManager.swift

    @objc(BridgeManager)

    class BridgeManager: NSObject {

    @objc(getToken:reject:) func getToken(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {

    }

    @objc(getConfig:reject:) func getConfig(resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {

    }

    @objc(logout) public func logout() {

    }

    相关文章

      网友评论

          本文标题:集成React-Native 到原生项目的那些坑之Swift找不

          本文链接:https://www.haomeiwen.com/subject/ivyvbxtx.html