Estimote / iOS-Fleet-Management-SDK

Estimote Fleet Management SDK for iOS
https://developer.estimote.com
MIT License
1.18k stars 398 forks source link

Compiler errors when using EstimoteSDK in Xcode 9.4 #281

Closed ethan-gerardot closed 4 years ago

ethan-gerardot commented 6 years ago

Basic information

Estimote iOS SDK version: 4.27.0 iOS device(s) affected: N/A iOS version(s) affected: iOS 11.0 Estimote device hardware version: N/A Estimote device firmware version: N/A

Additional information

Xcode 9.4

Description

Compiler error due to the Objective-C param name "and" - in files ESTDateRule.h and ESTTemperatureRule.h

Additional information

When I add #import <EstimoteSDK/EstimoteSDK.h> to my bridging header (so I can use Estimote in swift), I get 3 compiler errors:

  1. ESTDateRule.h -> + (instancetype)hourBetween:(int)firstHour and:(int)secondHour;
  2. ESTTemperatureRule.h -> + (instancetype)temperatureBetween:(double)minValue and:(double)maxValue forNearableIdentifier:(NSString *)identifier;
  3. ESTTemperatureRule.h -> + (instancetype)temperatureBetween:(double)minValue and:(double)maxValue forNearableType:(ESTNearableType)type;

The compiler can't seem to understand a param name of "and:" anymore - this used to work a year ago when I was using the EstimoteSDK, but now the compiler (as of Xcode 9.4) won't allow it. If I change "and:" to "andd:" then it builds - but then I have to worry about runtime crashes because the header declares a different method than what's implemented in the implementation file.