Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
894ebcd
feat: session immediates
arifBurakDemiray Sep 29, 2025
5c59aec
feat: add changelog
arifBurakDemiray Sep 29, 2025
465d46b
fix: changelog
arifBurakDemiray Sep 29, 2025
1d6027b
fix: remove extra from changelog
arifBurakDemiray Sep 29, 2025
96528b5
refactor: screen size functions to acmm ios 26
arifBurakDemiray Oct 1, 2025
5ec8e6c
Simplify changelog entry for iOS 26 updates
arifBurakDemiray Oct 2, 2025
8b4400e
feat: user properties interface
arifBurakDemiray Oct 3, 2025
3435cf8
fix: logs
arifBurakDemiray Oct 3, 2025
b4c6071
refactor: unnecessary event packing
arifBurakDemiray Oct 3, 2025
4c3dd45
refactor: unnecessary event packing
arifBurakDemiray Oct 3, 2025
f11db93
fix: array existances be a single k-v
arifBurakDemiray Oct 3, 2025
a1682be
Merge branch 'staging' into mainscreen_dpc
arifBurakDemiray Nov 14, 2025
e90a720
Merge branch 'staging' into session_immediates
arifBurakDemiray Mar 12, 2026
2c27448
feat: fix post flutter tests
arifBurakDemiray Apr 1, 2026
2b6a52d
fix: support parallel runs
arifBurakDemiray Apr 6, 2026
e9deaf2
fix: add validations
arifBurakDemiray Apr 6, 2026
7c75387
chore: revert format
arifBurakDemiray Apr 6, 2026
9ae1fbe
Merge branch 'staging' into session_immediates
arifBurakDemiray Apr 16, 2026
2da29fb
Merge branch 'staging' into user_props
arifBurakDemiray Apr 30, 2026
9e2d4cd
feat: new user functions changelog
arifBurakDemiray Apr 30, 2026
45a3aec
feat: provided user config
arifBurakDemiray Apr 30, 2026
f4681ae
feat: picture max size config
arifBurakDemiray Apr 30, 2026
a584d67
feat: picture max size config: impl
arifBurakDemiray Apr 30, 2026
3f284c8
feat: picture max size config: impl
arifBurakDemiray Apr 30, 2026
2d2354e
feat: new functions interface
arifBurakDemiray Apr 30, 2026
89f170e
feat: new functions interface: impl
arifBurakDemiray Apr 30, 2026
55c5080
feat: new functions interface: tests
arifBurakDemiray Apr 30, 2026
9a3418d
Update CHANGELOG.md
arifBurakDemiray Apr 30, 2026
424a6e6
Merge pull request #451 from Countly/fix_post_flutter_tests
arifBurakDemiray Apr 30, 2026
c568bb5
Merge branch 'staging' into user_props
arifBurakDemiray Apr 30, 2026
86a7ab8
feat: single array modiciations as value
arifBurakDemiray Apr 30, 2026
00a716c
Merge branch 'user_props' of https://github.com/Countly/countly-sdk-i…
arifBurakDemiray Apr 30, 2026
1ee4ce1
chore: removee unnecessary flaggings
arifBurakDemiray May 4, 2026
75d27ad
feat: deprecate user interface
arifBurakDemiray May 4, 2026
f68c52e
Merge branch 'staging' into session_immediates
arifBurakDemiray May 11, 2026
03ad04f
Update CHANGELOG.md
arifBurakDemiray May 11, 2026
d7f7e45
Merge branch 'staging' into mainscreen_dpc
arifBurakDemiray May 11, 2026
dd27853
feat: review changes
arifBurakDemiray May 11, 2026
9e14e7a
Merge pull request #452 from Countly/session_immediates
arifBurakDemiray May 11, 2026
9eaaf41
fix: after review
arifBurakDemiray May 11, 2026
055c7a7
Merge branch 'staging' into mainscreen_dpc
arifBurakDemiray May 12, 2026
ed8992d
Merge pull request #420 from Countly/mainscreen_dpc
arifBurakDemiray May 12, 2026
3dd59eb
Merge branch 'staging' into user_props
arifBurakDemiray May 25, 2026
a3c8eb8
feat: more detailed test
arifBurakDemiray Jun 11, 2026
6c72f3a
feat: update with latest findings
arifBurakDemiray Jun 11, 2026
224446f
Update CHANGELOG.md
turtledreams Jun 12, 2026
fad0397
Merge pull request #421 from Countly/user_props
turtledreams Jun 12, 2026
e1f6f7b
fix: temp id leak on contents
arifBurakDemiray Jun 23, 2026
a42c8dc
feat: add time fields to sbs
arifBurakDemiray Jun 23, 2026
5b2e83e
feat: re-fetch sbs after exiting temp id
arifBurakDemiray Jun 23, 2026
1bb0677
Merge pull request #456 from Countly/add_time_fields
arifBurakDemiray Jun 23, 2026
20a8c68
Merge pull request #455 from Countly/fix_temp_id
arifBurakDemiray Jun 23, 2026
587e674
feat: xros support
arifBurakDemiray Jun 23, 2026
969df69
Merge pull request #457 from Countly/xros_support
arifBurakDemiray Jun 23, 2026
8f128c3
feat: ios 26 support
arifBurakDemiray Jun 23, 2026
ce14ee2
Update CHANGELOG.md
arifBurakDemiray Jun 24, 2026
154921c
feat: remove webkit from visionos for now
arifBurakDemiray Jun 24, 2026
30d4ab7
Merge pull request #458 from Countly/ios26_support
arifBurakDemiray Jun 24, 2026
52c534c
fix: tests for isolation
arifBurakDemiray Jun 24, 2026
2a2397b
Merge pull request #459 from Countly/fix_tests
arifBurakDemiray Jun 24, 2026
e494401
feat: 26.1.2
arifBurakDemiray Jun 24, 2026
b66ed81
Merge pull request #460 from Countly/26_1_2
arifBurakDemiray Jun 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
## 26.1.2
* ! Minor breaking change ! Raised the minimum supported deployment target to iOS 12 and tvOS 12 (previously iOS 10 and tvOS 10) for compatibility with Xcode 26 and the iOS 26 SDK. Apps targeting iOS 10/11 or tvOS 10/11 are no longer supported.

