Skip to content

Commit

Permalink
Release 4.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
jg zhu committed Feb 22, 2022
1 parent f25799c commit f8c52cd
Show file tree
Hide file tree
Showing 40 changed files with 916 additions and 526 deletions.
8 changes: 4 additions & 4 deletions SensorsAnalyticsSDK.podspec
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
Pod::Spec.new do |s|
s.name = "SensorsAnalyticsSDK"
s.version = "4.2.1"
s.version = "4.2.2"
s.summary = "The official iOS SDK of Sensors Analytics."
s.homepage = "http://www.sensorsdata.cn"
s.source = { :git => 'https://github.com/sensorsdata/sa-sdk-ios.git', :tag => "v#{s.version}" }
s.source = { :git => 'https://github.com/sensorsdata/sa-sdk-ios.git', :tag => "v#{s.version}" }
s.license = { :type => "Apache License, Version 2.0" }
s.author = { "Yuhan ZOU" => "[email protected]" }
s.ios.deployment_target = '8.0'
s.osx.deployment_target = '10.10'
s.default_subspec = 'Core'
s.frameworks = 'Foundation', 'SystemConfiguration'

s.libraries = 'icucore', 'sqlite3', 'z'
s.libraries = 'icucore', 'z'

s.subspec '__Store' do |ss|
ss.source_files = 'SensorsAnalyticsSDK/Store/*.{h,m}'
Expand Down Expand Up @@ -39,7 +39,7 @@ Pod::Spec.new do |s|
c.ios.source_files = 'SensorsAnalyticsSDK/RemoteConfig/**/*.{h,m}', 'SensorsAnalyticsSDK/ChannelMatch/**/*.{h,m}', 'SensorsAnalyticsSDK/Encrypt/**/*.{h,m}', 'SensorsAnalyticsSDK/Deeplink/**/*.{h,m}', 'SensorsAnalyticsSDK/DebugMode/**/*.{h,m}', 'SensorsAnalyticsSDK/Core/SAAlertController.h'
c.ios.public_header_files = 'SensorsAnalyticsSDK/{Encrypt,RemoteConfig,ChannelMatch,Deeplink,DebugMode}/{SAConfigOptions,SensorsAnalyticsSDK}+*.h', 'SensorsAnalyticsSDK/Encrypt/SAEncryptProtocol.h', 'SensorsAnalyticsSDK/Encrypt/SASecretKey.h'
end

