From d2529cf22063b9ae85c20b2022c60a52df484858 Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Tue, 11 Aug 2015 17:18:20 +0300 Subject: [PATCH 1/7] Local declaration of 'characteristic' hides instance variable --- AltBeacon/Source/AltBeacon.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AltBeacon/Source/AltBeacon.m b/AltBeacon/Source/AltBeacon.m index b1871b0..fffdaf1 100644 --- a/AltBeacon/Source/AltBeacon.m +++ b/AltBeacon/Source/AltBeacon.m @@ -176,11 +176,11 @@ - (void)startDetectingBeacons { - (void) peripheral:(CBPeripheral *)peripheral -didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic +didUpdateValueForCharacteristic:(CBCharacteristic *)peripheralCharacteristic error:(NSError *)error { if (!error) { - NSData *data = characteristic.value; + NSData *data = peripheralCharacteristic.value; NSString *newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; From 7cc16881bffd54adc8e87d9c2cd3061219696e70 Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Tue, 11 Aug 2015 17:22:00 +0300 Subject: [PATCH 2/7] Code uses CGFloat, which comes from CoreGraphics. Modern projects today don't use pch files therefor an import is in order. --- AltBeacon/Source/Util/EasedValue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AltBeacon/Source/Util/EasedValue.h b/AltBeacon/Source/Util/EasedValue.h index 25dc07b..518650e 100644 --- a/AltBeacon/Source/Util/EasedValue.h +++ b/AltBeacon/Source/Util/EasedValue.h @@ -26,7 +26,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. - +@import CoreGraphics; #import /** From 623ba486247454510fd3b67ed148a2d88b5d12c6 Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Tue, 11 Aug 2015 17:23:49 +0300 Subject: [PATCH 3/7] Absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value --- AltBeacon/Source/Util/EasedValue.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AltBeacon/Source/Util/EasedValue.m b/AltBeacon/Source/Util/EasedValue.m index 5e613e8..1d631ae 100644 --- a/AltBeacon/Source/Util/EasedValue.m +++ b/AltBeacon/Source/Util/EasedValue.m @@ -68,7 +68,7 @@ - (void)update currentValue += velocity; // limit how small the ease can get - if(fabsf(targetValue - currentValue) < 0.001f){ + if(fabs(targetValue - currentValue) < 0.001f){ currentValue = targetValue; velocity = 0.0f; } From bc94fc3199ca86cc26e632f94f5c785ad8afb119 Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Tue, 11 Aug 2015 17:36:24 +0300 Subject: [PATCH 4/7] Bunch of NS{x}CalendarUnit deprecated in iOS 8.0 in favour of NSCalendarUnit{x} --- AltBeacon/Source/Extension/NSDate+Ext.m | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/AltBeacon/Source/Extension/NSDate+Ext.m b/AltBeacon/Source/Extension/NSDate+Ext.m index a5a6a17..955363a 100644 --- a/AltBeacon/Source/Extension/NSDate+Ext.m +++ b/AltBeacon/Source/Extension/NSDate+Ext.m @@ -42,30 +42,30 @@ - (BOOL)extHasExpired { } - (NSUInteger)extMonth { - NSDateComponents *components = [[NSCalendar currentCalendar] components:NSMonthCalendarUnit fromDate:self]; + NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitMonth fromDate:self]; return components.month; } - (NSUInteger)extDay { - NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:self]; + NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay fromDate:self]; return components.day; } - (NSUInteger)extYear { - NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:self]; + NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitYear fromDate:self]; return components.year; } - (NSUInteger)extDaysInMonth { - NSRange days = [[NSCalendar currentCalendar] rangeOfUnit:NSDayCalendarUnit - inUnit:NSMonthCalendarUnit + NSRange days = [[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitDay + inUnit:NSCalendarUnitMonth forDate:self]; return days.length; } - (NSUInteger)extWeekday { - NSDateComponents *components = [[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:self]; + NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitWeekday fromDate:self]; return components.weekday; } @@ -73,7 +73,8 @@ + (NSArray *)extGenerateMonthsFromDate:(NSDate *)fromDate toDate:(NSDate *)toDat NSMutableArray *months = [[NSMutableArray alloc] init]; [months addObject:fromDate]; - NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; + + NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *offsetComponents = [[NSDateComponents alloc] init]; [offsetComponents setMonth:1]; @@ -87,7 +88,7 @@ + (NSArray *)extGenerateMonthsFromDate:(NSDate *)fromDate toDate:(NSDate *)toDat } - (NSUInteger)extLastDayOfMonth { - NSRange daysRange = [[NSCalendar currentCalendar] rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:self]; + NSRange daysRange = [[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self]; return daysRange.length; } From 24f11951c3b7a738b1bb22b547ea33d9ee34836e Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Tue, 11 Aug 2015 17:37:24 +0300 Subject: [PATCH 5/7] Modern projects don't use pch UIFont requires UIFont, CGFloat requires CoreGraphics --- AltBeacon/Source/Extension/NSString+Ext.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AltBeacon/Source/Extension/NSString+Ext.h b/AltBeacon/Source/Extension/NSString+Ext.h index 8d5a643..362b484 100644 --- a/AltBeacon/Source/Extension/NSString+Ext.h +++ b/AltBeacon/Source/Extension/NSString+Ext.h @@ -5,6 +5,8 @@ // Copyright (c) 2011 Ben Ford All rights reserved. // +@import CoreGraphics; +@import UIKit; #import typedef enum { From d30e9b767491f94719d708487d0d0995b926341e Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Tue, 11 Aug 2015 17:37:46 +0300 Subject: [PATCH 6/7] Modern projects don't use pch. CGFloat requires CoreGraphics --- AltBeacon/Source/Extension/NSFileManager+Ext.h | 1 + 1 file changed, 1 insertion(+) diff --git a/AltBeacon/Source/Extension/NSFileManager+Ext.h b/AltBeacon/Source/Extension/NSFileManager+Ext.h index 9010dc0..9b29dbd 100644 --- a/AltBeacon/Source/Extension/NSFileManager+Ext.h +++ b/AltBeacon/Source/Extension/NSFileManager+Ext.h @@ -7,6 +7,7 @@ // #import +@import CoreGraphics; @interface NSFileManager(Ext) - (CGFloat)extFileSizeInMegaBytesAtPath:(NSString *)path; From 8a70ba08f992cdd5513d9731deb5f0a9c988292a Mon Sep 17 00:00:00 2001 From: Maxim Veksler Date: Sun, 16 Aug 2015 19:27:33 +0300 Subject: [PATCH 7/7] Expose AltBeacon service identifier to user code. --- AltBeacon/Source/AltBeacon.h | 1 + AltBeacon/Source/AltBeacon.m | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AltBeacon/Source/AltBeacon.h b/AltBeacon/Source/AltBeacon.h index cf5953d..efe3439 100644 --- a/AltBeacon/Source/AltBeacon.h +++ b/AltBeacon/Source/AltBeacon.h @@ -54,6 +54,7 @@ typedef enum { @property (nonatomic, readonly) BOOL isDetecting; @property (nonatomic, readonly) BOOL isBroadcasting; +@property (nonatomic, readonly) NSString* identifier; - (void)startDetecting; - (void)stopDetecting; diff --git a/AltBeacon/Source/AltBeacon.m b/AltBeacon/Source/AltBeacon.m index fffdaf1..dafd298 100644 --- a/AltBeacon/Source/AltBeacon.m +++ b/AltBeacon/Source/AltBeacon.m @@ -49,11 +49,10 @@ #define ALT_BEACON_CHARACTERISTIC @"A05F9DF4-9D54-4600-9224-983B75B9D154" @interface AltBeacon () +@property (nonatomic, readwrite) NSString* identifier; @end @implementation AltBeacon { - NSString *identifier; - CBCentralManager *centralManager; CBPeripheralManager *peripheralManager; @@ -76,7 +75,7 @@ @implementation AltBeacon { - (id)initWithIdentifier:(NSString *)theIdentifier { if ((self = [super init])) { - identifier = theIdentifier; + self.identifier = theIdentifier; uuidsDetected = [[NSMutableDictionary alloc] init]; peripheralDetected = [[NSMutableDictionary alloc] init]; @@ -314,7 +313,7 @@ - (void)startAdvertising { [CBUUID UUIDWithString:ALT_BEACON_CHARACTERISTIC]; CBMutableService *service = [[CBMutableService alloc] initWithType:altBeaconServiceUUID primary:YES]; - NSString *strUUID = identifier; + NSString *strUUID = self.identifier; NSData *dataUUID = [strUUID dataUsingEncoding:NSUTF8StringEncoding]; characteristic =