我正在制作一个React Native应用,需要在iOS中编写一些本机代码。
这是我的快速文件代码,其中包含需要分派到React Native的事件
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
// logMessage("didEnterRegion \(region.identifier)")
NSLog("Found a beacon %d", region.identifier)
}
func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
//logMessage("didExitRegion \(region.identifier)")
NSLog("Lost a beacon %d", region.identifier)
}
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
//logMessage("didRangeBeacons \(region.identifier). Beacon count is \(beacons.count)")
NSLog("Beacon found %d", beacons.count)
}
现在要修补这些事件,我需要一个实现文件
@interface RCT_EXTERN_MODULE(BeaconManager, NSObject)
RCT_EXTERN_METHOD(initializeCoreLocation:
(RCTResponseSenderBlock)callback);
RCT_EXTERN_METHOD(checkAuthorization:
(RCTResponseSenderBlock)callback);
RCT_EXTERN_METHOD(initializeNotifications:
(RCTResponseSenderBlock)callback);
RCT_EXTERN_METHOD(initializeMonitoring: (RCTResponseSenderBlock)callback);
@end
我试图修补一个类以发送事件并公开一些方法,但是Swift不允许这样做,因为我已经公开了一些方法。
@interface RCT_EXTERN_MODULE(BeaconManager, NSObject)
我想做这样的事情:
@interface RCT_EXTERN_MODULE(BeaconManager, NSObject, RCTEventEmitter)
我试图为同一个类创建一个新的接口,但是它不起作用,并提示它是重复的。