Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

s #3

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

s #3

Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Upgrade to tuya iOS SDK version 5.8.0
bb441db committed May 28, 2024
commit 0aec17adea6c902a46732f71340aa7f1bdc50c98
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -31,17 +31,17 @@ Put the secure image into the root path of your project as [explained here](http
In `ios/AppDelegate.m`, add the following import;

```obj-c
#import <TuyaSmartHomeKit/TuyaSmartKit.h>
#import <ThingSmartHomeKit/ThingSmartKit.h>
```

Then, under the `roootView.backgroundColor` line in the same file, add this:

```obj-c
#ifdef DEBUG
[[TuyaSmartSDK sharedInstance] setDebugMode:YES];
[[ThingSmartSDK sharedInstance] setDebugMode:YES];
#endif

[[TuyaSmartSDK sharedInstance] startWithAppKey:@"xxx" secretKey:@"xxx"];
[[ThingSmartSDK sharedInstance] startWithAppKey:@"xxx" secretKey:@"xxx"];
```

Now replace the `xxx` with your app key and secret key.
4 changes: 2 additions & 2 deletions RNTuyaSdk.podspec
Original file line number Diff line number Diff line change
@@ -10,11 +10,11 @@ Pod::Spec.new do |s|

s.authors = package['author']
s.homepage = package['homepage']
s.platforms = { :ios => "9.0" }
s.platforms = { :ios => "12.0" }

s.source = { :git => "https://github.com/owowagency/react-native-tuya.git", :tag => "v#{s.version}" }
s.source_files = "ios/**/*.{h,m}"

s.dependency 'React'
s.dependency 'TuyaSmartHomeKit', '~> 3.29.5'
s.dependency 'ThingSmartHomeKit', '~> 5.8.0'
end
6 changes: 4 additions & 2 deletions ios/RNTuyaSdk.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
@@ -429,7 +429,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -466,7 +466,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -482,6 +482,7 @@
"$(SRCROOT)/../../../React/**",
"$(SRCROOT)/../../react-native/React/**",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LIBRARY_SEARCH_PATHS = "$(inherited)";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = RNTuyaSdk;
@@ -498,6 +499,7 @@
"$(SRCROOT)/../../../React/**",
"$(SRCROOT)/../../react-native/React/**",
);
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
LIBRARY_SEARCH_PATHS = "$(inherited)";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = RNTuyaSdk;
34 changes: 17 additions & 17 deletions ios/RNTuyaSdk/Activator/TuyaRNActivatorModule.m
Original file line number Diff line number Diff line change
@@ -7,9 +7,9 @@
//

#import "TuyaRNActivatorModule.h"
#import <TuyaSmartActivatorKit/TuyaSmartActivatorKit.h>
#import <TuyaSmartBaseKit/TuyaSmartBaseKit.h>
#import <TuyaSmartDeviceKit/TuyaSmartDeviceKit.h>
#import <ThingSmartActivatorKit/ThingSmartActivatorKit.h>
#import <ThingSmartBaseKit/ThingSmartBaseKit.h>
#import <ThingSmartDeviceKit/ThingSmartDeviceKit.h>
#import "TuyaRNUtils+Network.h"
#import "YYModel.h"

@@ -23,7 +23,7 @@

static TuyaRNActivatorModule * activatorInstance = nil;

@interface TuyaRNActivatorModule()<TuyaSmartActivatorDelegate>
@interface TuyaRNActivatorModule()<ThingSmartActivatorDelegate>

@property(copy, nonatomic) RCTPromiseResolveBlock promiseResolveBlock;
@property(copy, nonatomic) RCTPromiseRejectBlock promiseRejectBlock;
@@ -52,26 +52,26 @@ @implementation TuyaRNActivatorModule
NSString *type = params[kTuyaRNActivatorModuleActivatorMode];
// NSString *token = params[kTuyaRNActivatorModuleActivatorToken];

TYActivatorMode mode = TYActivatorModeEZ;
ThingActivatorMode mode = ThingActivatorModeEZ;
if ([type isEqualToString:@"TY_EZ"]) {
mode = TYActivatorModeEZ;
mode = ThingActivatorModeEZ;
} else if([type isEqualToString:@"TY_AP"]) {
mode = TYActivatorModeAP;
mode = ThingActivatorModeAP;
} else if([type isEqualToString:@"TY_QR"]) {
mode = TYActivatorModeQRCode;
mode = ThingActivatorModeQRCode;
}

if (activatorInstance == nil) {
activatorInstance = [TuyaRNActivatorModule new];
}

[TuyaSmartActivator sharedInstance].delegate = activatorInstance;
[ThingSmartActivator sharedInstance].delegate = activatorInstance;
activatorInstance.promiseResolveBlock = resolver;
activatorInstance.promiseRejectBlock = rejecter;

