0

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

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

我收到一个错误:

错误域 = NSCocoaErrorDomain 代码 = 4097 “操作无法完成。(可可错误 4097。)”(连接到名为 com.apple.homed.xpc 的服务)用户信息 = 0x7f9e9b965290 {NSDebugDescription = 连接到名为 com.apple 的服务。 homed.xpc}

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

编辑:

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

NinjaEDIT:一些代码

4

1 回答 1

-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(某种级别)来下载该文件。

于 2014-12-28T02:10:32.960 回答