Некоторые проблемы при построении моста для реакции нативной на вызов функции swift
Я знаю, что для вызова функции Swift из React Native придется строить мост с помощью OC. Вот что я делаю.
У меня есть библиотека под названием "RNUtility".
RNUtility-Bridging-Header.h // Заголовок моста
#if __has_include("RCTBridgeModule.h")
#import "RCTBridgeModule.h"
#else
#import <React/RCTBridgeModule.h>
#endif
RNUtility.m // OC Bridge
#if __has_include("RCTBridgeModule.h")
#import "RCTBridgeModule.h"
#else
#import <React/RCTBridgeModule.h>
#endif
#import <Foundation/Foundation.h>
//For what I know, the following lines expose RNUtility swift to React Native with another name RNU
@interface RCT_EXTERN_REMAP_MODULE(RNU, RNUtility, NSObject)
//The following should expose the testSwift method in RNUtility Swift
RCT_EXTERN_METHOD(testSwift: (RCTPromiseResolveBlock)resolve rejecter: (RCTPromiseRejectBlock)reject)
@end
RNUtility.swift
import Foundation
@objc(RNFunction)
class RNFunction: NSObject {
@objc //I already added the _
func testSwift(_ resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
resolve("yes")
}
}
App.js
...
import RNU from 'react-native-ultility'
...
export default class App extends Component<Props> {
render() {
const name = RNU.testSwift();
return (
<View style={styles.container}>
<Text>{name}</Text>
</View>
);
}
}
...
Но я получил эту ошибку:
ld: library not found for -lswiftSwiftOnoneSupport for architecture arm64
Я не знаю, правильный ли мой код, но я должен сначала решить эту ошибку.