[[TuyaSmartActivator sharedInstance] getTokenWithHomeId:homeId.longLongValue success:^(NSString *result) {
[[ThingSmartActivator sharedInstance] getTokenWithHomeId:homeId.longLongValue success:^(NSString *result) {
//开始配置网络:
[[TuyaSmartActivator sharedInstance] startConfigWiFi:mode ssid:ssid password:password token:result timeout:time.doubleValue];
[[ThingSmartActivator sharedInstance] startConfigWiFi:mode ssid:ssid password:password token:result timeout:time.doubleValue];
} failure:^(NSError *error) {
[TuyaRNUtils rejecterWithError:error handler:rejecter];
}];
@@ -80,7 +80,7 @@ @implementation TuyaRNActivatorModule

RCT_EXPORT_METHOD(stopConfig:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {

[[TuyaSmartActivator sharedInstance] stopConfigWiFi];
[[ThingSmartActivator sharedInstance] stopConfigWiFi];
}

//ZigBee子设备配网需要ZigBee网关设备云在线的情况下才能发起,且子设备处于配网状态。
@@ -94,25 +94,25 @@ @implementation TuyaRNActivatorModule
activatorInstance = [TuyaRNActivatorModule new];
}

[TuyaSmartActivator sharedInstance].delegate = activatorInstance;
[ThingSmartActivator sharedInstance].delegate = activatorInstance;
activatorInstance.promiseResolveBlock = resolver;
activatorInstance.promiseRejectBlock = rejecter;

[[TuyaSmartActivator sharedInstance] activeSubDeviceWithGwId:deviceId timeout:time.doubleValue];
[[ThingSmartActivator sharedInstance] activeSubDeviceWithGwId:deviceId timeout:time.doubleValue];

}

RCT_EXPORT_METHOD(stopNewGwSubDevActivatorConfig:(NSDictionary *)params resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {

NSString *deviceId = params[kTuyaRNActivatorModuleDeviceId];
[[TuyaSmartActivator sharedInstance] stopActiveSubDeviceWithGwId:deviceId];
[[ThingSmartActivator sharedInstance] stopActiveSubDeviceWithGwId:deviceId];
}

/**
获取wifi信息
*/
RCT_EXPORT_METHOD(getCurrentWifi:(NSDictionary *)params success:(RCTResponseSenderBlock)succ failure:(RCTResponseErrorBlock)fail) {
NSString *ssid = [TuyaSmartActivator currentWifiSSID];
NSString *ssid = [ThingSmartActivator currentWifiSSID];
if ([ssid isKindOfClass:[NSString class]] && ssid.length > 0) {
succ(@[ssid]);
} else {
@@ -136,7 +136,7 @@ @implementation TuyaRNActivatorModule
#pragma mark -
#pragma mark - delegate
/// 配网状态更新的回调,wifi单品,zigbee网关,zigbee子设备
- (void)activator:(TuyaSmartActivator *)activator didReceiveDevice:(TuyaSmartDeviceModel *)deviceModel error:(NSError *)error {
- (void)activator:(ThingSmartActivator *)activator didReceiveDevice:(ThingSmartDeviceModel *)deviceModel error:(NSError *)error {

if (error) {
if (activatorInstance.promiseRejectBlock) {
16 changes: 8 additions & 8 deletions ios/RNTuyaSdk/BLEActivator/TuyaBLERNActivatorModule.m
Original file line number Diff line number Diff line change
@@ -8,10 +8,10 @@

#import "TuyaBLERNActivatorModule.h"
#import <React/RCTBridgeModule.h>
#import <TuyaSmartActivatorKit/TuyaSmartActivatorKit.h>
#import <TuyaSmartBaseKit/TuyaSmartBaseKit.h>
#import <TuyaSmartDeviceKit/TuyaSmartDeviceKit.h>
#import <TuyaSmartBLEKit/TuyaSmartBLEWifiActivator.h>
#import <ThingSmartActivatorKit/ThingSmartActivatorKit.h>
#import <ThingSmartBaseKit/ThingSmartBaseKit.h>
#import <ThingSmartDeviceKit/ThingSmartDeviceKit.h>
#import <ThingSmartBLEKit/ThingSmartBLEWifiActivator.h>
#import "TuyaRNUtils+Network.h"
#import "YYModel.h"

@@ -24,7 +24,7 @@
// Bluetooth Pairing
static TuyaBLERNActivatorModule * activatorInstance = nil;

@interface TuyaBLERNActivatorModule()<TuyaSmartBLEWifiActivatorDelegate>
@interface TuyaBLERNActivatorModule()<ThingSmartBLEWifiActivatorDelegate>

@property(copy, nonatomic) RCTPromiseResolveBlock promiseResolveBlock;
@property(copy, nonatomic) RCTPromiseRejectBlock promiseRejectBlock;
@@ -40,7 +40,7 @@ @implementation TuyaBLERNActivatorModule
activatorInstance = [TuyaBLERNActivatorModule new];
}

[TuyaSmartBLEWifiActivator sharedInstance].bleWifiDelegate = activatorInstance;
[ThingSmartBLEWifiActivator sharedInstance].bleWifiDelegate = activatorInstance;
activatorInstance.promiseResolveBlock = resolver;
activatorInstance.promiseRejectBlock = rejecter;

@@ -51,7 +51,7 @@ @implementation TuyaBLERNActivatorModule
NSString *password = params[kTuyaRNActivatorModulePassword];
long long int homeIdValue = [homeId longLongValue];

[[TuyaSmartBLEWifiActivator sharedInstance] startConfigBLEWifiDeviceWithUUID:deviceId homeId:homeIdValue productId:productId ssid:ssid password:password timeout:180 success:^{
[[ThingSmartBLEWifiActivator sharedInstance] startConfigBLEWifiDeviceWithUUID:deviceId homeId:homeIdValue productId:productId ssid:ssid password:password timeout:180 success:^{
// Wait for activation
} failure:^ {
if (activatorInstance.promiseRejectBlock) {
@@ -61,7 +61,7 @@ @implementation TuyaBLERNActivatorModule
}];
}

- (void)bleWifiActivator:(TuyaSmartBLEWifiActivator *)activator didReceiveBLEWifiConfigDevice:(TuyaSmartDeviceModel *)deviceModel error:(NSError *)error {
- (void)bleWifiActivator:(ThingSmartBLEWifiActivator *)activator didReceiveBLEWifiConfigDevice:(ThingSmartDeviceModel *)deviceModel error:(NSError *)error {
if (!error && deviceModel) {
if (activatorInstance.promiseResolveBlock) {
self.promiseResolveBlock([deviceModel yy_modelToJSONObject]);
16 changes: 8 additions & 8 deletions ios/RNTuyaSdk/BLEScanner/TuyaBLERNScannerModule.m
Original file line number Diff line number Diff line change
@@ -7,17 +7,17 @@
//

#import "TuyaBLERNScannerModule.h"
#import <TuyaSmartActivatorKit/TuyaSmartActivatorKit.h>
#import <TuyaSmartBaseKit/TuyaSmartBaseKit.h>
#import <TuyaSmartDeviceKit/TuyaSmartDeviceKit.h>
#import <TuyaSmartBLEKit/TuyaSmartBLEManager+Biz.h>
#import <ThingSmartActivatorKit/ThingSmartActivatorKit.h>
#import <ThingSmartBaseKit/ThingSmartBaseKit.h>
#import <ThingSmartDeviceKit/ThingSmartDeviceKit.h>
#import <ThingSmartBLEKit/ThingSmartBLEManager+Biz.h>
#import "TuyaRNUtils+Network.h"
#import "YYModel.h"

// Bluetooth Pairing
static TuyaBLERNScannerModule * scannerInstance = nil;

@interface TuyaBLERNScannerModule()<TuyaSmartBLEManagerDelegate>
@interface TuyaBLERNScannerModule()<ThingSmartBLEManagerDelegate>

@property(copy, nonatomic) RCTPromiseResolveBlock promiseResolveBlock;
@property(copy, nonatomic) RCTPromiseRejectBlock promiseRejectBlock;
@@ -33,14 +33,14 @@ @implementation TuyaBLERNScannerModule
scannerInstance = [TuyaBLERNScannerModule new];
}

[TuyaSmartBLEManager sharedInstance].delegate = scannerInstance;
[ThingSmartBLEManager sharedInstance].delegate = scannerInstance;
scannerInstance.promiseResolveBlock = resolver;
scannerInstance.promiseRejectBlock = rejecter;

[[TuyaSmartBLEManager sharedInstance] startListening:YES];
[[ThingSmartBLEManager sharedInstance] startListening:YES];
}

- (void)didDiscoveryDeviceWithDeviceInfo:(TYBLEAdvModel *)deviceInfo {
- (void)didDiscoveryDeviceWithDeviceInfo:(ThingBLEAdvModel *)deviceInfo {
if (scannerInstance.promiseResolveBlock) {
self.promiseResolveBlock([deviceInfo yy_modelToJSONObject]);
}
10 changes: 5 additions & 5 deletions ios/RNTuyaSdk/Core/TuyaRNCoreModule.m
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
//

#import "TuyaRNCoreModule.h"
#import <TuyaSmartBaseKit/TuyaSmartBaseKit.h>
#import <ThingSmartBaseKit/ThingSmartBaseKit.h>
#import <CoreGraphics/CoreGraphics.h>
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
@@ -67,12 +67,12 @@ @implementation TuyaRNCoreModule
NSDictionary *postData = [parameters objectForKey:@"postData"];
NSString *version = [parameters objectForKey:@"version"];

TuyaSmartRequest *request = [TuyaSmartRequest new];
ThingSmartRequest *request = [ThingSmartRequest new];

[request requestWithApiName:apiName postData:postData version:version success:^(id result) {
if ([result isKindOfClass:[NSDictionary class]] || [result isKindOfClass:[NSArray class]]) {
if (resolver) {
resolver([result tysdk_JSONString]);
resolver([result thingsdk_JSONString]);
}
} else {
if (resolver) {
@@ -106,8 +106,8 @@ @implementation TuyaRNCoreModule
NSString *lon = params[kTuyaCoreModuleParamLon];
if ([lat isKindOfClass:[NSString class]] && lat.length > 0
&& [lon isKindOfClass:[NSString class]] && lon.length > 0) {
[[TuyaSmartSDK sharedInstance] setValue:lat forKey:@"latitude"];
[[TuyaSmartSDK sharedInstance] setValue:lon forKey:@"longitude"];
[[ThingSmartSDK sharedInstance] setValue:lat forKey:@"latitude"];
[[ThingSmartSDK sharedInstance] setValue:lon forKey:@"longitude"];
[self.locationManager stopUpdatingLocation];
}
}
18 changes: 9 additions & 9 deletions ios/RNTuyaSdk/DeviceControl/TuyaRNDeviceModule.m
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@

#import "TuyaRNDeviceModule.h"
#import "TuyaRNDeviceListener.h"
#import <TuyaSmartDeviceKit/TuyaSmartDeviceKit.h>
#import <ThingSmartDeviceKit/ThingSmartDeviceKit.h>
#import "TuyaRNUtils.h"
#import "YYModel.h"

@@ -20,7 +20,7 @@

@interface TuyaRNDeviceModule()

@property (strong, nonatomic) TuyaSmartDevice *smartDevice;
@property (strong, nonatomic) ThingSmartDevice *smartDevice;

@end

@@ -48,7 +48,7 @@ @implementation TuyaRNDeviceModule
return;
}

TuyaSmartDevice *device = [TuyaSmartDevice deviceWithDeviceId:deviceId];
ThingSmartDevice *device = [ThingSmartDevice deviceWithDeviceId:deviceId];

// 移除监听设备
[TuyaRNDeviceListener removeDevice:device type:TuyaRNDeviceListenType_DeviceInfo];
@@ -155,7 +155,7 @@ @implementation TuyaRNDeviceModule

// 下发升级指令:
RCT_EXPORT_METHOD(startOta:(NSDictionary *)params resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
TuyaSmartDevice *device = [TuyaSmartDevice deviceWithDeviceId:params[@"devId"]];
ThingSmartDevice *device = [ThingSmartDevice deviceWithDeviceId:params[@"devId"]];
[device upgradeFirmware:[params[@"type"] integerValue] success:^{
if (resolver) {
resolver(@"success");
@@ -168,11 +168,11 @@ @implementation TuyaRNDeviceModule
// 查询固件升级信息:
RCT_EXPORT_METHOD(getOtaInfo:(NSDictionary *)params resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {

TuyaSmartDevice *device = [TuyaSmartDevice deviceWithDeviceId:params[@"devId"]];
[device getFirmwareUpgradeInfo:^(NSArray<TuyaSmartFirmwareUpgradeModel *> *upgradeModelList) {
ThingSmartDevice *device = [ThingSmartDevice deviceWithDeviceId:params[@"devId"]];
[device getFirmwareUpgradeInfo:^(NSArray<ThingSmartFirmwareUpgradeModel *> *upgradeModelList) {

NSMutableArray *res = [NSMutableArray array];
for (TuyaSmartFirmwareUpgradeModel *item in upgradeModelList) {
for (ThingSmartFirmwareUpgradeModel *item in upgradeModelList) {
NSDictionary *dic = [item yy_modelToJSONObject];
[res addObject:dic];
}
@@ -189,12 +189,12 @@ @implementation TuyaRNDeviceModule


#pragma mark -
- (TuyaSmartDevice *)smartDeviceWithParams:(NSDictionary *)params {
- (ThingSmartDevice *)smartDeviceWithParams:(NSDictionary *)params {
NSString *deviceId = params[kTuyaDeviceModuleDevId];
if(deviceId.length == 0) {
return nil;
}
return [TuyaSmartDevice deviceWithDeviceId:deviceId];
return [ThingSmartDevice deviceWithDeviceId:deviceId];
}


Loading