Tous les produits
Search
Centre de documentation

IoT Platform:Vérifier et connecter un appareil

Dernière mise à jour :Aug 10, 2026

Cette rubrique explique comment initialiser le Link SDK pour iOS afin d'établir une connexion entre un appareil et IoT Platform.

Informations générales

Le Link SDK pour iOS prend uniquement en charge la méthode de vérification par certificat unique par appareil. Pour plus d'informations, consultez la section Vérification par certificat unique par appareil.

Initialiser le SDK IoT Platform pour iOS

Exemple de code :

#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"]];
        });
    }];
            
Important
  • Après l'initialisation du SDK, le bloc resultBlock est renvoyé, que la connexion MQTT (Message Queuing Telemetry Transport) persistante soit établie ou non.

  • Appelez la fonction [[LinkKitEntry sharedKit] registerChannelListener:self] pour vérifier si une connexion persistante est établie, en vous basant sur le résultat renvoyé par la fonction de rappel [onConnectStateChange:state:].

Paramètres

Paramètre

Exemple

Description

productKey

a18wP

Vous pouvez consulter le certificat de l'appareil sur la page Device Details de la console IoT Platform. Pour plus d'informations, consultez la section Obtenir les informations de vérification de l'appareil.

deviceName

LightSwitch

deviceSecret

uwMTmVAMnGGHaAkqmeDY6cHxxB

server

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

L'endpoint auquel vous souhaitez connecter l'appareil.

  • Pour les instances Enterprise Edition et les nouvelles instances publiques : trouvez l'endpoint dans le panneau Development Configuration de la page Instance Details.

  • Si vous utilisez une instance publique d'une version précédente, l'endpoint de l'instance publique suit le format ${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.

Pour plus d'informations sur les instances et les endpoints, consultez la section Afficher les endpoints des instances.

Désinitialiser le SDK

Avant de désinitialiser le SDK, fermez la connexion MQTT persistante entre l'appareil et IoT Platform. Pour désinitialiser le SDK, appelez l'opération API suivante.

    [[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"]];
        });
    }];
            

Activer la journalisation

Activez la sortie des journaux internes du 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;
}
            

Créer un écouteur pour surveiller les modifications d'état de la connexion MQTT persistante

Exemple de code :

- (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;
}