我正在尝试根据react-native的文档导出一个swift模块,但是当我尝试在我的javascript文件中调用此函数时遇到以下错误。我相信这个问题与在我的快速代码中调用方法有关async。所以我不确定async在react-native中创建本机模块时如何从我的swift文件导出和调用方法。
这是 AppleMusicAuth.swift 文件,其中包含async我尝试导出的方法
//
// AppleMusicAuth.swift
//
//
//
import Foundation
import MusicKit
@available(iOS 15.0, *)
@objc(AppleMusicAuth)
class AppleMusicAuth: NSObject {
@objc
func getAuthStatus() async -> Void {
let response = await MusicAuthorization.request()
print(response)
}
}
Run Code Online (Sandbox Code Playgroud)
以及我的 AppleMusicAuth.m 文件,该文件使用将RCT_EXTERN_METHOD模块导出到我的 JS 应用程序的方法
//
// AppleMusicAuth.m
//
//
//
#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>
@interface RCT_EXTERN_MODULE(AppleMusicAuth, NSObject)
RCT_EXTERN_METHOD(getAuthStatus)
@end
Run Code Online (Sandbox Code Playgroud)
以及导入和调用使用的模块和方法的Javascript文件
import { NativeModules } from 'react-native';
const { AppleMusicAuth } …Run Code Online (Sandbox Code Playgroud)