From 504cca37bd01cec49208f710c6b342c8ec262fc6 Mon Sep 17 00:00:00 2001 From: Pedro Date: Tue, 19 Jan 2016 15:19:15 +0100 Subject: [PATCH 1/2] Url decode key values --- Adjust/ADJActivityHandler.m | 11 ++++++++--- Adjust/ADJAdditions/NSString+ADJAdditions.h | 1 + Adjust/ADJAdditions/NSString+ADJAdditions.m | 7 +++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Adjust/ADJActivityHandler.m b/Adjust/ADJActivityHandler.m index 21e0975ca..cec983515 100644 --- a/Adjust/ADJActivityHandler.m +++ b/Adjust/ADJActivityHandler.m @@ -17,6 +17,7 @@ #import "UIDevice+ADJAdditions.h" #import "ADJAdjustFactory.h" #import "ADJAttributionHandler.h" +#import "NSString+ADJAdditions.h" static NSString * const kActivityStateFilename = @"AdjustIoActivityState"; static NSString * const kAttributionFilename = @"AdjustIoAttribution"; @@ -536,14 +537,18 @@ - (BOOL) readDeeplinkQueryString:(NSString *)queryString NSString* key = [pairComponents objectAtIndex:0]; if (![key hasPrefix:kAdjustPrefix]) return NO; + NSString* keyDecoded = [key adjUrlDecode]; + NSString* value = [pairComponents objectAtIndex:1]; if (value.length == 0) return NO; - NSString* keyWOutPrefix = [key substringFromIndex:kAdjustPrefix.length]; + NSString* valueDecoded = [value adjUrlDecode]; + + NSString* keyWOutPrefix = [keyDecoded substringFromIndex:kAdjustPrefix.length]; if (keyWOutPrefix.length == 0) return NO; - if (![self trySetAttributionDeeplink:deeplinkAttribution withKey:keyWOutPrefix withValue:value]) { - [adjustDeepLinks setObject:value forKey:keyWOutPrefix]; + if (![self trySetAttributionDeeplink:deeplinkAttribution withKey:keyWOutPrefix withValue:valueDecoded]) { + [adjustDeepLinks setObject:valueDecoded forKey:keyWOutPrefix]; } return YES; diff --git a/Adjust/ADJAdditions/NSString+ADJAdditions.h b/Adjust/ADJAdditions/NSString+ADJAdditions.h index fdff5d6ac..c48fffd4e 100644 --- a/Adjust/ADJAdditions/NSString+ADJAdditions.h +++ b/Adjust/ADJAdditions/NSString+ADJAdditions.h @@ -11,6 +11,7 @@ - (NSString *)adjTrim; - (NSString *)adjUrlEncode; +- (NSString *)adjUrlDecode; - (NSString *)adjRemoveColons; + (NSString *)adjJoin:(NSString *)strings, ...; diff --git a/Adjust/ADJAdditions/NSString+ADJAdditions.m b/Adjust/ADJAdditions/NSString+ADJAdditions.m index bf78c29c6..d4a4e801f 100644 --- a/Adjust/ADJAdditions/NSString+ADJAdditions.m +++ b/Adjust/ADJAdditions/NSString+ADJAdditions.m @@ -30,6 +30,13 @@ -(NSString *)adjUrlEncode { // [NSCharacterSet characterSetWithCharactersInString:@"!*'\"();:@&=+$,/?%#[]% "]]; } +-(NSString *)adjUrlDecode { + return (NSString *)CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapes( + kCFAllocatorDefault, + (CFStringRef)self, + CFSTR(""))); +} + - (NSString *)adjRemoveColons { return [self stringByReplacingOccurrencesOfString:@":" withString:@""]; } From 9df5db23ca506667981864ec1b872f339012ff76 Mon Sep 17 00:00:00 2001 From: Pedro Date: Tue, 19 Jan 2016 15:24:16 +0100 Subject: [PATCH 2/2] New version v4.5.1 --- Adjust.podspec | 4 ++-- Adjust/ADJUtil.m | 2 +- AdjustTests/ADJPackageFields.m | 2 +- README.md | 2 +- VERSION | 2 +- doc/migrate.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Adjust.podspec b/Adjust.podspec index 45ebc5615..fd3f42eee 100644 --- a/Adjust.podspec +++ b/Adjust.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |s| s.name = "Adjust" - s.version = "4.5.0" + s.version = "4.5.1" s.summary = "This is the iOS SDK of adjust. You can read more about it at http://adjust.com." s.homepage = "http://adjust.com" s.license = { :type => 'MIT', :file => 'MIT-LICENSE' } s.author = { "Christian Wellenbrock" => "welle@adjust.com" } - s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.5.0" } + s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.5.1" } s.ios.deployment_target = '6.0' s.tvos.deployment_target = '9.0' s.framework = 'SystemConfiguration' diff --git a/Adjust/ADJUtil.m b/Adjust/ADJUtil.m index 324eb257b..46e63d737 100644 --- a/Adjust/ADJUtil.m +++ b/Adjust/ADJUtil.m @@ -16,7 +16,7 @@ #include static NSString * const kBaseUrl = @"https://app.adjust.com"; -static NSString * const kClientSdk = @"ios4.5.0"; +static NSString * const kClientSdk = @"ios4.5.1"; static NSString * const kDateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'Z"; static NSDateFormatter *dateFormat; diff --git a/AdjustTests/ADJPackageFields.m b/AdjustTests/ADJPackageFields.m index 6f955bd00..ec07685c8 100644 --- a/AdjustTests/ADJPackageFields.m +++ b/AdjustTests/ADJPackageFields.m @@ -16,7 +16,7 @@ - (id) init { // default values self.appToken = @"123456789012"; - self.clientSdk = @"ios4.5.0"; + self.clientSdk = @"ios4.5.1"; self.suffix = @""; self.environment = @"sandbox"; diff --git a/README.md b/README.md index 11ca486f2..528df2e94 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ If you're using [CocoaPods][cocoapods] for `iOs` or `tvOS`, you can add the foll `Podfile` and continue with [step 4](#step4): ```ruby -pod 'Adjust', :git => 'git://github.com/adjust/ios_sdk.git', :tag => 'v4.5.0' +pod 'Adjust', :git => 'git://github.com/adjust/ios_sdk.git', :tag => 'v4.5.1' ``` If you're using [Carthage][carthage], you can add following line to your `Cartfile` diff --git a/VERSION b/VERSION index a84947d6f..4404a17ba 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.5.0 +4.5.1 diff --git a/doc/migrate.md b/doc/migrate.md index 2211950b5..9220919ce 100644 --- a/doc/migrate.md +++ b/doc/migrate.md @@ -1,4 +1,4 @@ -## Migrate your adjust SDK for iOS to v4.5.0 from v3.4.0 +## Migrate your adjust SDK for iOS to v4.5.1 from v3.4.0 ### Initial setup