Hi there,
Apologies in advance for my lack of knowledge. I’m trying to write a small piece of code to change the colour of phone screen when a certain coordinates are reached. Code is not compiling and would really appreciate any help anyone can give me!
Thank you.
- (instancetype)initWithX:(double)x
y:(double)y
didUpdatePosition:(EILOrientedPoint *)position {
EILPoint *corner1 = [[EILPoint alloc] initWithX:1 y:10];
EILPoint *corner2 = [[EILPoint alloc] initWithX:6 y:1];
if ([position distanceToPoint:corner1] < 2) {
self.view.backgroundColor = [UIColor yellowColor];
NSLog(@"YELLOW@");
}
else if ([position distanceToPoint:corner2] < 2) {
self.view.backgroundColor = [UIColor redColor];
NSLog(@"RED@");
}
else {self.view.backgroundColor = [UIColor blackColor];}
}
Sharing the error message you’re getting would help a lot 
Also, any reason this code is not in the actual indoorLocationManager:didUpdatePosition delegate method?
https://developer.estimote.com/indoor/ios-tutorial/#start-location-updates
Apologies for not including the error message last time! I have a similar question again. I’m wanting to create a trigger based on coordinates.
Below is my current code which locates the phone within the space and also sets up a switch button to operate the torch.
I’m wanting to only turn the torch on in certain areas within the space. So I tried disabling the button when in a certain area but am getting consistent error messages about undeclared variables. I feel there is a simple solution to this issue but I cannot seem to find it! Any help would be greatly, greatly appreciate. Thank you 

#import "ViewController.h"
#import "EstimoteSDK/ESTConfig.h"
#import "EILIndoorLocationManager.h"
#import "EILRequestFetchLocation.h"
#import "EILOrientedPoint.h"
@interface ViewController () <EILIndoorLocationManagerDelegate>
@property (nonatomic) EILIndoorLocationManager *locationManager;
@property (nonatomic) EILLocation *location;
@property (nonatomic) UISwitch *switchValue;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.locationManager = [EILIndoorLocationManager new];
self.locationManager.delegate = self;
[ESTConfig setupAppID:@"XXX" andAppToken:@"XXX"];
EILRequestFetchLocation *fetchLocationRequest =
[[EILRequestFetchLocation alloc] initWithLocationIdentifier:@"XXX"];
[fetchLocationRequest sendRequestWithCompletion:^(EILLocation *location,
NSError *error) {
if (location != nil) {
self.location = location;
[self.locationManager startPositionUpdatesForLocation:self.location];
} else {
NSLog(@"can't fetch location: %@", error);
}
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)indoorLocationManager:(EILIndoorLocationManager *)manager
didFailToUpdatePositionWithError:(NSError *)error {
NSLog(@"failed to update position: %@", error);
}
- (void)indoorLocationManager:(EILIndoorLocationManager *)manager
didUpdatePosition:(EILOrientedPoint *)position
withAccuracy:(EILPositionAccuracy)positionAccuracy
inLocation:(EILLocation *)location {
NSString *accuracy;
switch (positionAccuracy) {
case EILPositionAccuracyVeryHigh: accuracy = @"+/- 1.00m"; break;
case EILPositionAccuracyHigh: accuracy = @"+/- 1.62m"; break;
case EILPositionAccuracyMedium: accuracy = @"+/- 2.62m"; break;
case EILPositionAccuracyLow: accuracy = @"+/- 4.24m"; break;
case EILPositionAccuracyVeryLow: accuracy = @"+/- ? :-("; break;
case EILPositionAccuracyUnknown: accuracy = @"unknown"; break;
}
NSLog(@"x: %5.2f, y: %5.2f, orientation: %3.0f, accuracy: %@",
position.x, position.y, position.orientation, accuracy);
}
- (void)setTorchOn:(BOOL)isOn
{
AVCaptureDevice* device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[device lockForConfiguration:nil];
[device setTorchMode:isOn ? AVCaptureTorchModeOn : AVCaptureTorchModeOff];
[device unlockForConfiguration];
}
-(IBAction)changedState:(id)sender
{
UISwitch *switchValue = (UISwitch*)sender;
[self setTorchOn:[switchValue isOn]];
}
@end