HMLocationEvent示例

时间:2015-09-15 10:45:26

标签: ios9 homekit ios-homekit

我正在HMHome中实现HMLocatinEvent。我正在尝试下面的代码,但有一点我没有得到的是我不知道如果我离开家就必须关闭所有灯,如何执行这样的功能。我没有找到任何与actionset相关的方法。如果我错了,请纠正我。

要求:如果我离开家,我想关掉所有的HMA配件。

问题

  1. 要达到要求我是否需要使用HMLocationEvent和HMEventTrigger?或者有替代品吗?
  2. 如果我必须使用HMLocationEvent和HMEventTrigger,如何在进入/退出指定区域的操作中执行某些操作?
  3. 我是否需要实现CLLocationManager和委托方法才能使用HMLocationEvent?

    HMLocationEvent *locEvent = [[HMLocationEvent alloc] initWithRegion:region1];
    

    region1.notifyOnEntry = YES;

    region1.notifyOnExit = YES;
    
    CLRegion *region1 =  [[CLCircularRegion alloc] initWithCenter:[selectedLoc coordinate] radius:5 identifier:@"Office"];
    
    NSDateComponents *com = [[NSDateComponents alloc] init];
    com.second = 1;
    
    HMEventTrigger *tr = [[HMEventTrigger alloc] initWithName:eventName.text events:[NSArray arrayWithObject:locEvent] predicate:[HMEventTrigger predicateForEvaluatingTriggerOccurringOnDateWithComponents:com]];
    [selectedHome addTrigger:tr completionHandler:^(NSError *err)
     {
    
     }];
    
  4. 感谢宝贵的时间。

1 个答案:

答案 0 :(得分:0)

我的概念是使用地理围栏 1)创建你家的地理围栏 2)只需获得房子的位置,并创建一个半径为50米的围栏 3)现在创建一个代码来监听地理围栏区域并实现相应的代码

地理围栏的参考

http://www.raywenderlich.com/95014/geofencing-ios-swift