【问题标题】:HomeKit Delegate APIs not working inside iOS flutter pluginHomeKit 委托 API 在 iOS 颤振插件中不起作用
【发布时间】:2020-02-11 10:53:25
【问题描述】:

我正在开发一个 Flutter 插件,用于访问我的 Flutter 应用程序中的 Apple HomeKit 功能。在flutter文件夹中为iOS项目完成以下项目和代码设置:

项目设置: 1. 功能中启用 HomeKit 2. 增加隐私 - Info.plist 中的 HomeKit 使用说明键

插件内的代码设置: 1.创建HMHomeManager的实例 2.设置HMHomeManager委托 3. 实现委托方法

另外,在“设置”中交叉验证了我的 Flutter 应用对 HomeKit 的访问权限。

问题 1: 对于相同的设置,本机 iOS 应用程序运行良好,homeManagerDidUpdateHomes 委托方法在访问正确提供 Home 信息的 HomeKit 数据库后立即被调用。 但是,在 Flutter 插件中,委托方法不会被调用,并且 home 计数始终为零。

问题 2: 我已经编写了代码来在 iOS 插件中添加新的 HomeKit Home,并尝试从 Flutter UI 中调用该方法。奇怪的是,addHome(withName: ) 块内的代码没有执行,但 Home 正在 HomeKit 数据库中创建。这可以通过运行 Apple“Home”应用程序来确认。 在这种情况下,homeManager(didAdd home: ) 委托方法也不会被调用。

版本详情: Xcode:11.2,快速 4.2 颤振:1.14.6,飞镖:2.8.0

是否需要在flutter插件中进行任何其他设置才能设置HomeKit Delegate?

作为替代方法,还尝试使用 cupertino_ffi_generated 0.1.1 (https://pub.dev/packages/cupertino_ffi_generated),这是来自 Flutter 的用于访问 Apple API 的最新软件包。 (尽管直接提到:“大多数 Flutter 开发人员不应该使用这个包。编写 Flutter 插件几乎总是比使用这个包更好。”)。 但是,flutter 会抛出错误“URI 的目标不存在:”

版本详情: 颤振:1.14.6,飞镖:2.8.0

【问题讨论】:

    标签: ios swift homekit flutter-plugin


    【解决方案1】:

    我遇到了类似的问题。 iOS swift 委托方法没有被触发。看来这些方法一定是公开的。

    只需替换

    func addHome...
    

    public func addHome...
    

    也许它会帮助某人......

    【讨论】:

      猜你喜欢
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 2020-03-07
      • 2021-09-19
      • 1970-01-01
      相关资源
      最近更新 更多