Как добавить код Swift в собственную библиотеку React? - PullRequest
0 голосов
/ 09 сентября 2018

Я создал собственную библиотеку React. В нативном коде iOS в нем я импортировал фреймворк Swift. Когда я импортирую эту библиотеку React в другой проект и вызываю метод showToast, я получаю эту ошибку: Exception 'showToast: is not a recognized Objective-C method'

Я получил свои коды ниже, если это поможет;

вот мой RNToastLib.m:

#import "RNToastLib.h"
#import <Foundation/Foundation.h>

@implementation RCT_EXTERN_MODULE(ToastManager, NSObject)

RCT_EXTERN_METHOD(showToast:(NSString *)text)

@end

вот мой RNToastLib.h:

#if __has_include("RCTBridgeModule.h")
#import "RCTBridgeModule.h"
#else
#import <React/RCTBridgeModule.h>
#endif

@interface RNToastLib : NSObject <RCTBridgeModule>
@end

вот мой ToastManager.Swift:

import Foundation
import Toaster

@objc(ToastManager)
class ToastManager: NSObject {

  @objc func showToast(_ text: String) {
    Toast(text: text, duration: Delay.short).show();
  }
}

вот мой RNToastLib-Bridging-Header.h:

#import "RCTBridgeModule.h"

и вот мой index.js:

import {NativeModules} from 'react-native';

const {ToastManager} = NativeModules;

export default class ToastLib {

    static showToast(text) {
        ToastManager.showToast(text);
    }
}
...