s.subspec 'Core' do |c|
c.ios.dependency 'SensorsAnalyticsSDK/Visualized'
c.osx.dependency 'SensorsAnalyticsSDK/Common'
Expand Down
36 changes: 20 additions & 16 deletions SensorsAnalyticsSDK.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
objects = {

/* Begin PBXBuildFile section */
451427A12796B353004DE16C /* SAPresetPropertyObjectTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 451427A02796B353004DE16C /* SAPresetPropertyObjectTest.m */; };
451427A32796BD85004DE16C /* SAPhonePresetPropertyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 451427A22796BD85004DE16C /* SAPhonePresetPropertyTest.m */; };
451427A52796C5A1004DE16C /* SACatalystPresetPropertyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 451427A42796C5A1004DE16C /* SACatalystPresetPropertyTest.m */; };
452472C8273E3ACB00865E44 /* SADelegateProxyObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 452472C6273E3ACB00865E44 /* SADelegateProxyObject.h */; };
452472C9273E3ACB00865E44 /* SADelegateProxyObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 452472C7273E3ACB00865E44 /* SADelegateProxyObject.m */; };
45A5655C263C174300C9C41B /* SAIDFAHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 45A56548263C174300C9C41B /* SAIDFAHelper.m */; };
Expand All @@ -32,6 +35,8 @@
45A565BD263C17E400C9C41B /* SAReferrerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 45A565B9263C17E400C9C41B /* SAReferrerManager.m */; };
45A565BE263C17E400C9C41B /* SAAppLifecycle.m in Sources */ = {isa = PBXBuildFile; fileRef = 45A565BA263C17E400C9C41B /* SAAppLifecycle.m */; };
45A565BF263C17E400C9C41B /* SAAppLifecycle.h in Headers */ = {isa = PBXBuildFile; fileRef = 45A565BB263C17E400C9C41B /* SAAppLifecycle.h */; };
45BBC8CF2787DF22004D2D0C /* SAPresetPropertyObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 45BBC8CD2787DF22004D2D0C /* SAPresetPropertyObject.h */; };
45BBC8D02787DF22004D2D0C /* SAPresetPropertyObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 45BBC8CE2787DF22004D2D0C /* SAPresetPropertyObject.m */; };
45BD80CE26F0B49700DCC759 /* SAThreadSafeDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 45BD80CC26F0B49700DCC759 /* SAThreadSafeDictionary.h */; };
45BD80CF26F0B49700DCC759 /* SAThreadSafeDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 45BD80CD26F0B49700DCC759 /* SAThreadSafeDictionary.m */; };
4D14F13E25FC5BF200113EA2 /* SAVisualizedUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D14F13C25FC5BF200113EA2 /* SAVisualizedUtils.m */; };
Expand Down Expand Up @@ -84,8 +89,6 @@
4DA89BC225C2BC1E003ABA43 /* SAReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DA89BBE25C2BC1E003ABA43 /* SAReachability.h */; };
4DA89BC325C2BC1E003ABA43 /* SANetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DA89BBF25C2BC1E003ABA43 /* SANetwork.h */; };
4DA89BC425C2BC1E003ABA43 /* SAReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DA89BC025C2BC1E003ABA43 /* SAReachability.m */; };
4DD1281825F8721A008C0B1E /* UIView+SAElementSelector.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DD1281625F8721A008C0B1E /* UIView+SAElementSelector.m */; };
4DD1281925F8721A008C0B1E /* UIView+SAElementSelector.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD1281725F8721A008C0B1E /* UIView+SAElementSelector.h */; };
4DD1282025F87225008C0B1E /* UIView+SAElementPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD1281D25F87225008C0B1E /* UIView+SAElementPath.h */; };
4DD1282125F87225008C0B1E /* SAVisualizedViewPathProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD1281E25F87225008C0B1E /* SAVisualizedViewPathProperty.h */; };
4DD1282225F87225008C0B1E /* UIView+SAElementPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DD1281F25F87225008C0B1E /* UIView+SAElementPath.m */; };
Expand Down Expand Up @@ -377,6 +380,9 @@
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
451427A02796B353004DE16C /* SAPresetPropertyObjectTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAPresetPropertyObjectTest.m; sourceTree = "<group>"; };
451427A22796BD85004DE16C /* SAPhonePresetPropertyTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAPhonePresetPropertyTest.m; sourceTree = "<group>"; };
451427A42796C5A1004DE16C /* SACatalystPresetPropertyTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SACatalystPresetPropertyTest.m; sourceTree = "<group>"; };
452472C6273E3ACB00865E44 /* SADelegateProxyObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SADelegateProxyObject.h; sourceTree = "<group>"; };
452472C7273E3ACB00865E44 /* SADelegateProxyObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SADelegateProxyObject.m; sourceTree = "<group>"; };
45A56548263C174300C9C41B /* SAIDFAHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAIDFAHelper.m; sourceTree = "<group>"; };
Expand All @@ -402,6 +408,8 @@
45A565B9263C17E400C9C41B /* SAReferrerManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAReferrerManager.m; sourceTree = "<group>"; };
45A565BA263C17E400C9C41B /* SAAppLifecycle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAAppLifecycle.m; sourceTree = "<group>"; };
45A565BB263C17E400C9C41B /* SAAppLifecycle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SAAppLifecycle.h; sourceTree = "<group>"; };
45BBC8CD2787DF22004D2D0C /* SAPresetPropertyObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAPresetPropertyObject.h; sourceTree = "<group>"; };
45BBC8CE2787DF22004D2D0C /* SAPresetPropertyObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAPresetPropertyObject.m; sourceTree = "<group>"; };
45BD80CC26F0B49700DCC759 /* SAThreadSafeDictionary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAThreadSafeDictionary.h; sourceTree = "<group>"; };
45BD80CD26F0B49700DCC759 /* SAThreadSafeDictionary.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAThreadSafeDictionary.m; sourceTree = "<group>"; };
4D14F13C25FC5BF200113EA2 /* SAVisualizedUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAVisualizedUtils.m; sourceTree = "<group>"; };
Expand Down Expand Up @@ -476,8 +484,6 @@
4DA89BBE25C2BC1E003ABA43 /* SAReachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SAReachability.h; sourceTree = "<group>"; };
4DA89BBF25C2BC1E003ABA43 /* SANetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SANetwork.h; sourceTree = "<group>"; };
4DA89BC025C2BC1E003ABA43 /* SAReachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAReachability.m; sourceTree = "<group>"; };
4DD1281625F8721A008C0B1E /* UIView+SAElementSelector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+SAElementSelector.m"; sourceTree = "<group>"; };
4DD1281725F8721A008C0B1E /* UIView+SAElementSelector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+SAElementSelector.h"; sourceTree = "<group>"; };
4DD1281D25F87225008C0B1E /* UIView+SAElementPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+SAElementPath.h"; sourceTree = "<group>"; };
4DD1281E25F87225008C0B1E /* SAVisualizedViewPathProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SAVisualizedViewPathProperty.h; sourceTree = "<group>"; };
4DD1281F25F87225008C0B1E /* UIView+SAElementPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+SAElementPath.m"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -799,6 +805,8 @@
45A56548263C174300C9C41B /* SAIDFAHelper.m */,
45A5654B263C174300C9C41B /* SAPresetProperty.h */,
45A5655A263C174300C9C41B /* SAPresetProperty.m */,
45BBC8CD2787DF22004D2D0C /* SAPresetPropertyObject.h */,
45BBC8CE2787DF22004D2D0C /* SAPresetPropertyObject.m */,
45A5655B263C174300C9C41B /* SASuperProperty.h */,
45A5654A263C174300C9C41B /* SASuperProperty.m */,
A8FEFB2A277C0ADA0011D0BB /* SASessionProperty.h */,
Expand Down Expand Up @@ -833,7 +841,6 @@
4D754E2626CB58A900300835 /* WebElementInfo */,
4DD128B125F8A003008C0B1E /* Config */,
4D6AE7F626086CED00A9CB08 /* EventCheck */,
4D0571AA25A2FC46007F7B72 /* ElementSelector */,
4D0571AD25A2FC46007F7B72 /* ElementPath */,
4DD128A625F8A003008C0B1E /* VisualProperties */,
4DD128A525F8A003008C0B1E /* SensorsAnalyticsSDK+Visualized.h */,
Expand Down Expand Up @@ -877,15 +884,6 @@
path = Visualized;
sourceTree = "<group>";
};
4D0571AA25A2FC46007F7B72 /* ElementSelector */ = {
isa = PBXGroup;
children = (
4DD1281725F8721A008C0B1E /* UIView+SAElementSelector.h */,
4DD1281625F8721A008C0B1E /* UIView+SAElementSelector.m */,
);
path = ElementSelector;
sourceTree = "<group>";
};
4D0571AD25A2FC46007F7B72 /* ElementPath */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1409,6 +1407,9 @@
A8A2BBDC2722AF6F00B2DEDC /* EventObject */,
A8A2BBD52722AB6F00B2DEDC /* SAIdentifierTest.m */,
A8A2BBD62722AB6F00B2DEDC /* SASuperPropertyTest.m */,
451427A02796B353004DE16C /* SAPresetPropertyObjectTest.m */,
451427A22796BD85004DE16C /* SAPhonePresetPropertyTest.m */,
451427A42796C5A1004DE16C /* SACatalystPresetPropertyTest.m */,
);
path = Builder;
sourceTree = "<group>";
Expand Down Expand Up @@ -1722,6 +1723,7 @@
F277F5C825CF9A43009B5CE6 /* UNUserNotificationCenter+PushClick.h in Headers */,
4DD1282125F87225008C0B1E /* SAVisualizedViewPathProperty.h in Headers */,
4D79695A2609D8FE001B0A6C /* SAEventIdentifier.h in Headers */,
45BBC8CF2787DF22004D2D0C /* SAPresetPropertyObject.h in Headers */,
45A56562263C174300C9C41B /* SAEventBuildStrategyProtocol.h in Headers */,
88EC2DF7275768DE00EF9778 /* SAFileStorePlugin.h in Headers */,
45A56564263C174300C9C41B /* SATrackEventObject.h in Headers */,
Expand Down Expand Up @@ -1792,7 +1794,6 @@
F26FDDD8270312C400E1DF32 /* SAConfigOptions+AppPush.h in Headers */,
A82E8951267D918100475757 /* SAEncryptProtocol.h in Headers */,
45A56560263C174300C9C41B /* SAIDFAHelper.h in Headers */,
4DD1281925F8721A008C0B1E /* UIView+SAElementSelector.h in Headers */,
A82E8953267D918100475757 /* SAECCEncryptor.h in Headers */,
A8356DDB2656459A00FD64AA /* UIViewController+AutoTrack.h in Headers */,
4D6AE7FC26086E9300A9CB08 /* SAVisualizedEventCheck.h in Headers */,
Expand Down Expand Up @@ -1987,6 +1988,7 @@
A8356DC62656459A00FD64AA /* SAScrollViewDelegateProxy.m in Sources */,
F2E4AB9E26EC86C800BA7F01 /* SensorsAnalyticsSDK+Location.m in Sources */,
A8356DE52656459A00FD64AA /* SAAppViewScreenTracker.m in Sources */,
45BBC8D02787DF22004D2D0C /* SAPresetPropertyObject.m in Sources */,
F277F5C625CF9A43009B5CE6 /* SAUNUserNotificationCenterDelegateProxy.m in Sources */,
F277F5C125CF9A43009B5CE6 /* SANotificationUtil.m in Sources */,
4DA89BC125C2BC1E003ABA43 /* SANetwork.m in Sources */,
Expand Down Expand Up @@ -2103,7 +2105,6 @@
4DD1286625F872A4008C0B1E /* SAVisualizedAbstractMessage.m in Sources */,
4DD1282225F87225008C0B1E /* UIView+SAElementPath.m in Sources */,
A8356DE02656459A00FD64AA /* SAViewElementInfo.m in Sources */,
4DD1281825F8721A008C0B1E /* UIView+SAElementSelector.m in Sources */,
A8356DD32656459A00FD64AA /* UIGestureRecognizer+SAAutoTrack.m in Sources */,
A8356DC92656459A00FD64AA /* UIScrollView+AutoTrack.m in Sources */,
45A56566263C174300C9C41B /* SAProfileEventObject.m in Sources */,
Expand Down Expand Up @@ -2134,8 +2135,10 @@
883ED1A22768AF0900A0706A /* SAAESCrypt.m in Sources */,
88C9062F2759EC2B00A2712C /* SAUserDefaultsStorePluginTests.m in Sources */,
88E6BED4277F0CCA006B1E4C /* SAStoreManagerTests.m in Sources */,
451427A52796C5A1004DE16C /* SACatalystPresetPropertyTest.m in Sources */,
88C9062927589B0C00A2712C /* SAUserDefaultsStorePlugin.m in Sources */,
4D6A189122978F5B00F6B218 /* ElementViewController.m in Sources */,
451427A12796B353004DE16C /* SAPresetPropertyObjectTest.m in Sources */,
88C9062A27589B1100A2712C /* SAFileStorePlugin.m in Sources */,
A8A2BBCB2722AB4900B2DEDC /* SACommonUtilityTest.m in Sources */,
A8A2BBDE2722AF8300B2DEDC /* SABaseEventObjectTest.m in Sources */,
Expand All @@ -2151,6 +2154,7 @@
A8A2BBC72722AB4900B2DEDC /* SAURLUtilsTest.m in Sources */,
A8302C402726C65A006E78CC /* SATrackEventObjectTest.m in Sources */,
A8A2BBC92722AB4900B2DEDC /* SANSStringHashCodeTest.m in Sources */,
451427A32796BD85004DE16C /* SAPhonePresetPropertyTest.m in Sources */,
A8A2BBCE2722AB4900B2DEDC /* SAUtilsTest.m in Sources */,
A8A2BBCF2722AB4900B2DEDC /* SADateFormatterTest.m in Sources */,
A8B48EB027281097009C71ED /* SANetworkTest.m in Sources */,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>classNames</key>
<dict>
<key>SACatalystPresetPropertyTest</key>
<dict>
<key>testPerformanceProperties</key>
<dict>
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
<dict>
<key>baselineAverage</key>
<real>0.004000</real>
<key>baselineIntegrationDisplayName</key>
<string>Local Baseline</string>
</dict>
</dict>
</dict>
<key>SAPhonePresetPropertyTest</key>
<dict>
<key>testPerformanceProperties</key>
<dict>
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
<dict>
<key>baselineAverage</key>
<real>0.006000</real>
<key>baselineIntegrationDisplayName</key>
<string>Local Baseline</string>
</dict>
</dict>
</dict>
<key>SAPresetPropertyObjectTest</key>
<dict>
<key>testPerformanceProperties</key>
<dict>
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
<dict>
<key>baselineAverage</key>
<real>0.000100</real>
<key>baselineIntegrationDisplayName</key>
<string>Local Baseline</string>
</dict>
</dict>
</dict>
</dict>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
<dict>
<key>baselineAverage</key>
<real>0.5</real>
<real>0.500000</real>
<key>baselineIntegrationDisplayName</key>
<string>Local Baseline</string>
</dict>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,37 @@
<dict>
<key>runDestinationsByUUID</key>
<dict>
<key>4A4FC828-8637-4FD4-908C-A121843061EE</key>
<dict>
<key>localComputer</key>
<dict>
<key>busSpeedInMHz</key>
<integer>0</integer>
<key>cpuCount</key>
<integer>1</integer>
<key>cpuKind</key>
<string>Apple M1</string>
<key>cpuSpeedInMHz</key>
<integer>0</integer>
<key>logicalCPUCoresPerPackage</key>
<integer>8</integer>
<key>modelCode</key>
<string>MacBookPro17,1</string>
<key>physicalCPUCoresPerPackage</key>
<integer>8</integer>
<key>platformIdentifier</key>
<string>com.apple.platform.macosx</string>
</dict>
<key>targetArchitecture</key>
<string>arm64</string>
<key>targetDevice</key>
<dict>
<key>modelCode</key>
<string>iPhone13,1</string>
<key>platformIdentifier</key>
<string>com.apple.platform.iphonesimulator</string>
</dict>
</dict>
<key>9DB209C1-1E17-44D0-8CD6-73814D5EA805</key>
<dict>
<key>localComputer</key>
Expand Down
1 change: 0 additions & 1 deletion SensorsAnalyticsSDK/AutoTrack/AppClick/UIView+AutoTrack.m
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ - (NSString *)sensorsdata_elementPosition {
}
return [NSString stringWithFormat:@"%ld", (long)index];
}

return super.sensorsdata_elementPosition;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,21 @@

NS_ASSUME_NONNULL_BEGIN

@interface SAPageLeaveObject : NSObject

@property (nonatomic, weak) UIViewController *viewController;
@property (nonatomic, assign) NSTimeInterval timestamp;
@property (nonatomic, copy) NSString *referrerURL;

@end

@interface SAAppPageLeaveTracker : SAAppTracker

@property (nonatomic, strong) NSMutableDictionary<NSString *, NSMutableDictionary *> *timestamp;
@property (nonatomic, strong) NSMutableDictionary<NSString *, SAPageLeaveObject *> *pageLeaveObjects;

- (void)trackEvents;
- (void)trackPageEnter:(UIViewController *)viewController;
- (void)trackPageLeave:(UIViewController *)viewController;
- (NSDictionary *)propertiesWithViewController:(UIViewController *)viewController;
- (BOOL)shouldTrackViewController:(UIViewController *)viewController;

@end

Expand Down
Loading

0 comments on commit f8c52cd

Please sign in to comment.