* Added support for building against the iOS 26 SDK with Xcode 26.
* Added a new user properties functions on `CountlyUserDetails`:
* `setProperty:value:` for setting a single predefined or custom user property.
* `setProperties:` for setting multiple predefined and custom properties in one call.
* Added `providedUserProperties` to `CountlyConfig` to set initial user properties that are applied and saved automatically right after `start`.
* Added `setMaxValueSizePicture:` to `CountlySDKLimitsConfig` to control the maximum size of picture URLs and picture paths independently of other value limits (default 4096).
* Updated resolution extraction to accommodate iOS 26 deprecations.

* Mitigated a race condition in the request queue that could drop or duplicate requests.
* Mitigated an issue where non-queued requests were affected from request timeout settings.
* Mitigated an issue where default SDK behavior settings overrode user-provided SDK limits.
* Mitigated an issue where consent could be sent twice during initialization when enabled via SDK Behavior Settings.
* Mitigated an issue where content fetches and remote config requests could be sent while in temporary device ID mode, creating a `CLYTemporaryDeviceID` user on the server.

* Deprecated the direct property setters on `CountlyUserDetails`: `name`, `username`, `email`, `organization`, `phone`, `gender`, `pictureURL`, `pictureLocalPath`, `birthYear`, `custom`. Use `setProperty:value:` or `setProperties:` instead.
* Deprecated `set:value:`, `set:numberValue:`, `set:boolValue:` on `CountlyUserDetails`. Use `setProperty:value:` instead.
* Deprecated `unSet:` on `CountlyUserDetails`. Use `setProperty:value:` with an empty string `@""` to clear a property on the server.
* Deprecated the `+ user` class accessor on `Countly`. Use `Countly.sharedInstance.userProfile` instead.

## 26.1.1
* Added POST method support for contents.
* Added robust resource loading checks before displaying content
Expand Down
2 changes: 1 addition & 1 deletion Countly-PL.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Countly-PL'
s.version = '26.1.1'
s.version = '26.1.2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.summary = 'Countly is an innovative, real-time, open source mobile analytics platform.'
s.homepage = 'https://github.com/Countly/countly-sdk-ios'
Expand Down
4 changes: 3 additions & 1 deletion Countly.h
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ NS_ASSUME_NONNULL_BEGIN
* Returns @c CountlyUserDetails singleton to be used throughout the app.
* @return The shared @c CountlyUserDetails object
*/
+ (CountlyUserDetails *)user;
+ (CountlyUserDetails *)user DEPRECATED_MSG_ATTRIBUTE("Use -userProfile via Countly.sharedInstance instead (e.g., Countly.sharedInstance.userProfile).");



Expand Down Expand Up @@ -705,6 +705,8 @@ NS_ASSUME_NONNULL_BEGIN
* @discussion Feedback widget interface for developer to interact with SDK.
*/
- (CountlyFeedbacks *) feedback;

- (CountlyUserDetails *) userProfile;
#endif


Expand Down
30 changes: 25 additions & 5 deletions Countly.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ @interface Countly ()
{
NSTimer* timer;
BOOL isSuspended;
CountlyConfig* _startConfig;
}
@end

Expand Down Expand Up @@ -101,16 +102,18 @@ - (void)startWithConfig:(CountlyConfig *)config
CountlyCommon.sharedInstance.shouldIgnoreTrustCheck = config.shouldIgnoreTrustCheck;
CountlyCommon.sharedInstance.loggerDelegate = config.loggerDelegate;
CountlyCommon.sharedInstance.internalLogLevel = config.internalLogLevel;

config = [self checkAndFixInternalLimitsConfig:config];

_startConfig = config;

if (config.disableSDKBehaviorSettingsUpdates) {
[CountlyServerConfig.sharedInstance disableSDKBehaviourSettings];
}
[CountlyServerConfig.sharedInstance retrieveServerConfigFromStorage:config];

CountlyCommon.sharedInstance.maxKeyLength = config.sdkInternalLimits.getMaxKeyLength;
CountlyCommon.sharedInstance.maxValueLength = config.sdkInternalLimits.getMaxValueSize;
CountlyCommon.sharedInstance.maxValueLengthPicture = config.sdkInternalLimits.getMaxValueSizePicture;
CountlyCommon.sharedInstance.maxSegmentationValues = config.sdkInternalLimits.getMaxSegmentationValues;

// For backward compatibility, deprecated values are only set incase new values are not provided using sdkInternalLimits interface
Expand Down Expand Up @@ -165,8 +168,13 @@ - (void)startWithConfig:(CountlyConfig *)config

NSDictionary* customMetricsTruncated = [config.customMetrics cly_truncated:@"Custom metric"];
CountlyDeviceInfo.sharedInstance.customMetrics = [customMetricsTruncated cly_limited:@"Custom metric"];

[Countly.user save];

if (config.providedUserProperties.count > 0) {
CLY_LOG_I(@"%s applying providedUserProperties at init [%lu]", __FUNCTION__, (unsigned long)config.providedUserProperties.count);
[Countly.sharedInstance.userProfile setProperties:config.providedUserProperties];
}

[Countly.sharedInstance.userProfile save];
// If something added related to server config, make sure to check CountlyServerConfig.notifySdkConfigChange
[CountlyServerConfig.sharedInstance fetchServerConfig:config];

Expand Down Expand Up @@ -326,6 +334,8 @@ - (void)startWithConfig:(CountlyConfig *)config
[self recordIndirectAttribution:config.indirectAttribution];

[CountlyHealthTracker.sharedInstance sendHealthCheck];

CountlyCommon.sharedInstance.hasFinishedInit = YES;
}

- (CountlyConfig *) checkAndFixInternalLimitsConfig:(CountlyConfig *)config
Expand Down Expand Up @@ -731,8 +741,10 @@ - (void)setIDInternal:(NSString *)deviceID onServer:(BOOL)onServer

[CountlyConnectionManager.sharedInstance proceedOnQueue];

[CountlyServerConfig.sharedInstance fetchServerConfig:_startConfig];

[CountlyRemoteConfigInternal.sharedInstance downloadRemoteConfigAutomatically];

[CountlyHealthTracker.sharedInstance sendHealthCheck];

return;
Expand Down Expand Up @@ -1544,6 +1556,9 @@ - (void)halt:(BOOL) clearStorage
[CountlyDeviceInfo.sharedInstance resetInstance];
[CountlyConnectionManager.sharedInstance resetInstance];
[CountlyServerConfig.sharedInstance resetInstance];
#if (TARGET_OS_IOS)
[CountlyContentBuilderInternal.sharedInstance resetInstance];
#endif
[CountlyUserDetails.sharedInstance clearUserDetails];
[self resetInstance];
[CountlyCommon.sharedInstance resetInstance];
Expand Down Expand Up @@ -1611,4 +1626,9 @@ - (CountlyRemoteConfig *) remoteConfig {
return CountlyRemoteConfig.sharedInstance;
}

- (CountlyUserDetails *) userProfile
{
return CountlyUserDetails.sharedInstance;
}

@end
10 changes: 6 additions & 4 deletions Countly.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Countly'
s.version = '26.1.1'
s.version = '26.1.2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.summary = 'Countly is an innovative, real-time, open source mobile analytics platform.'
s.homepage = 'https://github.com/Countly/countly-sdk-ios'
Expand All @@ -10,21 +10,23 @@ Pod::Spec.new do |s|

s.requires_arc = true
s.default_subspecs = 'Core'
s.ios.deployment_target = '10.0'
s.ios.deployment_target = '12.0'
s.osx.deployment_target = '10.14'
s.watchos.deployment_target = '4.0'
s.tvos.deployment_target = '10.0'
s.tvos.deployment_target = '12.0'
s.visionos.deployment_target = '1.0'

s.subspec 'Core' do |core|
core.source_files = '*.{h,m}'
core.public_header_files = 'Countly.h', 'CountlyUserDetails.h', 'CountlyConfig.h', 'CountlyFeedbackWidget.h', 'CountlyRCData.h', 'CountlyRemoteConfig.h', 'CountlyViewTracking.h', 'CountlyExperimentInformation.h', 'CountlyAPMConfig.h', 'CountlySDKLimitsConfig.h', 'Resettable.h', "CountlyCrashesConfig.h", "CountlyCrashData.h", "CountlyContentBuilder.h", "CountlyExperimentalConfig.h", "CountlyContentConfig.h", "CountlyFeedbacks.h"
core.preserve_path = 'countly_dsym_uploader.sh'
core.ios.frameworks = ['Foundation', 'UIKit', 'UserNotifications', 'CoreLocation', 'WebKit', 'CoreTelephony', 'WatchConnectivity']
core.visionos.frameworks = ['Foundation', 'UIKit', 'UserNotifications', 'CoreLocation']
end

s.subspec 'NotificationService' do |ns|
ns.source_files = 'CountlyNotificationService.{m,h}'
ns.ios.deployment_target = '10.0'
ns.ios.deployment_target = '12.0'
ns.ios.frameworks = ['Foundation', 'UserNotifications']
end

Expand Down
24 changes: 16 additions & 8 deletions Countly.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,15 @@
96095A5F2F20105600FDE933 /* TouchDelegatingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 96095A5E2F20105600FDE933 /* TouchDelegatingView.h */; };
962485BA2D9E971800FA3C20 /* TestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962485B92D9E971400FA3C20 /* TestUtils.swift */; };
96329DE02D9426F300BFD641 /* CountlyServerConfigTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96329DDF2D9426F300BFD641 /* CountlyServerConfigTests.swift */; };
ABCDE001000000000000ABCD /* CountlyServerConfigValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABCDE002000000000000ABCD /* CountlyServerConfigValidationTests.swift */; };
96329DE22D94299D00BFD641 /* ServerConfigBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96329DE12D94299D00BFD641 /* ServerConfigBuilder.swift */; };
96329DE42D952F1500BFD641 /* MockURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96329DE32D952F1500BFD641 /* MockURLProtocol.swift */; };
965A2E9C2DDDCDAC00F28F6A /* CountlyHealthTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 965A2E9B2DDDCDAC00F28F6A /* CountlyHealthTracker.m */; };
965A2E9D2DDDCDAC00F28F6A /* CountlyHealthTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 965A2E9A2DDDCDAC00F28F6A /* CountlyHealthTracker.h */; };
9673567F2EC60CD400C742D8 /* TestURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9673567E2EC60CD400C742D8 /* TestURLProtocol.swift */; };
968426812BF2302C007B303E /* CountlyConnectionManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 968426802BF2302C007B303E /* CountlyConnectionManagerTests.swift */; };
96CB10A12F04B3A100D1E2F0 /* CountlyContentBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96CB10A02F04B3A100D1E2F0 /* CountlyContentBuilderTests.swift */; };
AB10000011112222333344A1 /* CountlyScreenMetricsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB10000011112222333344A0 /* CountlyScreenMetricsTests.swift */; };
9691B7652F1FA35500A6ADCB /* CountlyOverlayWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 9691B7642F1FA35500A6ADCB /* CountlyOverlayWindow.h */; };
9691B7672F1FA35C00A6ADCB /* CountlyOverlayWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 9691B7662F1FA35C00A6ADCB /* CountlyOverlayWindow.m */; };
969E5BCE2ECC4D3200AB406A /* CountlyConsentManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 969E5BCD2ECC4D2C00AB406A /* CountlyConsentManagerTests.swift */; };
Expand Down Expand Up @@ -210,6 +212,7 @@
96095A5E2F20105600FDE933 /* TouchDelegatingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TouchDelegatingView.h; sourceTree = "<group>"; };
962485B92D9E971400FA3C20 /* TestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestUtils.swift; sourceTree = "<group>"; };
96329DDF2D9426F300BFD641 /* CountlyServerConfigTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyServerConfigTests.swift; sourceTree = "<group>"; };
ABCDE002000000000000ABCD /* CountlyServerConfigValidationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyServerConfigValidationTests.swift; sourceTree = "<group>"; };
96329DE12D94299D00BFD641 /* ServerConfigBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerConfigBuilder.swift; sourceTree = "<group>"; };
96329DE32D952F1500BFD641 /* MockURLProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockURLProtocol.swift; sourceTree = "<group>"; };
965A2E9A2DDDCDAC00F28F6A /* CountlyHealthTracker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CountlyHealthTracker.h; sourceTree = "<group>"; };
Expand All @@ -218,6 +221,7 @@
9673567E2EC60CD400C742D8 /* TestURLProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestURLProtocol.swift; sourceTree = "<group>"; };
968426802BF2302C007B303E /* CountlyConnectionManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyConnectionManagerTests.swift; sourceTree = "<group>"; };
96CB10A02F04B3A100D1E2F0 /* CountlyContentBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyContentBuilderTests.swift; sourceTree = "<group>"; };
AB10000011112222333344A0 /* CountlyScreenMetricsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyScreenMetricsTests.swift; sourceTree = "<group>"; };
9691B7642F1FA35500A6ADCB /* CountlyOverlayWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CountlyOverlayWindow.h; sourceTree = "<group>"; };
9691B7662F1FA35C00A6ADCB /* CountlyOverlayWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CountlyOverlayWindow.m; sourceTree = "<group>"; };
969E5BCD2ECC4D2C00AB406A /* CountlyConsentManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountlyConsentManagerTests.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -268,11 +272,13 @@
96329DE32D952F1500BFD641 /* MockURLProtocol.swift */,
96329DE12D94299D00BFD641 /* ServerConfigBuilder.swift */,
96329DDF2D9426F300BFD641 /* CountlyServerConfigTests.swift */,
ABCDE002000000000000ABCD /* CountlyServerConfigValidationTests.swift */,
1A5C4C962B35B0850032EE1F /* CountlyTests.swift */,
1A50D7042B3C5AA3009C6938 /* CountlyBaseTestCase.swift */,
1AFD79012B3EF82C00772FBD /* CountlyTests-Bridging-Header.h */,
968426802BF2302C007B303E /* CountlyConnectionManagerTests.swift */,
96CB10A02F04B3A100D1E2F0 /* CountlyContentBuilderTests.swift */,
AB10000011112222333344A0 /* CountlyScreenMetricsTests.swift */,
96E680412BFF89AC0091E105 /* CountlyCrashReporterTests.swift */,
EBD1642D826B471A80175BE3 /* CountlyWebViewManagerTests.swift */,
265156CB5F59417EA14BAC2F /* CountlyWebViewManager+Tests.h */,
Expand Down Expand Up @@ -555,8 +561,10 @@
3979E47D2C0760E900FA1CA4 /* CountlyUserProfileTests.swift in Sources */,
968426812BF2302C007B303E /* CountlyConnectionManagerTests.swift in Sources */,
96CB10A12F04B3A100D1E2F0 /* CountlyContentBuilderTests.swift in Sources */,
AB10000011112222333344A1 /* CountlyScreenMetricsTests.swift in Sources */,
96329DE42D952F1500BFD641 /* MockURLProtocol.swift in Sources */,
96329DE02D9426F300BFD641 /* CountlyServerConfigTests.swift in Sources */,
ABCDE001000000000000ABCD /* CountlyServerConfigValidationTests.swift in Sources */,
3966DBCF2C11EE270002ED97 /* CountlyDeviceIDTests.swift in Sources */,
3964A3E72C2AF8E90091E677 /* CountlySegmentationTests.swift in Sources */,
96DA74BB2D9FB687006FA6FF /* MockFeedbackWidget.swift in Sources */,
Expand Down Expand Up @@ -736,13 +744,13 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = "";
SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos";
SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos xros xrsimulator";
SUPPORTS_MACCATALYST = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
Expand Down Expand Up @@ -797,12 +805,12 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = "";
SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos";
SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos xros xrsimulator";
SUPPORTS_MACCATALYST = YES;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
Expand All @@ -823,14 +831,14 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 26.1.1;
MARKETING_VERSION = 26.1.2;
PRODUCT_BUNDLE_IDENTIFIER = ly.count.CountlyiOSSDK;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -855,14 +863,14 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 26.1.1;
MARKETING_VERSION = 26.1.2;
PRODUCT_BUNDLE_IDENTIFIER = ly.count.CountlyiOSSDK;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down
5 changes: 5 additions & 0 deletions CountlyCommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ extern NSString* const kCountlySDKName;
@property (nonatomic, copy) NSString* SDKName;

