【问题标题】:Do I need to have an apple Developer ID to use HomeKit framework?我是否需要拥有 Apple Developer ID 才能使用 HomeKit 框架?
【发布时间】:2014-12-28 01:21:33
【问题描述】:

您好,我正在尝试向数据库添加主页,但出现错误。

[self.homeManager addHomeWithName:@"Enfield" completionHandler:^(HMHome *home, NSError *error)
{
    if (error != nil) {
        NSLog(@"Unable to add home. \n%@", error);
    } else {
        NSLog(@"Home added Sucessfully \n%@", home);
    }
}];

我收到一个错误:

Error Domain=NSCocoaErrorDomain Code=4097 “操作无法完成。(Cocoa 错误 4097。)”(连接到名为 com.apple.homed.xpc 的服务) UserInfo=0x7f9e9b965290 {NSDebugDescription=连接到名为 com 的服务.apple.homed.xpc}

我查看了其他帖子,看起来您必须拥有开发人员 ID,但这没有任何意义 Apple 允许开发没有 ID 的所有东西,但不允许开发 HomeKit。有人可以对此有所了解。

编辑:

GitHub 链接https://github.com/zlDev/HomeKitDemo

NinjaEDIT:一些代码

【问题讨论】:

    标签: ios objective-c homekit


    【解决方案1】:

    要查看是否有错误,请不要测试 error。相反,测试应该是

    if (home == nil) {
    

    如果有错误,那么error指向错误的描述;如果没有错误,error 可能为 nil 或可能指向垃圾。


    好的,我挖得更深了。

    错误connection to service named com.apple.homed.xpc 表示 Xcode 无法连接到 HomeKit Accessory Simulator,它通常会通过名为 com.apple.homed.xpc 的 Mach 端口来连接。 (.xpc 是用于程序间通信的线索。它不是 URL。)

    HomeKit 文档说要启动 HK Simulator,您需要将 HomeKit 添加到项目功能列表中,然后使用菜单命令 Xcode→Open Developer Tool→HomeKit Accessory Simulator。当我创建一个虚拟 iOS 项目并尝试添加 HomeKit 功能时,Xcode 起初拒绝了,因为我还没有同意 Apple 的最新服务条款。

    这回答了你的问题。如果没有 Apple Developer ID,您将无法开启 HomeKit 功能。

    它没有回答的是开发者 ID 是否必须是付费开发者 ID。设置一个免费的开发者 ID 可能就足够了。这为 Apple 提供了一种机制,让您同意 Apple 的服务条款,这可能是他们目前所需要的。

    但即使我终于打开了 HomeKit 功能,菜单命令仍然不可用。显然,您还需要访问 developer.apple.com/downloads 并下载“用于 Xcode 6.1 的硬件 IO 工具”,其中包括 HomeKit 附件模拟器“。您将需要一个 Apple 开发人员 ID(某种级别)才能下载该文件。

    【讨论】:

    • 没有区别。这段实际代码sn-p直接取自WWDC大会,所以一定是对的。
    • 所以我明白了。不过,这是相当草率的编码。任何采用NSError** 参数的方法的通常规则正如我所描述的:该方法将有一些其他方式来表示失败,并且您应该只在出现错误时检查错误参数。 -addHomeWithName:completionHandler: 记录了如果出现错误,它会在回调中将 home 设置为 nil。它还记录了它在成功时将error 设置为 nil,但这是不寻常的,并且是一个不好的习惯。从技术上讲,我想这是一个NSError* 而不是NSError** 参数
    • 感谢详细的回复。免费的 acc 不起作用它实际上说 acc 必须在开发程序中注册才能启用 HomeKit。很抱歉不能 +1 没有足够的声望。
    • 如果您注册了免费的 Safari 开发者计划怎么办?只是一个想法。
    • 可能会起作用。我加入了 iOS 程序,所以现在我不知道。也许其他人可以稍后再试一试,然后将结果更新给我们。
    猜你喜欢
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    相关资源
    最近更新 更多