3

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

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

问题

  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 回答 1

0

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

地理围栏参考

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

于 2015-09-28T07:12:40.813 回答