簡體   English   中英

為什么無法正確調用我的橋接方法?

[英]Why Isn't My Bridged Method Being Called Properly?

我正在為iOS創建從iOSReact NativeHomeKit 我目前才剛剛起步,只是嘗試創建一個家庭用於測試目的。 我已經成功接受了info.plist NSHomeKitUsageDescription中設置的NSHomeKitUsageDescription

RNHomeKit.m

#import "RNHomeKit.h"
#import <HomeKit/HomeKit.h>
#import <React/RCTLog.h>

@implementation RNHomeKit

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(createHome) {
  RCTLog(@"FAKELY CREATING HOME");
  HMHomeManager *myHomeManager = [[HMHomeManager alloc] init];

  [myHomeManager addHomeWithName: @"Matt's Awesome Home" completionHandler:^(HMHome *home, NSError *error) {
    RCTLog(@"REALLYING CREATING HOME");
    if (!error) {
      RCTLog(@"Created Home : %@",home.name);
    } else {
      RCTLog(@"Error: %@", error);
    }
  }];
}

@end

RNHomekit.h

#import <Foundation/Foundation.h>
#import <HomeKit/Homekit.h>
#import <React/RCTBridgeModule.h>

@interface RNHomeKit : NSObject <RCTBridgeModule>

@end

我正在使用RNHomeKit.createHome();在主屏幕的componentDidMount()上調用我的createHome方法RNHomeKit.createHome(); FAKELY CREATING HOME正在被記錄,而REALLYING CREATING HOME卻從未被看到。 為什么我沒有點擊addHomeWithName

我嘗試對Native HomeKit示例應用程序進行逆向工程,並進行了一些更改以使其能夠正常工作。 不過,對於為什么我的原始實現無法正常工作的解釋會很棒!

RNHomeKit.h

#import <Foundation/Foundation.h>
#import <HomeKit/Homekit.h>
#import <React/RCTBridgeModule.h>

@interface RNHomeKit : NSObject <RCTBridgeModule, HMHomeManagerDelegate>

@property (strong, nonatomic) HMHomeManager *myHomeManager;

@end

RNHomeKit.m

#import "RNHomeKit.h"
#import <HomeKit/HomeKit.h>
#import <React/RCTLog.h>

@implementation RNHomeKit

@synthesize myHomeManager;

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(createHome) {
  RCTLog(@"FAKELY CREATING HOME");
  self.myHomeManager = [[HMHomeManager alloc] init];
  self.myHomeManager.delegate= self;

  [self.myHomeManager addHomeWithName: @"Matt's Awesome Home" completionHandler:^(HMHome *home, NSError *error) {
    RCTLog(@"REALLYING CREATING HOME");
    if (!error) {
      RCTLog(@"Created Home : %@",home.name);
    } else {
      RCTLog(@"Error: %@", error);
    }
  }];
}

@end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM