From 0f45e4556eebf7d435738b0515de627098c944f8 Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Thu, 27 Jan 2022 14:49:11 +0530 Subject: [PATCH 1/7] Update `compatibilityVersion` to `Xcode 10.0` From e64a48a2ade4122cf2ab94d24ac2113c6b962559 Mon Sep 17 00:00:00 2001 From: genadyb Date: Tue, 13 Feb 2024 13:39:46 +0100 Subject: [PATCH 2/7] fix: fixes race condition crash while updating idfa in packages --- Adjust/ADJPackageBuilder.m | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/Adjust/ADJPackageBuilder.m b/Adjust/ADJPackageBuilder.m index c0dd198df..e7804a78e 100644 --- a/Adjust/ADJPackageBuilder.m +++ b/Adjust/ADJPackageBuilder.m @@ -1385,23 +1385,30 @@ + (void)addIdfaToParameters:(NSMutableDictionary * _Nullable)parameters return; } - // read once && IDFA not cached - if (adjConfig.readDeviceInfoOnceEnabled && packageParams.idfaCached != nil) { - [ADJPackageBuilder parameters:parameters setString:packageParams.idfaCached forKey:@"idfa"]; - return; - } + __block NSString *idfa = nil; + [ADJUtil launchSynchronisedWithObject:[ADJPackageBuilder class] block:^{ + // read once && IDFA not cached + if (adjConfig.readDeviceInfoOnceEnabled && packageParams.idfaCached != nil) { + idfa = packageParams.idfaCached; + } else { + // read IDFA + idfa = [ADJUtil idfa]; + if (idfa == nil || + idfa.length == 0 || + [idfa isEqualToString:@"00000000-0000-0000-0000-000000000000"]) + { + idfa = nil; + } else { + // cache IDFA + packageParams.idfaCached = idfa; + } + } + }]; - // read IDFA - NSString *idfa = [ADJUtil idfa]; - if (idfa == nil || - idfa.length == 0 || - [idfa isEqualToString:@"00000000-0000-0000-0000-000000000000"]) { - return; + if (idfa != nil) { + // add IDFA to payload + [ADJPackageBuilder parameters:parameters setString:idfa forKey:@"idfa"]; } - // cache IDFA - packageParams.idfaCached = idfa; - // add IDFA to payload - [ADJPackageBuilder parameters:parameters setString:idfa forKey:@"idfa"]; } @end From 6dc087fdb8948a3060cd13569b22f8f3ff88b09f Mon Sep 17 00:00:00 2001 From: genadyb Date: Wed, 14 Feb 2024 12:54:35 +0100 Subject: [PATCH 3/7] chore: updating version to 4.37.1 --- Adjust.podspec | 4 ++-- Adjust/ADJUtil.m | 2 +- Adjust/Adjust.h | 2 +- AdjustBridge/AdjustBridgeRegister.m | 2 +- CHANGELOG.md | 6 ++++++ VERSION | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Adjust.podspec b/Adjust.podspec index 83cd9bc0b..c87ac2d73 100644 --- a/Adjust.podspec +++ b/Adjust.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |s| s.name = "Adjust" - s.version = "4.37.0" + s.version = "4.37.1" s.summary = "This is the iOS SDK of adjust. You can read more about it at http://adjust.com." s.homepage = "https://github.com/adjust/ios_sdk" s.license = { :type => 'MIT', :file => 'MIT-LICENSE' } s.author = { "Adjust" => "sdk@adjust.com" } - s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.37.0" } + s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.37.1" } s.ios.deployment_target = '9.0' s.tvos.deployment_target = '9.0' s.framework = 'SystemConfiguration' diff --git a/Adjust/ADJUtil.m b/Adjust/ADJUtil.m index e45785bba..b239508f8 100644 --- a/Adjust/ADJUtil.m +++ b/Adjust/ADJUtil.m @@ -35,7 +35,7 @@ static NSRegularExpression *shortUniversalLinkRegex = nil; static NSRegularExpression *excludedDeeplinkRegex = nil; -static NSString * const kClientSdk = @"ios4.37.0"; +static NSString * const kClientSdk = @"ios4.37.1"; static NSString * const kDeeplinkParam = @"deep_link="; static NSString * const kSchemeDelimiter = @"://"; static NSString * const kDefaultScheme = @"AdjustUniversalScheme"; diff --git a/Adjust/Adjust.h b/Adjust/Adjust.h index 1bc08856e..4468b68eb 100644 --- a/Adjust/Adjust.h +++ b/Adjust/Adjust.h @@ -2,7 +2,7 @@ // Adjust.h // Adjust SDK // -// V4.37.0 +// V4.37.1 // Created by Christian Wellenbrock (@wellle) on 23rd July 2013. // Copyright (c) 2012-2021 Adjust GmbH. All rights reserved. // diff --git a/AdjustBridge/AdjustBridgeRegister.m b/AdjustBridge/AdjustBridgeRegister.m index f28657f2a..d3f418bab 100644 --- a/AdjustBridge/AdjustBridgeRegister.m +++ b/AdjustBridge/AdjustBridgeRegister.m @@ -280,7 +280,7 @@ + (NSString *)adjust_js { if (this.sdkPrefix) { return this.sdkPrefix; } else { - return 'web-bridge4.37.0'; + return 'web-bridge4.37.1'; } }, setTestOptions: function(testOptions) { diff --git a/CHANGELOG.md b/CHANGELOG.md index 30b541256..cabaad70a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### Version 4.37.1 (14th February 2024) +#### Fixed +- Fixed Crash: 4.37.0 +[ADJPackageBuilder addIdfaToParameters:withConfig:logger:packageParams:] (https://github.com/adjust/ios_sdk/issues/696) + +--- + ### Version 4.37.0 (21st December 2023) #### Added - Added ability to instruct to SDK to read device IDs just once upon initialization. You can set this by calling `setReadDeviceInfoOnceEnabled` method of the `ADJConfig` instance. diff --git a/VERSION b/VERSION index 69c427627..bc9fffbec 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.37.0 +4.37.1 From 6005aa7ea7251b42ab626065a651cd9603f3d327 Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Mon, 15 Jan 2024 14:59:28 +0100 Subject: [PATCH 4/7] task: add Tradplus ad revenue source --- Adjust/Adjust.h | 1 + Adjust/Adjust.m | 1 + 2 files changed, 2 insertions(+) diff --git a/Adjust/Adjust.h b/Adjust/Adjust.h index 4468b68eb..987c73519 100644 --- a/Adjust/Adjust.h +++ b/Adjust/Adjust.h @@ -58,6 +58,7 @@ extern NSString * __nonnull const ADJAdRevenueSourceHeliumChartboost; extern NSString * __nonnull const ADJAdRevenueSourcePublisher; extern NSString * __nonnull const ADJAdRevenueSourceTopOn; extern NSString * __nonnull const ADJAdRevenueSourceADX; +extern NSString * __nonnull const ADJAdRevenueSourceTradplus; /** * Constants for country app's URL strategies. diff --git a/Adjust/Adjust.m b/Adjust/Adjust.m index 68e93aae8..24472d616 100644 --- a/Adjust/Adjust.m +++ b/Adjust/Adjust.m @@ -32,6 +32,7 @@ NSString * const ADJAdRevenueSourcePublisher = @"publisher_sdk"; NSString * const ADJAdRevenueSourceTopOn = @"topon_sdk"; NSString * const ADJAdRevenueSourceADX = @"adx_sdk"; +NSString * const ADJAdRevenueSourceTradplus = @"tradplus_sdk"; NSString * const ADJUrlStrategyIndia = @"UrlStrategyIndia"; NSString * const ADJUrlStrategyChina = @"UrlStrategyChina"; From 68e50577d5ee2a57d7be030a6e7d0c8912c249e0 Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Thu, 15 Feb 2024 11:21:35 +0100 Subject: [PATCH 5/7] docs: update changelog --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cabaad70a..59776e77c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ -### Version 4.37.1 (14th February 2024) +### Version 4.37.1 (15th February 2024) +#### Added +- Added support for `TradPlus` ad revenue tracking. + #### Fixed -- Fixed Crash: 4.37.0 +[ADJPackageBuilder addIdfaToParameters:withConfig:logger:packageParams:] (https://github.com/adjust/ios_sdk/issues/696) +- Fixed Crash: 4.37.0 +[ADJPackageBuilder addIdfaToParameters:withConfig:logger:packageParams:] (https://github.com/adjust/ios_sdk/issues/696). --- From 7d8650f0fe9460348e0115c1f6f1700dce9d2486 Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Thu, 15 Feb 2024 11:42:20 +0100 Subject: [PATCH 6/7] chore: update swift example project --- examples/AdjustExample-Swift/Podfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/AdjustExample-Swift/Podfile.lock b/examples/AdjustExample-Swift/Podfile.lock index 3134ce024..241424bb1 100644 --- a/examples/AdjustExample-Swift/Podfile.lock +++ b/examples/AdjustExample-Swift/Podfile.lock @@ -1,7 +1,7 @@ PODS: - - Adjust (4.37.0): - - Adjust/Core (= 4.37.0) - - Adjust/Core (4.37.0) + - Adjust (4.37.1): + - Adjust/Core (= 4.37.1) + - Adjust/Core (4.37.1) DEPENDENCIES: - Adjust (from `../../`) @@ -11,7 +11,7 @@ EXTERNAL SOURCES: :path: "../../" SPEC CHECKSUMS: - Adjust: 86a6935688251ca6cea371f9b284578ccf3d981b + Adjust: de140fb7f466ad6884ffc2bca2f9a3afbd285f42 PODFILE CHECKSUM: 4c79da456db9adb90cdd42adc7f721c7bb6490cd From ebf7a49d7819889ac7dc78f6fb00f97997a8b1af Mon Sep 17 00:00:00 2001 From: uerceg Date: Thu, 15 Feb 2024 11:59:27 +0100 Subject: [PATCH 7/7] docs: update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59776e77c..2b0fe7036 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ - Added support for `TradPlus` ad revenue tracking. #### Fixed -- Fixed Crash: 4.37.0 +[ADJPackageBuilder addIdfaToParameters:withConfig:logger:packageParams:] (https://github.com/adjust/ios_sdk/issues/696). +- Fixed occasional crashes caused by not synchronized access to cached IDFA value (https://github.com/adjust/ios_sdk/issues/696). ---