@property (nonatomic) BOOL hasStarted;
@property (nonatomic) BOOL hasFinishedInit;
@property (nonatomic) BOOL enableDebug;

@property (nonatomic) BOOL shouldIgnoreTrustCheck;
Expand All @@ -95,6 +96,7 @@ extern NSString* const kCountlySDKName;

@property (nonatomic) NSUInteger maxKeyLength;
@property (nonatomic) NSUInteger maxValueLength;
@property (nonatomic) NSUInteger maxValueLengthPicture;
@property (nonatomic) NSUInteger maxSegmentationValues;

void CountlyInternalLog(CLYInternalLogLevel level, NSString *format, ...) NS_FORMAT_FUNCTION(2, 3);
Expand Down Expand Up @@ -125,6 +127,8 @@ void CountlyPrint(NSString *stringToPrint);

- (NSURLSession *)URLSession;

- (NSURLSession *)ImmediateURLSession;

- (CGSize)getWindowSize;
@end

Expand Down Expand Up @@ -154,6 +158,7 @@ void CountlyPrint(NSString *stringToPrint);
- (NSString *)cly_valueForQueryStringKey:(NSString *)key;
- (NSString *)cly_truncatedKey:(NSString *)explanation;
- (NSString *)cly_truncatedValue:(NSString *)explanation;
- (NSString *)cly_truncatedPictureValue:(NSString *)explanation;
@end

@interface NSArray (Countly)
Expand Down
Loading
Loading