Todos los productos
Search
Centro de documentos

IoT Platform:Compruebe y conecte un dispositivo

Última actualización: Sep 08, 2026

Este tema describe cómo inicializar Link SDK for iOS para establecer una conexión entre un dispositivo e IoT Platform.

Contexto

Link SDK for iOS solo admite el método de verificación de certificado único por dispositivo. Para obtener más información, consulte Unique-certificate-per-device verification.

Inicialice IoT Platform SDK for Java

Código de ejemplo:

#import <IotLinkKit/IotLinkKit.h>

    // Before you initialize the SDK, you must create a listener to monitor the status changes of a persistent connection.
    [[LinkKitEntry sharedKit] registerChannelListener:self];

    //// Specify the device certificate information.
    self.productKey = self.textFieldProductKey.text ;
    self.deviceName = self.textFieldDeviceName.text ;
    self.deviceSecret = self.textFieldDeviceSecret.text;

    LinkkitChannelConfig * channelConfig = [[LinkkitChannelConfig alloc] init];
    channelConfig.productKey = self.productKey;
    channelConfig.deviceName = self.deviceName;
    channelConfig.deviceSecret = self.deviceSecret;
    channelConfig.cleanSession = (self.cleanSession == 1);
    //channelConfig.server = @"your custom server url";
    //channelConfig.port = 1883;
    LinkkitSetupParams * setupParams = [[LinkkitSetupParams alloc] init];
    setupParams.appVersion = self.appVersion;
    setupParams.channelConfig = channelConfig;
    [[LinkKitEntry sharedKit] setup:setupParams resultBlock:^(BOOL succeeded, NSError * _Nullable error) {
        LinkkitLogDebug(@"setup error : %@", error);
        dispatch_async(dispatch_get_main_queue(), ^{
            [self ims_showHUDWithMessage:[NSString stringWithFormat:@ "Initialization :%@",
                                          succeeded ? @ "Success" : @ "Failure"]];
        });
    }];
            
Importante
  • Después de inicializar el SDK, se devuelve resultBlock sin importar si se estableció una conexión persistente de Message Queuing Telemetry Transport (MQTT).

  • Llame a la función [[LinkKitEntry sharedKit] registerChannelListener:self] para comprobar si se estableció una conexión persistente según el resultado que devuelve la función de callback [onConnectStateChange:state:].

Parámetros

Parámetro

Ejemplo

Descripción

productKey

a18wP

Consulte el certificado del dispositivo en la página Device Details de la consola de IoT Platform. Para obtener más información, consulte Obtain device verification information.

deviceName

LightSwitch

deviceSecret

uwMTmVAMnGGHaAkqmeDY6cHxxB

server

a18wP.iot-as-mqtt.cn-shanghai.aliyuncs.com

El endpoint al que desea conectar el dispositivo.

  • Para instancias Enterprise Edition e instancias públicas nuevas: busque el endpoint en el panel Development Configuration de la página Instance Details.

  • Si utiliza una instancia pública de la versión anterior, el endpoint de dicha instancia tiene el formato ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.

Para obtener más información sobre las instancias y los endpoints, consulte View instance endpoints.

Desinicialice el SDK

Antes de desinicializar el SDK, cierre la conexión MQTT persistente entre el dispositivo e IoT Platform. Para desinicializar el SDK, llame a la siguiente operación de API.

    [[LinkKitEntry sharedKit] destroy:^(BOOL succeeded, NSError * _Nullable error) {
        LinkkitLogDebug(@"kit destroy error : %@", error);
        dispatch_async(dispatch_get_main_queue(), ^{
            [self ims_showHUDWithMessage:[NSString stringWithFormat:@ "Deinitialization: %@",
                                          succeeded ? @ "Success" : @ "Failure"]];
        });
    }];
            

Interruptor de registros

Active el interruptor interno de salida de registros del SDK:

#import <IMSLog/IMSLog.h>

NSString * const IMS_DEMO_TAG = @"LinkkitDemo";

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Add the following code to enable the logging feature.
    [IMSLog setAllTagsLevel:IMSLogLevelAll];
    // Create a log panel and add it to the log framework.
    //[IMSLog addAssistant:[[IMSDashboardLogAssistant alloc] init]];
    // Enable logs to be displayed in the console.
    [IMSLog showInConsole:YES];
    // Specify a log tag.
    [IMSLog registerTag:IMS_DEMO_TAG];

    return YES;
}
            

Cree un listener para supervisar los cambios de estado de la conexión MQTT persistente

Código de ejemplo:

- (void)onConnectStateChange:(nonnull NSString *)connectId state:(LinkkitChannelConnectState)state {
    NSString * connectTip = nil;
    if (state == LinkkitChannelStateConnected) {
        connectTip = @ "Connected";
    } else if (state == LinkkitChannelStateDisconnected) {
        connectTip = @ "Not connected";
    } else {
        connectTip = @ "Connecting";
    }
    dispatch_async(dispatch_get_main_queue(), ^{
        self.labelConnectState.text = connectTip;
    });
}

- (void)onNotify:(nonnull NSString *)connectId topic:(nonnull NSString *)topic data:(id _Nullable)data {
    NSString * downData = [NSString stringWithFormat:@ "The pushed data is received, topic :%@ \r\n", topic];
    downData = [downData stringByAppendingString:[NSString stringWithFormat:@ "\r \ndata :%@", data]];

    LinkkitLogDebug(@"kit recv  topic : %@", topic);

    dispatch_async(dispatch_get_main_queue(), ^{
        self.textViewDownData.text = downData;
    });
}

- (BOOL)shouldHandle:(nonnull NSString *)connectId 
               topic:(nonnull NSString *)topic {
    return YES;
}