編集:次のエラーコードが表示されます:
アクセサリの追加エラー 操作を完了できませんでした。(HMErrorDomain エラー 2)
と:
アクセサリの追加エラー アクセサリとのペアリングを開始できませんでした [名前 = xxxxx、提供された名前 = xxxxx、uuid = xxxxx-xxxxx-xxxxx-xxxxx-xxxxx、識別子 = xxxxx、構成アプリ ID = (null)、ホーム = (null) 、ブリッジ = (ヌル) ]
どちらも2番です。
私が理解していないのは、HMCatalog アプリでこれが機能する理由です。コードの何が問題になっていますか? アクセサリ シミュレータでは問題なく動作しますが、実際のアクセサリでは機能しません(実際のアクセサリは HMCatalog アプリを介してのみ追加され、カスタム アプリでは追加されません)。
実際の動作:
- アプリからアクセサリを追加する (初めて機能する)
- アクセサリをリセットしてから再度追加します (下のスクリーンショットでは機能せず、ペアリング エラーが表示されます)。ただし、Apple の例であるHMCatalogを使用すると、これらのエラーが発生しても機能します。
そして時折:
予想された結果:
- ペアリングエラーなしで私のアプリからもアクセサリーを追加します
これは私のアクセサリーコードです:
[self.home addAccessory:self.accessory completionHandler:^(NSError *error) {
NSLog(@"in adding for accessory %@", self.accessory.name);
if (error) {
NSLog(@"Error adding accessory %@ %li", error.localizedDescription, (long)error.code);
UIAlertController *alertController = [UIAlertController
alertControllerWithTitle:@"Pairing error"
message:error.localizedDescription
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *okAction = [UIAlertAction
actionWithTitle:NSLocalizedString(@"OK", @"OK action")
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action)
{
NSLog(@"OK action");
}];
[alertController addAction:okAction];
[self presentViewController:alertController animated:YES completion:nil];
}
else{
// TODO: Tweak this
NSLog(@"Added to home");
[self dismiss:nil];
/**
[homeSweetHome assignAccessory:accessory toRoom:nil completionHandler:^(NSError *error) {
if (error) {
NSLog(@"Failed adding accessory %@ to room %@", accessory.name, room.name);
}
}];**/
}
}];