我是不是需要拥有 Apple Developer ID 才能使用 HomeKit 框架?
Posted
技术标签:
【中文标题】我是不是需要拥有 Apple Developer ID 才能使用 HomeKit 框架?【英文标题】: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:一些代码
【问题讨论】:
【参考方案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 程序,所以现在我不知道。也许其他人可以稍后再试一试,然后将结果更新给我们。以上是关于我是不是需要拥有 Apple Developer ID 才能使用 HomeKit 框架?的主要内容,如果未能解决你的问题,请参考以下文章
获得证书和私钥对是不是需要注册 Apple Developer 计划?
Apple Watch 应用程序是不是需要随附的 iOS 应用程序才能拥有完整的用户界面?