Isssue 1:
I'm following this estimote tutorial to create my own Estimote app. However this error appeared:
Unknown type name 'ESTBeaconRegion'; did you mean 'CLBeaconRegion'?
How to solve it?
I've included the header and also the delegate
#import <EstimoteSDK/EstimoteSDK.h>
@interface AppDelegate () <UIApplicationDelegate,CLLocationManagerDelegate,ESTBeaconManagerDelegate>
This is my podFile
# Uncomment this line to define a global platform for your project
platform :ios, '7.0'
target 'Tabster' do
pod 'EstimoteSDK', '3.1.0'
end
Issue 2: Why is the framework highlighted in red?
Update: (trying the Example app suggested by Juan Gonzalez)
If you want to use an "old app" with the new estimote SDK 3.0, i suggest you to go read the migration guide at this adress :
https://github.com/Estimote/iOS-SDK/blob/master/SDK_3_0_MIGRATION_GUIDE.md
ESTBeaconManager
ESTBeaconManager class remains, but with narrowed functionality. In the current form it is responsible for ranging and monitoring iBeacon devices as well as advertising as iBeacon. It mainly covers CoreLocation functionality but with useful helpers including preventUnknownUpdateCount, avoidUnknownStateBeacons and returnAllRangedBeaconsAtOnce (Already available in previous versions of Estimote SDK).
Delegate methods works with CLBeacon objects (instead of ESTBeacon) and CLBeaconRegion (instead of ESTBeaconRegion). Let's use ranging delegate as example:
SDK 2.4 syntax:
- (void)beaconManager:(ESTBeaconManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(ESTBeaconRegion *)region
{
if (beacons.count > 0)
{
ESTBeacon *firstBeacon = [beacons objectAtIndex:0];
}
}
SDK 3.0 syntax:
- (void)beaconManager:(id)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region
{
if (beacons.count > 0)
{
CLBeacon *firstBeacon = [beacons objectAtIndex:0];
}
}
I hope that will help you.