diff --git a/BaasBox-iOS-SDK/BAAClient.m b/BaasBox-iOS-SDK/BAAClient.m index 2945143..3b1d347 100644 --- a/BaasBox-iOS-SDK/BAAClient.m +++ b/BaasBox-iOS-SDK/BAAClient.m @@ -37,16 +37,15 @@ static NSString * const boundary = @"BAASBOX_BOUNDARY_STRING"; -static NSString * const kBAACharactersToBeEscapedInQuery = @"@/:?&=$;+!#()',*"; - static NSString * BAAPercentEscapedQueryStringKeyFromStringWithEncoding(NSString *string, NSStringEncoding encoding) { - static NSString * const kBAACharactersToLeaveUnescapedInQueryStringPairKey = @"[]."; - - return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)string, (__bridge CFStringRef)kBAACharactersToLeaveUnescapedInQueryStringPairKey, (__bridge CFStringRef)kBAACharactersToBeEscapedInQuery, CFStringConvertNSStringEncodingToEncoding(encoding)); + //Since we're percent-encoding the query URL component, we can use that character set to begin with. + NSMutableCharacterSet * allowedSet = [[NSMutableCharacterSet URLQueryAllowedCharacterSet] mutableCopy]; + [allowedSet addCharactersInString:@"[]."]; + return [string stringByAddingPercentEncodingWithAllowedCharacters:allowedSet]; } static NSString * BAAPercentEscapedQueryStringValueFromStringWithEncoding(NSString *string, NSStringEncoding encoding) { - return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)string, NULL, (__bridge CFStringRef)kBAACharactersToBeEscapedInQuery, CFStringConvertNSStringEncodingToEncoding(encoding)); + return [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; } #pragma mark - URL Serialization borrowed from AFNetworking diff --git a/BaasBox-iOS-SDK/BAAObject.m b/BaasBox-iOS-SDK/BAAObject.m index 3e149d9..119a6ad 100644 --- a/BaasBox-iOS-SDK/BAAObject.m +++ b/BaasBox-iOS-SDK/BAAObject.m @@ -26,6 +26,12 @@ @interface BAAObject () @implementation BAAObject +// This gets rid of the "Method override for the designated initializer of the superlass '-init' not found" warning in Xcode 7 (Issue #42) +- (instancetype) init { + self = [self initWithDictionary:nil]; + return nil; +} + - (instancetype) initWithDictionary:(NSDictionary *)dictionary { self = [super init];