• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

用户管理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

用户管理

创建 home 的用户是该 home 的管理员,可以执行所有操作,包括添加一个客人用户到 home。任何管理员添加到这个 home 的用户(HMUser)都有一个有限的权限。客人不能更改家庭的布局,但是可以执行下面的动作:

  • 识别智能电器
  • 读写特性
  • 观察特性值变化
  • 执行动作集

比如,一个家庭的户主可以创建一个 home 布局并向其中添加家庭成员。每个家庭成员必须拥有一个 iOS 设备和 Apple ID 以及相关的 iCloud 账户。iCloud 需要个人输入的 Apple ID 和户主提供的 Apple ID 相吻合,以便让他们访问这个 home。考虑到隐私问题,Apple ID 对你的 App 是不可见的。

管理员需要遵从以下步骤来添加一个客人到 home 中:

  1. 管理员调用一个动作将客人添加到home中。

  2. 你的App调用addUserWithCompletionHandler:异步方法。

  3. HomeKit展示一个对话框,要求输入客人的Apple ID。

  4. 用户输入客人的Apple ID。

  5. 在完成回调中返回一个新的用户。

  6. 你的App展示客人的名字。

添加一个客人到home,需要在客人的iOS设备上做以下操作:

  1. 用户在iCloud偏好设置中输入iCloud凭证(Apple ID和密码)。

  2. 用户启动你的App。

  3. 你的App通过home manager object获得一个home集合。

  4. 如果iCloud的凭证和管理员输入的Apple ID相同,那么管理员的home将会出现在homes属性中。

客人执行的操作可能会失败。如果一个异步方法中出现 HMErrorCodeInsufficientPrivileges 错误码的话,这就意味着用户没有足够的权限来执行动作-也许这个用户只是客人,而不是管理员。

为了测试你的 App 是否正确处理了客人用户,请阅读Testting Multiple iOS Devices and Users

添加和移除用户

为了添加一个客人用户到home,请使用addUserWithCompletionHandler:异步方法。

[self.home addUserWithCompletionHandler:^(HMUser *user, NSError *error) {
    if (error == nil) {
        // Successfully added a user
    }
    else {
       // Unable to add a user
} }];

想要移除 home 中的用户,请使用 HMHome 类的 removeUser:completionHandler:方法。

通过实现 HMHomeDelegate 协议中的 home:didAddUser:和 home:didRemoveUser:协议方法检查新添加和移除的用户并更新视图。关于如何创建一个delegate,请阅读Observing Changes to Individual Homes

获得用户名

出于隐私的考虑,你的 App 对用户名只有读得权限,并不能读写用户的 Apple ID。使用 HMHome 对象的 users 属性来获取用户。使用 HMUser 类的 name 属性来获取用户名。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
下一篇:
创建动作集和触发器发布时间:2022-02-02
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap