Skip to content

Commit 1ebac31

Browse files
authored
Merge pull request #406 from Countly/staging
Staging 25.4.4
2 parents 33d8fc9 + 7bad145 commit 1ebac31

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3345
-383
lines changed

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ AlignOperands: true
3030
AlignTrailingComments: true
3131

3232
# Import statements
33-
SortIncludes: true
33+
SortIncludes: true

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
## 25.4.4
2+
* Improved Health Check metric information.
3+
* Improved Content display mechanics.
4+
* Improved CPU architecture detection capabilities.
5+
6+
* Mitigated an issue about app version info in Health Check metrics.
7+
* Mitigated an SBS issue while in temporary ID mode.
8+
9+
## 25.4.3
10+
* Mitigated an issue where SDK behavior settings were set to default when fetching for new config.
11+
* Mitigated an issue where latest fetched behavior settings were replacing the current settings instead of merging.
12+
13+
## 25.4.2
14+
* Added fullscreen support for feedback widgets.
15+
* Added "disableSDKBehaviorSettingsUpdates" init config parameter to disable server config updates.
16+
* Improved request queue handling with a built-in backoff mechanism which is enabled by default.
17+
* Added "disableBackoffMechanism" init config parameter to disable backoff behavior.
18+
* Added support for SDK health checks after initialization
19+
20+
## 25.4.1
21+
* Mitigated an issue that could occur while serializing events to improve stability, performance and memory usage.
22+
23+
## 25.4.0
24+
* ! Minor breaking change ! Removed UIDevice.currentDevice.identifierForVendor usage in device id generation. The SDK now exclusively uses random UUIDs for device id generation.
25+
* ! Minor breaking change ! Server Configuration is now enabled by default. Changes made on SDK Manager > SDK Configuration on your server will affect SDK behavior directly.
26+
27+
* Added a Content feature method "refreshContentZone" that does a manual refresh.
28+
* Extended server configuration capabilities of the SDK.
29+
* Added a config parameter to provide server config in the initialization "sdkBehaviorSettings: NSString".
30+
31+
* Deprecated the experimental configuration function enableServerConfiguration and it will do nothing.
32+
33+
## 25.1.2
34+
* Mitigated an issue where the safe area resolution was not correctly calculated for the content zone on certain iOS devices.
35+
136
## 25.1.1
237
* Mitigated an issue while setting zone timer interval for content.
338

Countly-PL.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'Countly-PL'
3-
s.version = '25.1.1'
3+
s.version = '25.4.4'
44
s.license = { :type => 'MIT', :file => 'LICENSE' }
55
s.summary = 'Countly is an innovative, real-time, open source mobile analytics platform.'
66
s.homepage = 'https://github.com/Countly/countly-sdk-ios'

Countly.m

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ - (void)startWithConfig:(CountlyConfig *)config
9292

9393
config = [self checkAndFixInternalLimitsConfig:config];
9494

95+
if (config.disableSDKBehaviorSettingsUpdates) {
96+
[CountlyServerConfig.sharedInstance disableSDKBehaviourSettings];
97+
}
98+
[CountlyServerConfig.sharedInstance retrieveServerConfigFromStorage:config];
99+
95100
CountlyCommon.sharedInstance.maxKeyLength = config.sdkInternalLimits.getMaxKeyLength;
96101
CountlyCommon.sharedInstance.maxValueLength = config.sdkInternalLimits.getMaxValueSize;
97102
CountlyCommon.sharedInstance.maxSegmentationValues = config.sdkInternalLimits.getMaxSegmentationValues;
@@ -165,14 +170,8 @@ - (void)startWithConfig:(CountlyConfig *)config
165170
CountlyDeviceInfo.sharedInstance.customMetrics = [customMetricsTruncated cly_limited:@"Custom metric"];
166171

167172
[Countly.user save];
168-
169-
CountlyCommon.sharedInstance.enableServerConfiguration = config.enableServerConfiguration;
170-
171-
// Fetch server configs if 'enableServerConfiguration' is true.
172-
if (config.enableServerConfiguration)
173-
{
174-
[CountlyServerConfig.sharedInstance fetchServerConfig];
175-
}
173+
// If something added related to server config, make sure to check CountlyServerConfig.notifySdkConfigChange
174+
[CountlyServerConfig.sharedInstance fetchServerConfig:config];
176175

177176
#if (TARGET_OS_IOS)
178177
CountlyFeedbacksInternal.sharedInstance.message = config.starRatingMessage;
@@ -231,15 +230,21 @@ - (void)startWithConfig:(CountlyConfig *)config
231230
if ([config.features containsObject:CLYCrashReporting])
232231
{
233232
CountlyCrashReporter.sharedInstance.isEnabledOnInitialConfig = YES;
233+
if (CountlyServerConfig.sharedInstance.crashReportingEnabled)
234+
{
234235
[CountlyCrashReporter.sharedInstance startCrashReporting];
236+
}
235237
}
236238

237239
#if (TARGET_OS_IOS || TARGET_OS_TV )
238240
if (config.enableAutomaticViewTracking || [config.features containsObject:CLYAutoViewTracking])
239241
{
240242
// Print deprecation flag for feature
241243
CountlyViewTrackingInternal.sharedInstance.isEnabledOnInitialConfig = YES;
242-
[CountlyViewTrackingInternal.sharedInstance startAutoViewTracking];
244+
if (CountlyServerConfig.sharedInstance.viewTrackingEnabled)
245+
{
246+
[CountlyViewTrackingInternal.sharedInstance startAutoViewTracking];
247+
}
243248
}
244249
if (config.automaticViewTrackingExclusionList) {
245250
[CountlyViewTrackingInternal.sharedInstance addAutoViewTrackingExclutionList:config.automaticViewTrackingExclusionList];
@@ -315,6 +320,8 @@ - (void)startWithConfig:(CountlyConfig *)config
315320

316321
if (config.indirectAttribution)
317322
[self recordIndirectAttribution:config.indirectAttribution];
323+
324+
[CountlyHealthTracker.sharedInstance sendHealthCheck];
318325
}
319326

320327
- (CountlyConfig *) checkAndFixInternalLimitsConfig:(CountlyConfig *)config
@@ -444,17 +451,20 @@ - (void)resume
444451
- (void)applicationDidBecomeActive:(NSNotification *)notification
445452
{
446453
CLY_LOG_D(@"App enters foreground");
454+
[CountlyServerConfig.sharedInstance fetchServerConfigIfTimeIsUp];
447455
[self resume];
448456
}
449457

450458
- (void)applicationWillResignActive:(NSNotification *)notification
451459
{
452460
CLY_LOG_D(@"App enters background");
461+
[CountlyHealthTracker.sharedInstance saveState];
453462
}
454463

455464
- (void)applicationDidEnterBackground:(NSNotification *)notification
456465
{
457466
CLY_LOG_D(@"App did enter background.");
467+
[CountlyHealthTracker.sharedInstance saveState];
458468
[self suspend];
459469
}
460470

@@ -467,6 +477,8 @@ - (void)applicationWillTerminate:(NSNotification *)notification
467477
{
468478
CLY_LOG_D(@"App will terminate.");
469479

480+
[CountlyHealthTracker.sharedInstance saveState];
481+
470482
CountlyConnectionManager.sharedInstance.isTerminating = YES;
471483

472484
[CountlyViewTrackingInternal.sharedInstance applicationWillTerminate];
@@ -689,12 +701,14 @@ - (void)setIDInternal:(NSString *)deviceID onServer:(BOOL)onServer
689701
CLY_LOG_I(@"Going out of CLYTemporaryDeviceID mode and switching back to normal mode.");
690702

691703
[CountlyDeviceInfo.sharedInstance initializeDeviceID:deviceID];
692-
704+
693705
[CountlyPersistency.sharedInstance replaceAllTemporaryDeviceIDsInQueueWithDeviceID:deviceID];
694706

695707
[CountlyConnectionManager.sharedInstance proceedOnQueue];
696708

697709
[CountlyRemoteConfigInternal.sharedInstance downloadRemoteConfigAutomatically];
710+
711+
[CountlyHealthTracker.sharedInstance sendHealthCheck];
698712

699713
return;
700714
}
@@ -857,7 +871,12 @@ - (void)recordEvent:(NSString *)key segmentation:(NSDictionary *)segmentation co
857871
CLY_LOG_W(@"A reserved event detected for key: '%@', event will not be recorded.", key);
858872
return;
859873
}
860-
874+
if (!CountlyServerConfig.sharedInstance.customEventTrackingEnabled)
875+
{
876+
CLY_LOG_D(@"'recordEvent' is aborted: Custom Event Tracking is disabled from server config!");
877+
return;
878+
}
879+
861880
NSDictionary* truncated = [segmentation cly_truncated:@"Event segmentation"];
862881
segmentation = [truncated cly_limited:@"Event segmentation"];
863882

Countly.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'Countly'
3-
s.version = '25.1.1'
3+
s.version = '25.4.4'
44
s.license = { :type => 'MIT', :file => 'LICENSE' }
55
s.summary = 'Countly is an innovative, real-time, open source mobile analytics platform.'
66
s.homepage = 'https://github.com/Countly/countly-sdk-ios'

Countly.xcodeproj/project.pbxproj

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,14 @@
8282
3B20A9D32245228700E3D7AE /* CountlyPushNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B20A9AE2245228600E3D7AE /* CountlyPushNotifications.h */; };
8383
3B20A9D42245228700E3D7AE /* CountlyPersistency.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B20A9AF2245228600E3D7AE /* CountlyPersistency.m */; };
8484
3B20A9D62245228700E3D7AE /* CountlyConsentManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B20A9B12245228700E3D7AE /* CountlyConsentManager.h */; };
85+
962485BA2D9E971800FA3C20 /* TestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962485B92D9E971400FA3C20 /* TestUtils.swift */; };
86+
96329DE02D9426F300BFD641 /* CountlyServerConfigTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96329DDF2D9426F300BFD641 /* CountlyServerConfigTests.swift */; };
87+
96329DE22D94299D00BFD641 /* ServerConfigBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96329DE12D94299D00BFD641 /* ServerConfigBuilder.swift */; };
88+
96329DE42D952F1500BFD641 /* MockURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96329DE32D952F1500BFD641 /* MockURLProtocol.swift */; };
89+
965A2E9C2DDDCDAC00F28F6A /* CountlyHealthTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 965A2E9B2DDDCDAC00F28F6A /* CountlyHealthTracker.m */; };
90+
965A2E9D2DDDCDAC00F28F6A /* CountlyHealthTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 965A2E9A2DDDCDAC00F28F6A /* CountlyHealthTracker.h */; };
8591
968426812BF2302C007B303E /* CountlyConnectionManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 968426802BF2302C007B303E /* CountlyConnectionManagerTests.swift */; };
92+
96DA74BB2D9FB687006FA6FF /* MockFeedbackWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96DA74BA2D9FB687006FA6FF /* MockFeedbackWidget.swift */; };
8693
96E680422BFF89AC0091E105 /* CountlyCrashReporterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96E680412BFF89AC0091E105 /* CountlyCrashReporterTests.swift */; };
8794
D219374B248AC71C00E5798B /* CountlyPerformanceMonitoring.h in Headers */ = {isa = PBXBuildFile; fileRef = D2193749248AC71C00E5798B /* CountlyPerformanceMonitoring.h */; };
8895
D219374C248AC71C00E5798B /* CountlyPerformanceMonitoring.m in Sources */ = {isa = PBXBuildFile; fileRef = D219374A248AC71C00E5798B /* CountlyPerformanceMonitoring.m */; };
@@ -181,7 +188,15 @@
181188
3B20A9AE2245228600E3D7AE /* CountlyPushNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountlyPushNotifications.h; sourceTree = "<group>"; };
182189
3B20A9AF2245228600E3D7AE /* CountlyPersistency.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CountlyPersistency.m; sourceTree = "<group>"; };
183190
3B20A9B12245228700E3D7AE /* CountlyConsentManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountlyConsentManager.h; sourceTree = "<group>"; };
191+
962485B92D9E971400FA3C20 /* TestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestUtils.swift; sourceTree = "<group>"; };
192+
96329DDF2D9426F300BFD641 /* CountlyServerConfigTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyServerConfigTests.swift; sourceTree = "<group>"; };
193+
96329DE12D94299D00BFD641 /* ServerConfigBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConfigBuilder.swift; sourceTree = "<group>"; };
194+
96329DE32D952F1500BFD641 /* MockURLProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockURLProtocol.swift; sourceTree = "<group>"; };
195+
965A2E9A2DDDCDAC00F28F6A /* CountlyHealthTracker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CountlyHealthTracker.h; sourceTree = "<group>"; };
196+
965A2E9B2DDDCDAC00F28F6A /* CountlyHealthTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CountlyHealthTracker.m; sourceTree = "<group>"; };
197+
96681A9B2D97D9B300A4845A /* CountlyTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = CountlyTests.xctestplan; sourceTree = "<group>"; };
184198
968426802BF2302C007B303E /* CountlyConnectionManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyConnectionManagerTests.swift; sourceTree = "<group>"; };
199+
96DA74BA2D9FB687006FA6FF /* MockFeedbackWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockFeedbackWidget.swift; sourceTree = "<group>"; };
185200
96E680412BFF89AC0091E105 /* CountlyCrashReporterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyCrashReporterTests.swift; sourceTree = "<group>"; };
186201
D2193749248AC71C00E5798B /* CountlyPerformanceMonitoring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountlyPerformanceMonitoring.h; sourceTree = "<group>"; };
187202
D219374A248AC71C00E5798B /* CountlyPerformanceMonitoring.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CountlyPerformanceMonitoring.m; sourceTree = "<group>"; };
@@ -213,6 +228,11 @@
213228
1A5C4C952B35B0850032EE1F /* CountlyTests */ = {
214229
isa = PBXGroup;
215230
children = (
231+
96DA74BA2D9FB687006FA6FF /* MockFeedbackWidget.swift */,
232+
962485B92D9E971400FA3C20 /* TestUtils.swift */,
233+
96329DE32D952F1500BFD641 /* MockURLProtocol.swift */,
234+
96329DE12D94299D00BFD641 /* ServerConfigBuilder.swift */,
235+
96329DDF2D9426F300BFD641 /* CountlyServerConfigTests.swift */,
216236
1A5C4C962B35B0850032EE1F /* CountlyTests.swift */,
217237
1A50D7042B3C5AA3009C6938 /* CountlyBaseTestCase.swift */,
218238
1AFD79012B3EF82C00772FBD /* CountlyTests-Bridging-Header.h */,
@@ -231,6 +251,7 @@
231251
3B20A9782245225A00E3D7AE = {
232252
isa = PBXGroup;
233253
children = (
254+
96681A9B2D97D9B300A4845A /* CountlyTests.xctestplan */,
234255
39BDF7562CC7CA870066DE7C /* CountlyFeedbacks.h */,
235256
39BDF7582CC7CA920066DE7C /* CountlyFeedbacks.m */,
236257
39002D092C8B2E450049394F /* CountlyContentConfig.h */,
@@ -303,6 +324,8 @@
303324
3B20A9A42245228500E3D7AE /* CountlyUserDetails.m */,
304325
3B20A9A72245228500E3D7AE /* CountlyViewTrackingInternal.h */,
305326
3B20A9A32245228500E3D7AE /* CountlyViewTrackingInternal.m */,
327+
965A2E9A2DDDCDAC00F28F6A /* CountlyHealthTracker.h */,
328+
965A2E9B2DDDCDAC00F28F6A /* CountlyHealthTracker.m */,
306329
3B20A9862245225A00E3D7AE /* Info.plist */,
307330
1A5C4C952B35B0850032EE1F /* CountlyTests */,
308331
3B20A9832245225A00E3D7AE /* Products */,
@@ -338,6 +361,7 @@
338361
39BDF7572CC7CA870066DE7C /* CountlyFeedbacks.h in Headers */,
339362
3B20A9D32245228700E3D7AE /* CountlyPushNotifications.h in Headers */,
340363
3B20A9C42245228700E3D7AE /* CountlyUserDetails.h in Headers */,
364+
965A2E9D2DDDCDAC00F28F6A /* CountlyHealthTracker.h in Headers */,
341365
3961C6B72C6633C000DD38BA /* PassThroughBackgroundView.h in Headers */,
342366
3B20A9CA2245228700E3D7AE /* CountlyConfig.h in Headers */,
343367
3B20A9872245225A00E3D7AE /* Countly.h in Headers */,
@@ -472,14 +496,19 @@
472496
isa = PBXSourcesBuildPhase;
473497
buildActionMask = 2147483647;
474498
files = (
499+
96329DE22D94299D00BFD641 /* ServerConfigBuilder.swift in Sources */,
475500
1A5C4C972B35B0850032EE1F /* CountlyTests.swift in Sources */,
476501
3969D0232CB80848000F8A32 /* CountlyViewTests.swift in Sources */,
477502
399B46502C52813700AD384E /* CountlyLocationTests.swift in Sources */,
478503
1A50D7052B3C5AA3009C6938 /* CountlyBaseTestCase.swift in Sources */,
479504
3979E47D2C0760E900FA1CA4 /* CountlyUserProfileTests.swift in Sources */,
480505
968426812BF2302C007B303E /* CountlyConnectionManagerTests.swift in Sources */,
506+
96329DE42D952F1500BFD641 /* MockURLProtocol.swift in Sources */,
507+
96329DE02D9426F300BFD641 /* CountlyServerConfigTests.swift in Sources */,
481508
3966DBCF2C11EE270002ED97 /* CountlyDeviceIDTests.swift in Sources */,
482509
3964A3E72C2AF8E90091E677 /* CountlySegmentationTests.swift in Sources */,
510+
96DA74BB2D9FB687006FA6FF /* MockFeedbackWidget.swift in Sources */,
511+
962485BA2D9E971800FA3C20 /* TestUtils.swift in Sources */,
483512
3972EDDB2C08A38D00EB9D3E /* CountlyEventStruct.swift in Sources */,
484513
96E680422BFF89AC0091E105 /* CountlyCrashReporterTests.swift in Sources */,
485514
);
@@ -514,6 +543,7 @@
514543
1A3110712A7141AF001CB507 /* CountlyViewTracking.m in Sources */,
515544
3903429D2C8051C700238C96 /* CountlyExperimentalConfig.m in Sources */,
516545
1A3A576329ED47A20041B7BE /* CountlyServerConfig.m in Sources */,
546+
965A2E9C2DDDCDAC00F28F6A /* CountlyHealthTracker.m in Sources */,
517547
D219374C248AC71C00E5798B /* CountlyPerformanceMonitoring.m in Sources */,
518548
3B20A9B42245228700E3D7AE /* CountlyPushNotifications.m in Sources */,
519549
3B20A9C92245228700E3D7AE /* CountlyUserDetails.m in Sources */,
@@ -738,7 +768,7 @@
738768
"@loader_path/Frameworks",
739769
);
740770
MACOSX_DEPLOYMENT_TARGET = 10.14;
741-
MARKETING_VERSION = 25.1.1;
771+
MARKETING_VERSION = 25.4.4;
742772
PRODUCT_BUNDLE_IDENTIFIER = ly.count.CountlyiOSSDK;
743773
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
744774
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -770,7 +800,7 @@
770800
"@loader_path/Frameworks",
771801
);
772802
MACOSX_DEPLOYMENT_TARGET = 10.14;
773-
MARKETING_VERSION = 25.1.1;
803+
MARKETING_VERSION = 25.4.4;
774804
PRODUCT_BUNDLE_IDENTIFIER = ly.count.CountlyiOSSDK;
775805
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
776806
PROVISIONING_PROFILE_SPECIFIER = "";

Countly.xcodeproj/xcshareddata/xcschemes/CountlyTests.xcscheme

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@
88
</BuildAction>
99
<TestAction
1010
buildConfiguration = "Debug"
11-
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
12-
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
13-
shouldUseLaunchSchemeArgsEnv = "YES"
14-
shouldAutocreateTestPlan = "YES">
11+
selectedDebuggerIdentifier = ""
12+
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
13+
shouldUseLaunchSchemeArgsEnv = "YES">
14+
<TestPlans>
15+
<TestPlanReference
16+
reference = "container:CountlyTests.xctestplan"
17+
default = "YES">
18+
</TestPlanReference>
19+
</TestPlans>
1520
<Testables>
1621
<TestableReference
1722
skipped = "NO"
18-
parallelizable = "YES">
23+
parallelizable = "NO">
1924
<BuildableReference
2025
BuildableIdentifier = "primary"
2126
BlueprintIdentifier = "1A5C4C932B35B0850032EE1F"

CountlyCommon.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#import "CountlyCrashData.h"
3232
#import "CountlyContentBuilderInternal.h"
3333
#import "CountlyExperimentalConfig.h"
34+
#import "CountlyHealthTracker.h"
3435

3536
#define CLY_LOG_E(fmt, ...) CountlyInternalLog(CLYInternalLogLevelError, fmt, ##__VA_ARGS__)
3637
#define CLY_LOG_W(fmt, ...) CountlyInternalLog(CLYInternalLogLevelWarning, fmt, ##__VA_ARGS__)
@@ -88,7 +89,6 @@ extern NSString* const kCountlySDKName;
8889
@property (nonatomic) BOOL manualSessionHandling;
8990
@property (nonatomic) BOOL enableManualSessionControlHybridMode;
9091
@property (nonatomic) BOOL enableOrientationTracking;
91-
@property (nonatomic) BOOL enableServerConfiguration;
9292

9393
@property (nonatomic) BOOL enableVisibiltyTracking;
9494

@@ -124,6 +124,8 @@ void CountlyPrint(NSString *stringToPrint);
124124
- (BOOL)hasStarted_;
125125

126126
- (NSURLSession *)URLSession;
127+
128+
- (CGSize)getWindowSize;
127129
@end
128130

129131

0 commit comments

Comments
 (0)