Fast Integration with Smart Residence App SDK for iOS

Last Updated on : 2022-03-03 06:40:36download

This topic describes how to use CocoaPods to quickly integrate Tuya Smart Residence App SDK for iOS into your project. The SDK requires iOS 10.0 or later.

Integrate with the SDK

Use CocoaPods for fast integration

Before you get started, add the following code block to the Podfile:

platform :ios, '10.0'

target 'Your_Project_Name' do
	pod 'TuyaSmartResidenceKit'
end

In the root directory of your project, run pod update.

For more information about CocoaPods, see CocoaPods Guides.

Initialize the SDK

  1. Open the project settings, click Target > General, and then modify Bundle Identifier to the iOS Bundle ID set on the Tuya IoT Development Platform.

  2. Import the security image to the root directory of the project, and rename it as t_s.bmp. Go to Project Settings > Target > Build Phases, and add this image to Copy Bundle Resources.
    Fast Integration with Smart Residence App SDK for iOS

    Fast Integration with Smart Residence App SDK for iOS
  3. Add the following content to the PrefixHeader.pch file:

    #import <TuyaSmartResidenceKit/TuyaSmartResidenceKit.h>
    

    Add the following content to the bridging header file xxx_Bridging-Header.h:

    #import <TuyaSmartResidenceKit/TuyaSmartResidenceKit.h>
    
  4. Open the AppDelegate.m file and initialize the SDK in AppDelegate application:didFinishLaunchingWithOptions:.

Configure the SDK

- (void)startWithAppKey:(NSString *)appKey secretKey:(NSString *)secretKey;

Parameters

Parameter Description
appKey AppKey
secretKey AppSecret

Example

ObjC:

[[TuyaSmartSDK sharedInstance] startWithAppKey:<#your_app_key#> secretKey:<#your_secret_key#>];

Swift:

 TuyaSmartSDK.sharedInstance()?.start(withAppKey: <#your_app_key#>, secretKey: <#your_secret_key#>)

Now, you are ready for app development.

Enable the debug mode

During the development, you can enable the debug mode and print logs for troubleshooting.

ObjC:

#ifdef DEBUG
    [[TuyaSmartSDK sharedInstance] setDebugMode:YES];
#else
#endif

Swift:

#if DEBUG
   TuyaSmartSDK.sharedInstance()?.debugMode = true
#else
#endif

Configure multilingual settings

The returned error messages and other UI text are displayed in languages as configured in the multilingual settings of your project and users’ mobile phone system languages.

To support a certain language, add it to Localization of your project.

In the following example, a demo app is used to describe the process of app development with the App SDK. Before the development of your app, we recommend that you run the demo app.

Run the demo app

Prepare the demo

In the Preparation topic, get the AppKey, AppSecret, and security image for iOS. Make sure that the BundleId, AppKey, AppSecret, and security image are consistent with those used on the Tuya IoT Development Platform. Any mismatch will cause the SDK development to be failed.

Demo features

The demo app is coded in Objective-C. You can get the sample in Objective-C on GitHub. The following features are supported:

  • User registration and login
  • Space management
  • Access control
  • Device management
  • Smart scenes

Demo app:

Fast Integration with Smart Residence App SDK for iOS Fast Integration with Smart Residence App SDK for iOS Fast Integration with Smart Residence App SDK for iOS

Run the sample

  1. Initializes the SDK.
  2. In the demo directory, run pod update.

FAQ

  • Problem: When an API request is made, an error message is returned in the following response:

    {
    	"success" : false,
    	"errorCode" : "SING_VALIDATE_FALED",
    	"status" : "error",
    	"errorMsg" : "Permission Verification Failed",
    	"t" : 1583208740059
    }
    
  • Solution: Make sure that BundleId, AppKey, AppSecret, and the security image are consistent with those used on the Tuya IoT Development Platform. Any mismatch will cause the authentication to be failed. For more information, see Preparation.