Ios 如何将certificateID存储到AWSIoTDataManager上.connect方法的密钥链中?

Ios 如何将certificateID存储到AWSIoTDataManager上.connect方法的密钥链中?,ios,swift,amazon-web-services,aws-sdk,aws-iot,Ios,Swift,Amazon Web Services,Aws Sdk,Aws Iot,我在使用AWSIotDataManager类连接到AWS MQTT代理以订阅事件时遇到问题。我将certificateID字符串传递给.connect方法,但随后意识到在.connect方法定义上面提到:“必须将certificateID存储在钥匙链中” 我遇到了AWSIoTKeychain类,但我不知道如何使用它。 我还遇到了AWSIoTManager.createKeysAndCertificateFromCsr,但鉴于我使用的是AWSIoTDataManager类,我也不知道如何使用它。

我在使用
AWSIotDataManager
类连接到AWS MQTT代理以订阅事件时遇到问题。我将
certificateID
字符串传递给
.connect
方法,但随后意识到在
.connect
方法定义上面提到:“必须将
certificateID
存储在钥匙链中”
我遇到了
AWSIoTKeychain
类,但我不知道如何使用它。 我还遇到了
AWSIoTManager.createKeysAndCertificateFromCsr
,但鉴于我使用的是
AWSIoTDataManager
类,我也不知道如何使用它。
如何在钥匙链中存储证书ID?然后,如何使用它连接到AWS MQTT代理?(我有
证书
pem
私钥

let-credentialsProvider:AWSCognitoCredentialsProvider=AWSCognitoCredentialsProvider(regionType:AWSRegionType.EUWest1,identityPoolId:consumerpolid);
让iotEndPoint=AWSEndpoint(urlString:endPoint);
让iotDataConfiguration=AWSServiceConfiguration(
地区:AWSRegionType.EUWest1,
端点:IoEndpoint,
credentialsProvider:credentialsProvider
);
AWSServiceManager.default()?.defaultServiceConfiguration=iotDataConfiguration;
AWSIoTDataManager.register(使用:iotDataConfiguration!,forKey:KEYSTORE_NAME);
iotDataManager=AWSIoTDataManager(forKey:KEYSTORE_NAME);
func mqttEventCallback(状态:AWSIoTMQTTStatus){
如果(状态==AWSIoTMQTTStatus.connected){
iotDataManager.subscribe(
主题,,
qoS:.messageDeliveryAttemptedAtMostOnce,
messageCallback:{
(有效载荷)->无效
让stringValue=String(数据:有效负载,编码:String.encoding.utf8)!;
//用有效载荷做事
// ...
} );
}
}
让isConnected:Bool=iotDataManager.connect(withClientId:clientID,
是的,
certificateId:Certifid,
状态回调:mqttEventCallback);