forked from ikeyyang/sa-sdk-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSensorsAnalyticsSDK.podspec
137 lines (116 loc) · 5.99 KB
/
SensorsAnalyticsSDK.podspec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Pod::Spec.new do |s|
s.name = "SensorsAnalyticsSDK"
s.version = "2.0.10"
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.license = { :type => "Apache License, Version 2.0" }
s.platform = :ios, "8.0"
s.default_subspec = 'core'
s.frameworks = 'UIKit', 'Foundation', 'SystemConfiguration', 'CoreTelephony', 'CoreGraphics', 'QuartzCore', 'CoreLocation', 'CoreMotion'
s.libraries = 'icucore', 'sqlite3', 'z'
s.subspec 'core' do |c|
c.source_files = "SensorsAnalyticsSDK/**/*.{h,m}"
c.public_header_files = "SensorsAnalyticsSDK/SensorsAnalyticsSDK.h","SensorsAnalyticsSDK/SAAppExtensionDataManager.h","SensorsAnalyticsSDK/SASecurityPolicy.h","SensorsAnalyticsSDK/SAConfigOptions.h","SensorsAnalyticsSDK/SAConstants.h"
c.resource = 'SensorsAnalyticsSDK/SensorsAnalyticsSDK.bundle'
end
# 打开 log
s.subspec 'LOG' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_ENABLE_LOG=1'}
end
# 禁用 GPS 定位采集,相关代码不参与编译
s.subspec 'DISABLE_TRACK_GPS' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_TRACK_GPS=1'}
end
# 禁用设备方向采集
s.subspec 'DISABLE_TRACK_DEVICE_ORIENTATION' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_TRACK_DEVICE_ORIENTATION=1'}
end
# 禁用 debugMode 下弹框提示
s.subspec 'DISABLE_DEBUG_WARNING' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_DEBUG_WARNING=1'}
end
# 不采集 UICollectionView 点击事件
s.subspec 'DISABLE_AUTOTRACK_UICOLLECTIONVIEW' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_AUTOTRACK_UICOLLECTIONVIEW=1'}
end
# 不采集 UITableView 点击事件
s.subspec 'DISABLE_AUTOTRACK_UITABLEVIEW' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_AUTOTRACK_UITABLEVIEW=1'}
end
# 不采集 UIImage 的名称
s.subspec 'DISABLE_AUTOTRACK_UIIMAGE_IMAGENAME' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_AUTOTRACK_UIIMAGE_IMAGENAME=1'}
end
# 不采集手势点击事件
s.subspec 'DISABLE_AUTOTRACK_GESTURE' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_AUTOTRACK_GESTURE=1'}
end
# 开启 React Native 页面控件的自动采集 $AppClick 事件
s.subspec 'ENABLE_REACT_NATIVE_APPCLICK' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_REACT_NATIVE=1'}
end
# 允许使用私有 API,v2.0.0 已废弃,待删除
s.subspec 'ENABLE_NO_PUBLIC_APIS' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_ENABLE_NO_PUBLICK_APIS=1'}
end
# 不采集 UITabBar 点击事件
s.subspec 'DISABLE_AUTOTRACK_UITABBAR' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_AUTOTRACK_UITABBAR=1'}
end
# 采集 crash slideAdress 信息,需要打开 enableTrackAppCrash 才生效
s.subspec 'CRASH_SLIDEADDRESS' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_CRASH_SLIDEADDRESS=1'}
end
# 不采集 $device_id
s.subspec 'DISABLE_AUTOTRACK_DEVICEID' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_AUTOTRACK_DEVICEID=1'}
end
# 支持非 UIViewController 实现 UITableView 或 UICollectionView delegate 的点击事件采集
s.subspec 'ENABLE_AUTOTRACK_DIDSELECTROW' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_ENABLE_AUTOTRACK_DIDSELECTROW=1'}
end
# trackInstallation 不保存在 keychain,卸载重装会重新触发激活事件
s.subspec 'DISABLE_INSTALLATION_MARK_IN_KEYCHAIN' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_INSTALLATION_MARK_IN_KEYCHAIN=1'}
end
# 禁用 keychain
# 卸载重装会重新触发激活事件并且匿名 Id 可能会被重置
s.subspec 'DISABLE_KEYCHAIN' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_KEYCHAIN=1'}
end
# 支持自动采集 UIViewController 子页面的 $AppViewScreen
s.subspec 'ENABLE_CHILD_VIEWSCREEN' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_ENABLE_AUTOTRACK_CHILD_VIEWSCREEN=1'}
end
# 禁用 UIWebView
s.subspec 'DISABLE_UIWEBVIEW' do |f|
# 需要使用 WKWebView,支持最低版本为 iOS 8
f.platform = :ios, "8.0"
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_UIWEBVIEW=1'}
end
# 禁用私有 API,可视化全埋点模块存在私有类名字符串判断
s.subspec 'DISABLE_PRIVATE_APIS' do |f|
f.dependency 'SensorsAnalyticsSDK/core'
f.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'SENSORS_ANALYTICS_DISABLE_PRIVATE_APIS=1'}
end
end