diff --git a/CHANGELOG b/CHANGELOG index 019618f92..1a0c38833 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,9 @@ +Version 1.6.2 (2021-01-12) +-------------------------- +Fix internal Carthage issues with Xcode 12.3 (#561) +Fix leak on SNOWReachability (#559) (Contribution of @i-dama) + Version 1.6.1 (2020-11-24) -------------------------- Fix AddGlobalContext unable to work when GlobalContexts not initialized (#553) diff --git a/Cartfile.resolved b/Cartfile.resolved index d416ab371..e491aee93 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ -github "ccgus/fmdb" "2.7.5" +github "ccgus/fmdb" "2.7.7" github "luisobo/Nocilla" "0.11.0" github "snowplow/iglu-objc-client" "10b9758ef35c21d4bfee9c11d8f4813347a50097" -github "vlas-voloshin/JSONSchemaValidation" "1.5.0" +github "vlas-voloshin/JSONSchemaValidation" "1.6.0" diff --git a/Snowplow iOSTests/TestRequest.m b/Snowplow iOSTests/TestRequest.m index 1d33737f5..d3c682364 100644 --- a/Snowplow iOSTests/TestRequest.m +++ b/Snowplow iOSTests/TestRequest.m @@ -84,28 +84,6 @@ - (void)testRequestSendWithGet { XCTAssertEqual([tracker.emitter getDbCount], 0); } -- (void)testRequestSendWithBadUrl { - stubRequest(@"POST", [[NSString alloc] initWithFormat:@"%@://%@/com.snowplowanalytics.snowplow/tp2", protocol, TEST_SERVER_REQUEST]).andReturn(404); - - // Send all events with a bad URL - SPTracker * tracker = [self getTracker:TEST_SERVER_REQUEST requestType:SPRequestPost]; - [self sendAll:tracker]; - [self emitterSleep:[tracker emitter]]; - XCTAssertEqual(_failureCount, 8); - XCTAssertEqual([tracker.emitter getDbCount], 8); - - // Update the URL and flush - [[tracker emitter] setUrlEndpoint:TEST_SERVER_REQUEST]; - - [[LSNocilla sharedInstance] clearStubs]; - stubRequest(@"POST", [[NSString alloc] initWithFormat:@"%@://%@/com.snowplowanalytics.snowplow/tp2", protocol, TEST_SERVER_REQUEST]).andReturn(200); - - [[tracker emitter] flushBuffer]; - [self emitterSleep:[tracker emitter]]; - XCTAssertEqual(_successCount, 8); - XCTAssertEqual([tracker.emitter getDbCount], 0); -} - - (void)testRequestSendWithoutSubject { stubRequest(@"GET", [[NSString alloc] initWithFormat:@"^%@://%@/i?(.*?)", protocol, TEST_SERVER_REQUEST].regex).andReturn(200); diff --git a/Snowplow.xcodeproj/project.pbxproj b/Snowplow.xcodeproj/project.pbxproj index 93dc09a25..122b7adbb 100644 --- a/Snowplow.xcodeproj/project.pbxproj +++ b/Snowplow.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 23DFEC7B2362FA5D00BD19C4 /* FMDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752DAC0C21CC3EEA0065F874 /* FMDB.framework */; }; 23DFEC7D2362FAA500BD19C4 /* FMDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752DAC1021CC3F010065F874 /* FMDB.framework */; }; 23DFEC7E2362FAB100BD19C4 /* FMDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752DAC1321CC3F140065F874 /* FMDB.framework */; }; 23DFEC7F2362FAC700BD19C4 /* Nocilla.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 750E7F1121F2735C0050A993 /* Nocilla.framework */; }; @@ -77,10 +76,6 @@ 75CAC41221F2955100271FB3 /* TestRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 75CAC40121F2955100271FB3 /* TestRequest.m */; }; 75CAC41321F2955100271FB3 /* TestUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 75CAC40221F2955100271FB3 /* TestUtils.m */; }; 75CAC41A21F2959800271FB3 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB9E8213192DEC38006744C9 /* CoreTelephony.framework */; }; - 75CAC41D21F2962E00271FB3 /* VVJSONSchemaValidation.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 75CAC3C021F2930100271FB3 /* VVJSONSchemaValidation.framework */; }; - 75CAC41E21F2962E00271FB3 /* SnowplowIgluClient.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 75CAC3B921F28BD600271FB3 /* SnowplowIgluClient.framework */; }; - 75CAC41F21F2962E00271FB3 /* Nocilla.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 750E7F1121F2735C0050A993 /* Nocilla.framework */; }; - 75CAC42121F2962E00271FB3 /* FMDB.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 752DAC0C21CC3EEA0065F874 /* FMDB.framework */; }; 75CAC42221F2962E00271FB3 /* CoreTelephony.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = AB9E8213192DEC38006744C9 /* CoreTelephony.framework */; }; 75CAC42421F2967D00271FB3 /* SnowplowTracker.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 752DABCC21CC38550065F874 /* SnowplowTracker.framework */; }; 75CAC42A21F29E6C00271FB3 /* iglu_resolver.json in CopyFiles */ = {isa = PBXBuildFile; fileRef = 75CAC3FF21F2955100271FB3 /* iglu_resolver.json */; }; @@ -431,10 +426,6 @@ dstSubfolderSpec = 16; files = ( 75CAC42421F2967D00271FB3 /* SnowplowTracker.framework in CopyFiles */, - 75CAC41D21F2962E00271FB3 /* VVJSONSchemaValidation.framework in CopyFiles */, - 75CAC41E21F2962E00271FB3 /* SnowplowIgluClient.framework in CopyFiles */, - 75CAC41F21F2962E00271FB3 /* Nocilla.framework in CopyFiles */, - 75CAC42121F2962E00271FB3 /* FMDB.framework in CopyFiles */, 75CAC42221F2962E00271FB3 /* CoreTelephony.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; @@ -603,7 +594,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 23DFEC7B2362FA5D00BD19C4 /* FMDB.framework in Frameworks */, 752DAC4021CC4A830065F874 /* UIKit.framework in Frameworks */, 752DAC3F21CC4A7B0065F874 /* CoreTelephony.framework in Frameworks */, ); @@ -1124,6 +1114,7 @@ 752DABD121CC38560065F874 /* Frameworks */, 75CAC41C21F2960F00271FB3 /* CopyFiles */, 75CAC42921F29E5900271FB3 /* CopyFiles */, + EDCF841125A88B4D00C0C738 /* Run Script - Copy Frameworks (Carthage) */, ); buildRules = ( ); @@ -1292,6 +1283,35 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + EDCF841125A88B4D00C0C738 /* Run Script - Copy Frameworks (Carthage) */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/iOS/VVJSONSchemaValidation.framework", + "$(SRCROOT)/Carthage/Build/iOS/SnowplowIgluClient.framework", + "$(SRCROOT)/Carthage/Build/iOS/Nocilla.framework", + "$(SRCROOT)/Carthage/Build/iOS/FMDB.framework", + ); + name = "Run Script - Copy Frameworks (Carthage)"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/VVJSONSchemaValidation.framework", + "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Nocilla.framework", + "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SnowplowIgluClient.framework", + "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/FMDB.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/usr/local/bin/carthage copy-frameworks\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 752DABC821CC38550065F874 /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/Snowplow/SNOWReachability.m b/Snowplow/SNOWReachability.m index 61f0de592..89d0dcd78 100644 --- a/Snowplow/SNOWReachability.m +++ b/Snowplow/SNOWReachability.m @@ -123,4 +123,9 @@ - (SNOWNetworkStatus) reachabilityStatusForFlags:(SCNetworkReachabilityFlags)fla return returnValue; } + +- (void)dealloc { + CFRelease(_reachabilityRef); +} + @end diff --git a/Snowplow/Snowplow.m b/Snowplow/Snowplow.m index 33ca11ec7..25685f3e6 100644 --- a/Snowplow/Snowplow.m +++ b/Snowplow/Snowplow.m @@ -27,13 +27,13 @@ @implementation Snowplow // --- Version #if SNOWPLOW_TARGET_IOS -NSString * const kSPVersion = @"ios-1.6.1"; +NSString * const kSPVersion = @"ios-1.6.2"; #elif SNOWPLOW_TARGET_TV -NSString * const kSPVersion = @"tvos-1.6.1"; +NSString * const kSPVersion = @"tvos-1.6.2"; #elif SNOWPLOW_TARGET_WATCHOS -NSString * const kSPVersion = @"watchos-1.6.1"; +NSString * const kSPVersion = @"watchos-1.6.2"; #else -NSString * const kSPVersion = @"osx-1.6.1"; +NSString * const kSPVersion = @"osx-1.6.2"; #endif // --- Emitter diff --git a/SnowplowTracker.podspec b/SnowplowTracker.podspec index 8b3696ce7..37ab11fa1 100644 --- a/SnowplowTracker.podspec +++ b/SnowplowTracker.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "SnowplowTracker" - s.version = "1.6.1" + s.version = "1.6.2" s.summary = "Snowplow event tracker for iOS, macOS, tvOS, watchOS for apps and games." s.description = <<-DESC Snowplow is a mobile and event analytics platform with a difference: rather than tell our users how they should analyze their data, we deliver their event-level data in their own data warehouse, on their own Amazon Redshift or Postgres database, so they can analyze it any way they choose. Snowplow mobile is used by data-savvy games companies and app developers to better understand their users and how they engage with their games and applications. Snowplow is open source using the business-friendly Apache License, Version 2.0 and scales horizontally to many billions of events. diff --git a/VERSION b/VERSION index 9c6d6293b..fdd3be6df 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.6.1 +1.6.2