diff --git a/Example/Example-macOS/AppDelegate.swift b/Example/Example-macOS/AppDelegate.swift
new file mode 100644
index 000000000..60e4ae77a
--- /dev/null
+++ b/Example/Example-macOS/AppDelegate.swift
@@ -0,0 +1,55 @@
+//
+// AppDelegate.swift
+// GrowingAnalytics
+//
+// Created by YoloMao on 2023/4/21.
+// Copyright (C) 2022 Beijing Yishu Technology Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+import Cocoa
+
+#if canImport(GrowingAnalytics_cdp)
+import GrowingAnalytics_cdp
+#elseif canImport(GrowingAnalytics)
+import GrowingAnalytics
+#endif
+
+@main
+class AppDelegate: NSObject, NSApplicationDelegate {
+
+
+
+
+ func applicationDidFinishLaunching(_ aNotification: Notification) {
+ // Insert code here to initialize your application
+ let config = GrowingTrackConfiguration(projectId: "bcc4fc9dea27f25d")
+ config?.dataSourceId = "be46cd165dcc3c7e"
+ config?.dataCollectionServerHost = "https://run.mocky.io/v3/08999138-a180-431d-a136-051f3c6bd306"
+ config?.idMappingEnabled = true
+ config?.debugEnabled = true
+ GrowingTracker.start(with: config!)
+ }
+
+ func applicationWillTerminate(_ aNotification: Notification) {
+ // Insert code here to tear down your application
+ }
+
+ func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
+ return true
+ }
+
+
+}
+
diff --git a/Example/Example-macOS/Assets.xcassets/AccentColor.colorset/Contents.json b/Example/Example-macOS/Assets.xcassets/AccentColor.colorset/Contents.json
new file mode 100644
index 000000000..eb8789700
--- /dev/null
+++ b/Example/Example-macOS/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/Example-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/Example-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000..3f00db43e
--- /dev/null
+++ b/Example/Example-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,58 @@
+{
+ "images" : [
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "16x16"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "16x16"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "32x32"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "32x32"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "128x128"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "128x128"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "256x256"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "256x256"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "1x",
+ "size" : "512x512"
+ },
+ {
+ "idiom" : "mac",
+ "scale" : "2x",
+ "size" : "512x512"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/Example-macOS/Assets.xcassets/Contents.json b/Example/Example-macOS/Assets.xcassets/Contents.json
new file mode 100644
index 000000000..73c00596a
--- /dev/null
+++ b/Example/Example-macOS/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/Example-macOS/Base.lproj/Main.storyboard b/Example/Example-macOS/Base.lproj/Main.storyboard
new file mode 100644
index 000000000..fb72e4123
--- /dev/null
+++ b/Example/Example-macOS/Base.lproj/Main.storyboard
@@ -0,0 +1,939 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example/Example-macOS/Example_macOS.entitlements b/Example/Example-macOS/Example_macOS.entitlements
new file mode 100644
index 000000000..625af03d9
--- /dev/null
+++ b/Example/Example-macOS/Example_macOS.entitlements
@@ -0,0 +1,12 @@
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.files.user-selected.read-only
+
+ com.apple.security.network.client
+
+
+
diff --git a/Example/Example-macOS/ViewController.swift b/Example/Example-macOS/ViewController.swift
new file mode 100644
index 000000000..988dfaca8
--- /dev/null
+++ b/Example/Example-macOS/ViewController.swift
@@ -0,0 +1,135 @@
+//
+// ViewController.swift
+// GrowingAnalytics
+//
+// Created by YoloMao on 2023/4/21.
+// Copyright (C) 2022 Beijing Yishu Technology Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+import Cocoa
+
+#if canImport(GrowingAnalytics_cdp)
+import GrowingAnalytics_cdp
+#elseif canImport(GrowingAnalytics)
+import GrowingAnalytics
+#endif
+
+class ViewController: NSViewController {
+
+ @IBOutlet weak var userIdTextField: NSTextField!
+ @IBOutlet weak var userKeyTextField: NSTextField!
+ @IBOutlet weak var timerEventNameTextField: NSTextField!
+ @IBOutlet weak var timersPopupButton: NSPopUpButton!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ timersPopupButton.removeAllItems()
+ }
+
+ override var representedObject: Any? {
+ didSet {
+ // Update the view, if already loaded.
+ }
+ }
+
+ @IBAction func setDataCollectionEnabled(_ sender: NSSwitch) {
+ GrowingTracker.sharedInstance().setDataCollectionEnabled(sender.state == .on)
+ }
+
+ @IBAction func setUserIdAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().setLoginUserId(userIdTextField.stringValue)
+ }
+
+ @IBAction func setUserKeyAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().setLoginUserId(userIdTextField.stringValue, userKey: userKeyTextField.stringValue)
+ }
+
+ @IBAction func cleanLoginUserIdAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().cleanLoginUserId()
+ }
+
+ @IBAction func sendCustomEventAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().trackCustomEvent("eventName")
+ }
+
+ @IBAction func sendCustomEventWithAttributesAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().trackCustomEvent("eventName", withAttributes: ["key": "value"])
+ }
+
+ @IBAction func sendLoginUserAttributesEventAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().setLoginUserAttributes(["key": "value"])
+ }
+
+ @IBAction func sendConversionVariablesEventAction(_ sender: Any) {
+#if !canImport(GrowingAnalytics_cdp)
+ GrowingTracker.sharedInstance().setConversionVariables(["key": "value"])
+#endif
+ }
+
+ @IBAction func sendVisitorAttributesEventAction(_ sender: Any) {
+#if !canImport(GrowingAnalytics_cdp)
+ GrowingTracker.sharedInstance().setVisitorAttributes(["key": "value"])
+#endif
+ }
+
+ @IBAction func startTimerAction(_ sender: Any) {
+ let timerId = GrowingTracker.sharedInstance().trackTimerStart(timerEventNameTextField.stringValue)
+ guard let timerId = timerId else {
+ return
+ }
+ timersPopupButton.addItem(withTitle: timerId)
+ }
+
+ @IBAction func pauseTimerAction(_ sender: Any) {
+ let timerId = timersPopupButton.selectedItem?.title
+ guard let timerId = timerId else {
+ return
+ }
+ GrowingTracker.sharedInstance().trackTimerPause(timerId)
+ }
+
+ @IBAction func resumeTimerAction(_ sender: Any) {
+ let timerId = timersPopupButton.selectedItem?.title
+ guard let timerId = timerId else {
+ return
+ }
+ GrowingTracker.sharedInstance().trackTimerResume(timerId)
+ }
+
+ @IBAction func endTimerAction(_ sender: Any) {
+ let timerId = timersPopupButton.selectedItem?.title
+ guard let timerId = timerId else {
+ return
+ }
+ GrowingTracker.sharedInstance().trackTimerEnd(timerId)
+ timersPopupButton.removeItem(withTitle: timerId)
+ }
+
+ @IBAction func endTimerWithAttributesAction(_ sender: Any) {
+ let timerId = timersPopupButton.selectedItem?.title
+ guard let timerId = timerId else {
+ return
+ }
+ GrowingTracker.sharedInstance().trackTimerEnd(timerId, withAttributes: ["key": "value"])
+ timersPopupButton.removeItem(withTitle: timerId)
+ }
+
+ @IBAction func clearAllTimersAction(_ sender: Any) {
+ GrowingTracker.sharedInstance().clearTrackTimer()
+ timersPopupButton.removeAllItems()
+ }
+}
+
diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj
index 021e82bec..a7d7350e8 100644
--- a/Example/Example.xcodeproj/project.pbxproj
+++ b/Example/Example.xcodeproj/project.pbxproj
@@ -75,11 +75,14 @@
04A6FAF224E662E9006C72F0 /* GIOChildsAddViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A6FAF124E662E9006C72F0 /* GIOChildsAddViewController.m */; };
04A6FAF524E67215006C72F0 /* GIOBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A6FAF424E67215006C72F0 /* GIOBaseViewController.m */; };
04F675662628293800077374 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04F675652628293800077374 /* AdSupport.framework */; };
- 2706AC28FE1FD39A2E459F61 /* Pods_AdvertTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AF3F27899C8B5AB4B7F28FC /* Pods_AdvertTests.framework */; };
- 2B94D97E1142050DE05C4480 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E4D4EB10715BBF33936F7BC /* Pods_Example.framework */; };
+ 33A0F692F1D1738D6854E19A /* Pods_HostApplicationTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42F5EA0EFE2552358C35A0F5 /* Pods_HostApplicationTests.framework */; };
34106BB428FECB0E00E7DB01 /* Crasher.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34106BB328FECB0E00E7DB01 /* Crasher.mm */; };
34486D3D27B1049000FA8223 /* UITapGestureRecognizerAutotrackTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34486D3B27B102B000FA8223 /* UITapGestureRecognizerAutotrackTest.m */; };
34664587278EEEA6009C351C /* A0GrowingAnalyticsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 047BF3A224F638BB0028FE94 /* A0GrowingAnalyticsTest.m */; };
+ 346E0B3B29F2724400A12E4E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 346E0B3A29F2724400A12E4E /* AppDelegate.swift */; };
+ 346E0B3D29F2724400A12E4E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 346E0B3C29F2724400A12E4E /* ViewController.swift */; };
+ 346E0B3F29F2724400A12E4E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 346E0B3E29F2724400A12E4E /* Assets.xcassets */; };
+ 346E0B4229F2724400A12E4E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 346E0B4029F2724400A12E4E /* Main.storyboard */; };
346EABE1277EDF8A00A32B03 /* EventTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 346EABE0277EDF8A00A32B03 /* EventTest.m */; };
346EABE5277EE1FD00A32B03 /* HybridTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 42ADE26B250B292900CA7268 /* HybridTest.m */; };
346EABEB277EE53200A32B03 /* DeviceInfoTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 346EABEA277EE53200A32B03 /* DeviceInfoTest.m */; };
@@ -163,18 +166,20 @@
34C0BF3D277EA9BA0047ADC4 /* MobileDebuggerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C0BF3C277EA9BA0047ADC4 /* MobileDebuggerTest.m */; };
34D932FE27BF8C640038430E /* MockEventQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 4962653324DA66B600032551 /* MockEventQueue.m */; };
34D9330027BF943F0038430E /* A0GrowingAnalyticsCDPTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D932F927BF8A400038430E /* A0GrowingAnalyticsCDPTest.m */; };
- 3A4EC756173A7F4ADE8DE52E /* Pods_GrowingAnalyticsTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3318B06C51540C267A7A1743 /* Pods_GrowingAnalyticsTests.framework */; };
- 3ED9537CC610D6665D8CFD8D /* Pods_ExampleiOS13.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 930C87616165A36AA7754D13 /* Pods_ExampleiOS13.framework */; };
+ 46B566A91FF28564AA03491F /* Pods_ProtobufTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E2C01C3AC89773BC3F4BE1 /* Pods_ProtobufTests.framework */; };
4916270F24E157BB00444AF2 /* GIOPresentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4916270E24E157BB00444AF2 /* GIOPresentViewController.m */; };
4916271224E157CF00444AF2 /* GIOPagingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4916271124E157CF00444AF2 /* GIOPagingViewController.m */; };
491D2D8D2500E2D9001CB289 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 491D2D8C2500E2D9001CB289 /* MapKit.framework */; };
- 558A8A290D280B135DAFBA62 /* Pods_HostApplicationTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0EFF6A27D438C999039D96A /* Pods_HostApplicationTests.framework */; };
6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
- A6888BD241EEBA183D8B5C2F /* Pods_ProtobufTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 119695ADD5703B43BC026419 /* Pods_ProtobufTests.framework */; };
- D7606806545268BFFF1D6174 /* Pods_GrowingAnalyticsCDPTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79E4CF8FB42177E30083930D /* Pods_GrowingAnalyticsCDPTests.framework */; };
- E3B1B3B5BA77BF7196126B40 /* Pods_GrowingAnalyticsStartTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 644C1C0BF22783F3EC8D7262 /* Pods_GrowingAnalyticsStartTests.framework */; };
+ 6F7A64B402BF8E5ED466E56A /* Pods_GrowingAnalyticsTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0257123D870B44A9FDA90A22 /* Pods_GrowingAnalyticsTests.framework */; };
+ 7E20527CFF34511EE464C33F /* Pods_GrowingAnalyticsStartTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1769255A062869A5D219F683 /* Pods_GrowingAnalyticsStartTests.framework */; };
+ 8016AAD2B2E1BE4321C4AA76 /* Pods_AdvertTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6CD8BC1E7857B5F760A5EF6 /* Pods_AdvertTests.framework */; };
+ 813BAB07E78F29715302F2A9 /* Pods_GrowingAnalyticsCDPTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B917B3D306DA7615DB939CF1 /* Pods_GrowingAnalyticsCDPTests.framework */; };
+ 997DAC68973F1F4FAF34EA2E /* Pods_Example_macOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B524BD63EF3439946134E74 /* Pods_Example_macOS.framework */; };
+ A61E1E81175885070AAD10A9 /* Pods_ExampleiOS13.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7CCC2E00F858DC5B58D4FA6 /* Pods_ExampleiOS13.framework */; };
+ A9D21D06460258FAC4736A26 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 90476D1583D0EE778FCBED5E /* Pods_Example.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -202,6 +207,8 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
+ 0257123D870B44A9FDA90A22 /* Pods_GrowingAnalyticsTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GrowingAnalyticsTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 03D85F7CFC2FCDB001B3D5D4 /* Pods-Example-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-macOS.release.xcconfig"; path = "Target Support Files/Pods-Example-macOS/Pods-Example-macOS.release.xcconfig"; sourceTree = ""; };
046530BD24DD4271002D254C /* GrowingIO-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GrowingIO-Prefix.pch"; sourceTree = ""; };
046530BE24DD4271002D254C /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
046530D124DD4271002D254C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
@@ -293,14 +300,17 @@
04A6FAF424E67215006C72F0 /* GIOBaseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIOBaseViewController.m; sourceTree = ""; };
04AEA7E5277319E300ED6CC8 /* GrowingDispatchManagerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GrowingDispatchManagerTest.m; sourceTree = ""; };
04F675652628293800077374 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; };
- 0B9B66FA65EE5170181EDDA0 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; };
- 119695ADD5703B43BC026419 /* Pods_ProtobufTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ProtobufTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 15B6BB849F26AF0791371D18 /* Pods-GrowingAnalyticsCDPTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsCDPTests.release.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests.release.xcconfig"; sourceTree = ""; };
- 1AF3F27899C8B5AB4B7F28FC /* Pods_AdvertTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AdvertTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 3318B06C51540C267A7A1743 /* Pods_GrowingAnalyticsTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GrowingAnalyticsTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0B3751A8D7A8C11CD50B544E /* Pods-GrowingAnalyticsStartTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsStartTests.debug.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests.debug.xcconfig"; sourceTree = ""; };
+ 1769255A062869A5D219F683 /* Pods_GrowingAnalyticsStartTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GrowingAnalyticsStartTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
34106BB228FECB0D00E7DB01 /* Crasher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Crasher.h; sourceTree = ""; };
34106BB328FECB0E00E7DB01 /* Crasher.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Crasher.mm; sourceTree = ""; };
34486D3B27B102B000FA8223 /* UITapGestureRecognizerAutotrackTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UITapGestureRecognizerAutotrackTest.m; sourceTree = ""; };
+ 346E0B3829F2724300A12E4E /* Example-macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-macOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 346E0B3A29F2724400A12E4E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 346E0B3C29F2724400A12E4E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 346E0B3E29F2724400A12E4E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 346E0B4129F2724400A12E4E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 346E0B4329F2724400A12E4E /* Example_macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Example_macOS.entitlements; sourceTree = ""; };
346EABE0277EDF8A00A32B03 /* EventTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EventTest.m; sourceTree = ""; };
346EABE7277EE33F00A32B03 /* StatusBarEventManagerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StatusBarEventManagerTest.m; sourceTree = ""; };
346EABEA277EE53200A32B03 /* DeviceInfoTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DeviceInfoTest.m; sourceTree = ""; };
@@ -382,7 +392,9 @@
34C0BF3C277EA9BA0047ADC4 /* MobileDebuggerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MobileDebuggerTest.m; sourceTree = ""; };
34D932F727BF8A400038430E /* GrowingAnalyticsCDPTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GrowingAnalyticsCDPTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
34D932F927BF8A400038430E /* A0GrowingAnalyticsCDPTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = A0GrowingAnalyticsCDPTest.m; sourceTree = ""; };
+ 3D63F725A31AE372B485C361 /* Pods-HostApplicationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HostApplicationTests.debug.xcconfig"; path = "Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests.debug.xcconfig"; sourceTree = ""; };
42ADE26B250B292900CA7268 /* HybridTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HybridTest.m; sourceTree = ""; };
+ 42F5EA0EFE2552358C35A0F5 /* Pods_HostApplicationTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_HostApplicationTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4916270D24E157BB00444AF2 /* GIOPresentViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIOPresentViewController.h; sourceTree = ""; };
4916270E24E157BB00444AF2 /* GIOPresentViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIOPresentViewController.m; sourceTree = ""; };
4916271024E157CF00444AF2 /* GIOPagingViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIOPagingViewController.h; sourceTree = ""; };
@@ -392,33 +404,43 @@
4962653224DA66B600032551 /* ManualTrackHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ManualTrackHelper.m; sourceTree = ""; };
4962653324DA66B600032551 /* MockEventQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MockEventQueue.m; sourceTree = ""; };
4962653824DA66B600032551 /* ManualTrackHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ManualTrackHelper.h; sourceTree = ""; };
- 5A726A5206E26820EAE1C12C /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; };
6003F58A195388D20070C39A /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
- 60F77CA47D760F5DDE8FFF21 /* Pods-GrowingAnalyticsStartTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsStartTests.debug.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests.debug.xcconfig"; sourceTree = ""; };
- 644C1C0BF22783F3EC8D7262 /* Pods_GrowingAnalyticsStartTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GrowingAnalyticsStartTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 667FE81378C014039802CB22 /* Pods-ProtobufTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ProtobufTests.debug.xcconfig"; path = "Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests.debug.xcconfig"; sourceTree = ""; };
- 75A09303FD32EECF0AD4EA4D /* Pods-HostApplicationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HostApplicationTests.debug.xcconfig"; path = "Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests.debug.xcconfig"; sourceTree = ""; };
- 79E4CF8FB42177E30083930D /* Pods_GrowingAnalyticsCDPTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GrowingAnalyticsCDPTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 7E4D4EB10715BBF33936F7BC /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 930C87616165A36AA7754D13 /* Pods_ExampleiOS13.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ExampleiOS13.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 971A522EDA0D265E607070FB /* Pods-ProtobufTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ProtobufTests.release.xcconfig"; path = "Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests.release.xcconfig"; sourceTree = ""; };
- B1A467B42E507DB2C5BF7A46 /* Pods-ExampleiOS13.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleiOS13.release.xcconfig"; path = "Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13.release.xcconfig"; sourceTree = ""; };
- B1B0E469D2F9EA36A787D5E7 /* Pods-GrowingAnalyticsCDPTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsCDPTests.debug.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests.debug.xcconfig"; sourceTree = ""; };
- BE3D8AD215D13B387143219B /* Pods-AdvertTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AdvertTests.release.xcconfig"; path = "Target Support Files/Pods-AdvertTests/Pods-AdvertTests.release.xcconfig"; sourceTree = ""; };
- C0EFF6A27D438C999039D96A /* Pods_HostApplicationTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_HostApplicationTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- C6CF7AED52273FB42287E823 /* Pods-HostApplicationTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HostApplicationTests.release.xcconfig"; path = "Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests.release.xcconfig"; sourceTree = ""; };
- E1FAB1B410063271250FFC6D /* Pods-AdvertTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AdvertTests.debug.xcconfig"; path = "Target Support Files/Pods-AdvertTests/Pods-AdvertTests.debug.xcconfig"; sourceTree = ""; };
- EF77207AC05D4702F8C9C58C /* Pods-ExampleiOS13.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleiOS13.debug.xcconfig"; path = "Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13.debug.xcconfig"; sourceTree = ""; };
- F274DEF2F4ECD48426EFD4DA /* Pods-GrowingAnalyticsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsTests.release.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests.release.xcconfig"; sourceTree = ""; };
- F286A03FF69374A3647F1EE3 /* Pods-GrowingAnalyticsTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsTests.debug.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests.debug.xcconfig"; sourceTree = ""; };
- FBC4514B8EC1B458F43C9820 /* Pods-GrowingAnalyticsStartTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsStartTests.release.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests.release.xcconfig"; sourceTree = ""; };
+ 6CED0EF3C2998D1807B54226 /* Pods-AdvertTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AdvertTests.release.xcconfig"; path = "Target Support Files/Pods-AdvertTests/Pods-AdvertTests.release.xcconfig"; sourceTree = ""; };
+ 6F9B4F11B90235A2D461CA2C /* Pods-GrowingAnalyticsTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsTests.debug.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests.debug.xcconfig"; sourceTree = ""; };
+ 7B524BD63EF3439946134E74 /* Pods_Example_macOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_macOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 90476D1583D0EE778FCBED5E /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 91EEE76F9E0E94DB389A9D21 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; };
+ B2DC29AD1846CC827998F01D /* Pods-ProtobufTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ProtobufTests.debug.xcconfig"; path = "Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests.debug.xcconfig"; sourceTree = ""; };
+ B917B3D306DA7615DB939CF1 /* Pods_GrowingAnalyticsCDPTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GrowingAnalyticsCDPTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ BBC64B438435E91D8D408C70 /* Pods-Example-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-macOS.debug.xcconfig"; path = "Target Support Files/Pods-Example-macOS/Pods-Example-macOS.debug.xcconfig"; sourceTree = ""; };
+ C2E2C01C3AC89773BC3F4BE1 /* Pods_ProtobufTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ProtobufTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ C7CCC2E00F858DC5B58D4FA6 /* Pods_ExampleiOS13.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ExampleiOS13.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ CFC074E90BAC4B828194DC02 /* Pods-GrowingAnalyticsStartTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsStartTests.release.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests.release.xcconfig"; sourceTree = ""; };
+ D1AA342F735CCEF5565AEEE7 /* Pods-GrowingAnalyticsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsTests.release.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests.release.xcconfig"; sourceTree = ""; };
+ DBB8310F70301DB55003E65C /* Pods-ProtobufTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ProtobufTests.release.xcconfig"; path = "Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests.release.xcconfig"; sourceTree = ""; };
+ DDE20EE0BB4E138A407A5D1C /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; };
+ E1800E7E573CE2BD70F0B706 /* Pods-ExampleiOS13.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleiOS13.release.xcconfig"; path = "Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13.release.xcconfig"; sourceTree = ""; };
+ E358AB81E170FF3B9BD33067 /* Pods-GrowingAnalyticsCDPTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsCDPTests.release.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests.release.xcconfig"; sourceTree = ""; };
+ EE40DB36AB9D5F726C4E5C5D /* Pods-AdvertTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AdvertTests.debug.xcconfig"; path = "Target Support Files/Pods-AdvertTests/Pods-AdvertTests.debug.xcconfig"; sourceTree = ""; };
+ F625366B1611DA7E27D0E32C /* Pods-ExampleiOS13.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleiOS13.debug.xcconfig"; path = "Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13.debug.xcconfig"; sourceTree = ""; };
+ F6CD8BC1E7857B5F760A5EF6 /* Pods_AdvertTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AdvertTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ FAB05E3514907518EF7B9514 /* Pods-HostApplicationTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HostApplicationTests.release.xcconfig"; path = "Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests.release.xcconfig"; sourceTree = ""; };
+ FF93145D0D866B2292B78207 /* Pods-GrowingAnalyticsCDPTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GrowingAnalyticsCDPTests.debug.xcconfig"; path = "Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests.debug.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
+ 346E0B3529F2724300A12E4E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 997DAC68973F1F4FAF34EA2E /* Pods_Example_macOS.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
3494DCF528597E1A00A6CE46 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -432,7 +454,7 @@
files = (
349975FB28BF303100466640 /* iAd.framework in Frameworks */,
349975FC28BF303B00466640 /* AdServices.framework in Frameworks */,
- 3ED9537CC610D6665D8CFD8D /* Pods_ExampleiOS13.framework in Frameworks */,
+ A61E1E81175885070AAD10A9 /* Pods_ExampleiOS13.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -447,7 +469,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 2706AC28FE1FD39A2E459F61 /* Pods_AdvertTests.framework in Frameworks */,
+ 8016AAD2B2E1BE4321C4AA76 /* Pods_AdvertTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -455,7 +477,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- E3B1B3B5BA77BF7196126B40 /* Pods_GrowingAnalyticsStartTests.framework in Frameworks */,
+ 7E20527CFF34511EE464C33F /* Pods_GrowingAnalyticsStartTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -463,7 +485,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 3A4EC756173A7F4ADE8DE52E /* Pods_GrowingAnalyticsTests.framework in Frameworks */,
+ 6F7A64B402BF8E5ED466E56A /* Pods_GrowingAnalyticsTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -471,7 +493,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A6888BD241EEBA183D8B5C2F /* Pods_ProtobufTests.framework in Frameworks */,
+ 46B566A91FF28564AA03491F /* Pods_ProtobufTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -479,7 +501,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 558A8A290D280B135DAFBA62 /* Pods_HostApplicationTests.framework in Frameworks */,
+ 33A0F692F1D1738D6854E19A /* Pods_HostApplicationTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -487,7 +509,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- D7606806545268BFFF1D6174 /* Pods_GrowingAnalyticsCDPTests.framework in Frameworks */,
+ 813BAB07E78F29715302F2A9 /* Pods_GrowingAnalyticsCDPTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -502,7 +524,7 @@
6003F58E195388D20070C39A /* Foundation.framework in Frameworks */,
04F675662628293800077374 /* AdSupport.framework in Frameworks */,
349975F828BF301000466640 /* AdServices.framework in Frameworks */,
- 2B94D97E1142050DE05C4480 /* Pods_Example.framework in Frameworks */,
+ A9D21D06460258FAC4736A26 /* Pods_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -682,6 +704,44 @@
path = TrackerCoreTests;
sourceTree = "";
};
+ 1172AEB47E26DD658BEEA1BB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ EE40DB36AB9D5F726C4E5C5D /* Pods-AdvertTests.debug.xcconfig */,
+ 6CED0EF3C2998D1807B54226 /* Pods-AdvertTests.release.xcconfig */,
+ 91EEE76F9E0E94DB389A9D21 /* Pods-Example.debug.xcconfig */,
+ DDE20EE0BB4E138A407A5D1C /* Pods-Example.release.xcconfig */,
+ BBC64B438435E91D8D408C70 /* Pods-Example-macOS.debug.xcconfig */,
+ 03D85F7CFC2FCDB001B3D5D4 /* Pods-Example-macOS.release.xcconfig */,
+ F625366B1611DA7E27D0E32C /* Pods-ExampleiOS13.debug.xcconfig */,
+ E1800E7E573CE2BD70F0B706 /* Pods-ExampleiOS13.release.xcconfig */,
+ FF93145D0D866B2292B78207 /* Pods-GrowingAnalyticsCDPTests.debug.xcconfig */,
+ E358AB81E170FF3B9BD33067 /* Pods-GrowingAnalyticsCDPTests.release.xcconfig */,
+ 0B3751A8D7A8C11CD50B544E /* Pods-GrowingAnalyticsStartTests.debug.xcconfig */,
+ CFC074E90BAC4B828194DC02 /* Pods-GrowingAnalyticsStartTests.release.xcconfig */,
+ 6F9B4F11B90235A2D461CA2C /* Pods-GrowingAnalyticsTests.debug.xcconfig */,
+ D1AA342F735CCEF5565AEEE7 /* Pods-GrowingAnalyticsTests.release.xcconfig */,
+ 3D63F725A31AE372B485C361 /* Pods-HostApplicationTests.debug.xcconfig */,
+ FAB05E3514907518EF7B9514 /* Pods-HostApplicationTests.release.xcconfig */,
+ B2DC29AD1846CC827998F01D /* Pods-ProtobufTests.debug.xcconfig */,
+ DBB8310F70301DB55003E65C /* Pods-ProtobufTests.release.xcconfig */,
+ );
+ name = Pods;
+ path = ../Pods;
+ sourceTree = "";
+ };
+ 346E0B3929F2724400A12E4E /* Example-macOS */ = {
+ isa = PBXGroup;
+ children = (
+ 346E0B3A29F2724400A12E4E /* AppDelegate.swift */,
+ 346E0B3C29F2724400A12E4E /* ViewController.swift */,
+ 346E0B3E29F2724400A12E4E /* Assets.xcassets */,
+ 346E0B4029F2724400A12E4E /* Main.storyboard */,
+ 346E0B4329F2724400A12E4E /* Example_macOS.entitlements */,
+ );
+ path = "Example-macOS";
+ sourceTree = "";
+ };
346EABE2277EDFF000A32B03 /* HelpersTests */ = {
isa = PBXGroup;
children = (
@@ -1228,9 +1288,10 @@
046530BA24DD4271002D254C /* Example */,
3494DD0F2859E07500A6CE46 /* ExampleiOS13 */,
34BA7B18277C61250030AC21 /* GrowingAnalyticsTests */,
+ 346E0B3929F2724400A12E4E /* Example-macOS */,
6003F58C195388D20070C39A /* Frameworks */,
6003F58B195388D20070C39A /* Products */,
- 6E06FB7C2AABE327D97FC29F /* Pods */,
+ 1172AEB47E26DD658BEEA1BB /* Pods */,
);
sourceTree = "";
};
@@ -1247,6 +1308,7 @@
3494DD0E2859E07500A6CE46 /* ExampleiOS13.app */,
3494DD2D2859E27B00A6CE46 /* GrowingAnalyticsiOS13UITests.xctest */,
349B528B28C0884400EE88FE /* AdvertTests.xctest */,
+ 346E0B3829F2724300A12E4E /* Example-macOS.app */,
);
name = Products;
sourceTree = "";
@@ -1262,45 +1324,41 @@
6003F58F195388D20070C39A /* CoreGraphics.framework */,
6003F591195388D20070C39A /* UIKit.framework */,
6003F5AF195388D20070C39A /* XCTest.framework */,
- 7E4D4EB10715BBF33936F7BC /* Pods_Example.framework */,
- 1AF3F27899C8B5AB4B7F28FC /* Pods_AdvertTests.framework */,
- 930C87616165A36AA7754D13 /* Pods_ExampleiOS13.framework */,
- 79E4CF8FB42177E30083930D /* Pods_GrowingAnalyticsCDPTests.framework */,
- 644C1C0BF22783F3EC8D7262 /* Pods_GrowingAnalyticsStartTests.framework */,
- 3318B06C51540C267A7A1743 /* Pods_GrowingAnalyticsTests.framework */,
- C0EFF6A27D438C999039D96A /* Pods_HostApplicationTests.framework */,
- 119695ADD5703B43BC026419 /* Pods_ProtobufTests.framework */,
+ F6CD8BC1E7857B5F760A5EF6 /* Pods_AdvertTests.framework */,
+ 90476D1583D0EE778FCBED5E /* Pods_Example.framework */,
+ 7B524BD63EF3439946134E74 /* Pods_Example_macOS.framework */,
+ C7CCC2E00F858DC5B58D4FA6 /* Pods_ExampleiOS13.framework */,
+ B917B3D306DA7615DB939CF1 /* Pods_GrowingAnalyticsCDPTests.framework */,
+ 1769255A062869A5D219F683 /* Pods_GrowingAnalyticsStartTests.framework */,
+ 0257123D870B44A9FDA90A22 /* Pods_GrowingAnalyticsTests.framework */,
+ 42F5EA0EFE2552358C35A0F5 /* Pods_HostApplicationTests.framework */,
+ C2E2C01C3AC89773BC3F4BE1 /* Pods_ProtobufTests.framework */,
);
name = Frameworks;
sourceTree = "";
};
- 6E06FB7C2AABE327D97FC29F /* Pods */ = {
- isa = PBXGroup;
- children = (
- 0B9B66FA65EE5170181EDDA0 /* Pods-Example.debug.xcconfig */,
- 5A726A5206E26820EAE1C12C /* Pods-Example.release.xcconfig */,
- E1FAB1B410063271250FFC6D /* Pods-AdvertTests.debug.xcconfig */,
- BE3D8AD215D13B387143219B /* Pods-AdvertTests.release.xcconfig */,
- EF77207AC05D4702F8C9C58C /* Pods-ExampleiOS13.debug.xcconfig */,
- B1A467B42E507DB2C5BF7A46 /* Pods-ExampleiOS13.release.xcconfig */,
- B1B0E469D2F9EA36A787D5E7 /* Pods-GrowingAnalyticsCDPTests.debug.xcconfig */,
- 15B6BB849F26AF0791371D18 /* Pods-GrowingAnalyticsCDPTests.release.xcconfig */,
- 60F77CA47D760F5DDE8FFF21 /* Pods-GrowingAnalyticsStartTests.debug.xcconfig */,
- FBC4514B8EC1B458F43C9820 /* Pods-GrowingAnalyticsStartTests.release.xcconfig */,
- F286A03FF69374A3647F1EE3 /* Pods-GrowingAnalyticsTests.debug.xcconfig */,
- F274DEF2F4ECD48426EFD4DA /* Pods-GrowingAnalyticsTests.release.xcconfig */,
- 75A09303FD32EECF0AD4EA4D /* Pods-HostApplicationTests.debug.xcconfig */,
- C6CF7AED52273FB42287E823 /* Pods-HostApplicationTests.release.xcconfig */,
- 667FE81378C014039802CB22 /* Pods-ProtobufTests.debug.xcconfig */,
- 971A522EDA0D265E607070FB /* Pods-ProtobufTests.release.xcconfig */,
- );
- name = Pods;
- path = ../Pods;
- sourceTree = "";
- };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
+ 346E0B3729F2724300A12E4E /* Example-macOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 346E0B4629F2724400A12E4E /* Build configuration list for PBXNativeTarget "Example-macOS" */;
+ buildPhases = (
+ 508498B1E0CEDEE0285D33A5 /* [CP] Check Pods Manifest.lock */,
+ 346E0B3429F2724300A12E4E /* Sources */,
+ 346E0B3529F2724300A12E4E /* Frameworks */,
+ 346E0B3629F2724300A12E4E /* Resources */,
+ F35C9AFCB3610C2F365951C5 /* [CP] Embed Pods Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Example-macOS";
+ productName = "Example-macOS";
+ productReference = 346E0B3829F2724300A12E4E /* Example-macOS.app */;
+ productType = "com.apple.product-type.application";
+ };
3494DCF728597E1A00A6CE46 /* GrowingAnalyticsUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3494DD0028597E1A00A6CE46 /* Build configuration list for PBXNativeTarget "GrowingAnalyticsUITests" */;
@@ -1323,11 +1381,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 3494DD242859E07C00A6CE46 /* Build configuration list for PBXNativeTarget "ExampleiOS13" */;
buildPhases = (
- 7484D1A36D371648A1DF8A08 /* [CP] Check Pods Manifest.lock */,
+ C800A165AD17AB1C22B040CE /* [CP] Check Pods Manifest.lock */,
3494DD0A2859E07500A6CE46 /* Sources */,
3494DD0B2859E07500A6CE46 /* Frameworks */,
3494DD0C2859E07500A6CE46 /* Resources */,
- ED471B3F18CBA25C7BACF7BB /* [CP] Embed Pods Frameworks */,
+ 6768756DF194F5DC75B6668C /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1360,11 +1418,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 349B528F28C0884400EE88FE /* Build configuration list for PBXNativeTarget "AdvertTests" */;
buildPhases = (
- BB75E39D41DEEC0506D7A209 /* [CP] Check Pods Manifest.lock */,
+ 343BCF0CA69BCDF66483968C /* [CP] Check Pods Manifest.lock */,
349B528728C0884400EE88FE /* Sources */,
349B528828C0884400EE88FE /* Frameworks */,
349B528928C0884400EE88FE /* Resources */,
- 4CC7DF088602730AAC13494E /* [CP] Embed Pods Frameworks */,
+ FF992C706356FBA1A7638372 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1379,11 +1437,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 34AB4E4D279000F5002549FF /* Build configuration list for PBXNativeTarget "GrowingAnalyticsStartTests" */;
buildPhases = (
- 673ED9E2EE9361A891AE5FEA /* [CP] Check Pods Manifest.lock */,
+ E01F7B70074470BAFFB515F5 /* [CP] Check Pods Manifest.lock */,
34AB4E43279000F5002549FF /* Sources */,
34AB4E44279000F5002549FF /* Frameworks */,
34AB4E45279000F5002549FF /* Resources */,
- 6D4E8114EE760AF8D831E925 /* [CP] Embed Pods Frameworks */,
+ 1E56F330FA1CCF70B36A593C /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1398,11 +1456,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 34BA7B1B277C61250030AC21 /* Build configuration list for PBXNativeTarget "GrowingAnalyticsTests" */;
buildPhases = (
- 0016946707C38F6C2184F5CF /* [CP] Check Pods Manifest.lock */,
+ 3FA29A0059DBF9AA6AB30AC3 /* [CP] Check Pods Manifest.lock */,
34BA7B13277C61250030AC21 /* Sources */,
34BA7B14277C61250030AC21 /* Frameworks */,
34BA7B15277C61250030AC21 /* Resources */,
- 1CD096A6E460104637EF02A7 /* [CP] Embed Pods Frameworks */,
+ 8380C62C2C6B3B8B57199F44 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1417,11 +1475,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 34BA7B33277C63D00030AC21 /* Build configuration list for PBXNativeTarget "ProtobufTests" */;
buildPhases = (
- 44193EBF3E5F2006AAB60F3F /* [CP] Check Pods Manifest.lock */,
+ 401CB287265C79349DCA7A5D /* [CP] Check Pods Manifest.lock */,
34BA7B2B277C63D00030AC21 /* Sources */,
34BA7B2C277C63D00030AC21 /* Frameworks */,
34BA7B2D277C63D00030AC21 /* Resources */,
- 56C06FFFECBEF94CFB2BD1FF /* [CP] Embed Pods Frameworks */,
+ F2050CE5CE7870A4A6E35527 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1436,11 +1494,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 34BF77BE2795561300CA18BA /* Build configuration list for PBXNativeTarget "HostApplicationTests" */;
buildPhases = (
- 50AC72F6C764C8F2696976D2 /* [CP] Check Pods Manifest.lock */,
+ 4C04DD5CF15A0ACD5EF31A02 /* [CP] Check Pods Manifest.lock */,
34BF77B42795561300CA18BA /* Sources */,
34BF77B52795561300CA18BA /* Frameworks */,
34BF77B62795561300CA18BA /* Resources */,
- 74721750E8CE0E94EC19DC61 /* [CP] Embed Pods Frameworks */,
+ BD21E0F09980000364B80451 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1456,11 +1514,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 34D932FB27BF8A400038430E /* Build configuration list for PBXNativeTarget "GrowingAnalyticsCDPTests" */;
buildPhases = (
- 0F665B5D37825C345222D11E /* [CP] Check Pods Manifest.lock */,
+ 3CEBDA37D6A7D501E79089BA /* [CP] Check Pods Manifest.lock */,
34D932F327BF8A400038430E /* Sources */,
34D932F427BF8A400038430E /* Frameworks */,
34D932F527BF8A400038430E /* Resources */,
- E06108E447F2A34C1E53DC50 /* [CP] Embed Pods Frameworks */,
+ A523D526C1FE97C2DBAC19A0 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1475,11 +1533,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "Example" */;
buildPhases = (
- 8BDFC04D0BB6CE71A284ADBB /* [CP] Check Pods Manifest.lock */,
+ 1F175B3C185CC7D254BF6806 /* [CP] Check Pods Manifest.lock */,
6003F586195388D20070C39A /* Sources */,
6003F587195388D20070C39A /* Frameworks */,
6003F588195388D20070C39A /* Resources */,
- A5C594F2AB3697F29EA168B3 /* [CP] Embed Pods Frameworks */,
+ 1C17EF8F048AC13906C270F0 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -1497,6 +1555,7 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = Growing;
+ LastSwiftUpdateCheck = 1420;
LastUpgradeCheck = 0720;
ORGANIZATIONNAME = GrowingIO;
TargetAttributes = {
@@ -1508,6 +1567,11 @@
CreatedOnToolsVersion = 11.6;
ProvisioningStyle = Automatic;
};
+ 346E0B3729F2724300A12E4E = {
+ CreatedOnToolsVersion = 14.2;
+ DevelopmentTeam = SXBU677CPT;
+ ProvisioningStyle = Automatic;
+ };
3494DCF728597E1A00A6CE46 = {
CreatedOnToolsVersion = 13.1;
DevelopmentTeam = SXBU677CPT;
@@ -1588,11 +1652,21 @@
3494DD0D2859E07500A6CE46 /* ExampleiOS13 */,
3494DD2C2859E27B00A6CE46 /* GrowingAnalyticsiOS13UITests */,
349B528A28C0884400EE88FE /* AdvertTests */,
+ 346E0B3729F2724300A12E4E /* Example-macOS */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
+ 346E0B3629F2724300A12E4E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 346E0B3F29F2724400A12E4E /* Assets.xcassets in Resources */,
+ 346E0B4229F2724400A12E4E /* Main.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
3494DCF628597E1A00A6CE46 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1682,7 +1756,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- 0016946707C38F6C2184F5CF /* [CP] Check Pods Manifest.lock */ = {
+ 04A6FAEA24E4F0FB006C72F0 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1690,21 +1764,87 @@
inputFileListPaths = (
);
inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
);
- name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-GrowingAnalyticsTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ shellScript = "##### 提交CI前自行检测代码 #####\n# 1.请提前使用Codeformat进行代码格式化\n# 2.执行此脚本前请先确保工程编译通过\n\ncd ${SRCROOT}/../Scripts\nsh code-checker.sh\n";
+ };
+ 04A6FAEF24E50EE5006C72F0 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "##### 代码格式化工具 #####\n# 使用clang-format格式化变动的代码\n# 代码规则见.clang-format\n\ncd ${SRCROOT}/../Scripts\nsh code-format.sh ${SRCROOT}/../\n";
+ };
+ 1C17EF8F048AC13906C270F0 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/GrowingAPM/GrowingAPM.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-dfdad360/GrowingAnalytics.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingToolsKit/GrowingToolsKit.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
+ "${BUILT_PRODUCTS_DIR}/LBXScan/LBXScan.framework",
+ "${BUILT_PRODUCTS_DIR}/Protobuf/Protobuf.framework",
+ "${BUILT_PRODUCTS_DIR}/SDCycleScrollView/SDCycleScrollView.framework",
+ "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAPM.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingToolsKit.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LBXScan.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Protobuf.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDCycleScrollView.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 04A6FAEA24E4F0FB006C72F0 /* ShellScript */ = {
+ 1E56F330FA1CCF70B36A593C /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-16cd3902/GrowingAnalytics.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-cdp/GrowingAnalytics_cdp.framework",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics_cdp.framework",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 1F175B3C185CC7D254BF6806 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1712,16 +1852,21 @@
inputFileListPaths = (
);
inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
);
+ name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "##### 提交CI前自行检测代码 #####\n# 1.请提前使用Codeformat进行代码格式化\n# 2.执行此脚本前请先确保工程编译通过\n\ncd ${SRCROOT}/../Scripts\nsh code-checker.sh\n";
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
};
- 04A6FAEF24E50EE5006C72F0 /* ShellScript */ = {
+ 343BCF0CA69BCDF66483968C /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1729,16 +1874,21 @@
inputFileListPaths = (
);
inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
);
+ name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-AdvertTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "##### 代码格式化工具 #####\n# 使用clang-format格式化变动的代码\n# 代码规则见.clang-format\n\ncd ${SRCROOT}/../Scripts\nsh code-format.sh ${SRCROOT}/../\n";
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
};
- 0F665B5D37825C345222D11E /* [CP] Check Pods Manifest.lock */ = {
+ 3CEBDA37D6A7D501E79089BA /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1760,27 +1910,29 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 1CD096A6E460104637EF02A7 /* [CP] Embed Pods Frameworks */ = {
+ 3FA29A0059DBF9AA6AB30AC3 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-c4dd48da/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
);
- name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
+ "$(DERIVED_FILE_DIR)/Pods-GrowingAnalyticsTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests-frameworks.sh\"\n";
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 44193EBF3E5F2006AAB60F3F /* [CP] Check Pods Manifest.lock */ = {
+ 401CB287265C79349DCA7A5D /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1802,27 +1954,29 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 4CC7DF088602730AAC13494E /* [CP] Embed Pods Frameworks */ = {
+ 4C04DD5CF15A0ACD5EF31A02 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-AdvertTests/Pods-AdvertTests-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-b0c2cd62/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
);
- name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
+ "$(DERIVED_FILE_DIR)/Pods-HostApplicationTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AdvertTests/Pods-AdvertTests-frameworks.sh\"\n";
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 50AC72F6C764C8F2696976D2 /* [CP] Check Pods Manifest.lock */ = {
+ 508498B1E0CEDEE0285D33A5 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1837,66 +1991,66 @@
outputFileListPaths = (
);
outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-HostApplicationTests-checkManifestLockResult.txt",
+ "$(DERIVED_FILE_DIR)/Pods-Example-macOS-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 56C06FFFECBEF94CFB2BD1FF /* [CP] Embed Pods Frameworks */ = {
+ 6768756DF194F5DC75B6668C /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-b10f5797/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
- "${BUILT_PRODUCTS_DIR}/Protobuf/Protobuf.framework",
+ "${PODS_ROOT}/Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/GrowingAPM/GrowingAPM.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-b0c2cd62/GrowingAnalytics.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingToolsKit/GrowingToolsKit.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAPM.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingToolsKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Protobuf.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests-frameworks.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 673ED9E2EE9361A891AE5FEA /* [CP] Check Pods Manifest.lock */ = {
+ 8380C62C2C6B3B8B57199F44 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
- inputFileListPaths = (
- );
inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-c4dd48da/GrowingAnalytics.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
);
+ name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-GrowingAnalyticsStartTests-checkManifestLockResult.txt",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsTests/Pods-GrowingAnalyticsTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 6D4E8114EE760AF8D831E925 /* [CP] Embed Pods Frameworks */ = {
+ A523D526C1FE97C2DBAC19A0 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests-frameworks.sh",
+ "${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/GrowingAnalytics-16cd3902/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
"${BUILT_PRODUCTS_DIR}/GrowingAnalytics-cdp/GrowingAnalytics_cdp.framework",
);
name = "[CP] Embed Pods Frameworks";
@@ -1907,10 +2061,10 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsStartTests/Pods-GrowingAnalyticsStartTests-frameworks.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 74721750E8CE0E94EC19DC61 /* [CP] Embed Pods Frameworks */ = {
+ BD21E0F09980000364B80451 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1918,7 +2072,7 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/GrowingAnalytics-c99a9474/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
"${BUILT_PRODUCTS_DIR}/KIF/KIF.framework",
);
name = "[CP] Embed Pods Frameworks";
@@ -1932,7 +2086,7 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 7484D1A36D371648A1DF8A08 /* [CP] Check Pods Manifest.lock */ = {
+ C800A165AD17AB1C22B040CE /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1954,7 +2108,7 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 8BDFC04D0BB6CE71A284ADBB /* [CP] Check Pods Manifest.lock */ = {
+ E01F7B70074470BAFFB515F5 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1969,116 +2123,87 @@
outputFileListPaths = (
);
outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt",
+ "$(DERIVED_FILE_DIR)/Pods-GrowingAnalyticsStartTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- A5C594F2AB3697F29EA168B3 /* [CP] Embed Pods Frameworks */ = {
+ F2050CE5CE7870A4A6E35527 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/GrowingAPM/GrowingAPM.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-dfdad360/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingToolsKit/GrowingToolsKit.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
- "${BUILT_PRODUCTS_DIR}/LBXScan/LBXScan.framework",
+ "${PODS_ROOT}/Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-b10f5797/GrowingAnalytics.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
"${BUILT_PRODUCTS_DIR}/Protobuf/Protobuf.framework",
- "${BUILT_PRODUCTS_DIR}/SDCycleScrollView/SDCycleScrollView.framework",
- "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAPM.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingToolsKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LBXScan.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Protobuf.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDCycleScrollView.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
- BB75E39D41DEEC0506D7A209 /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-AdvertTests-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ProtobufTests/Pods-ProtobufTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- E06108E447F2A34C1E53DC50 /* [CP] Embed Pods Frameworks */ = {
+ F35C9AFCB3610C2F365951C5 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-16cd3902/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-cdp/GrowingAnalytics_cdp.framework",
+ "${PODS_ROOT}/Target Support Files/Pods-Example-macOS/Pods-Example-macOS-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/GrowingAnalytics-4c71c34d/GrowingAnalytics.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-TrackerCore/GrowingUtils.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics_cdp.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GrowingAnalyticsCDPTests/Pods-GrowingAnalyticsCDPTests-frameworks.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-macOS/Pods-Example-macOS-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- ED471B3F18CBA25C7BACF7BB /* [CP] Embed Pods Frameworks */ = {
+ FF992C706356FBA1A7638372 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/GrowingAPM/GrowingAPM.framework",
+ "${PODS_ROOT}/Target Support Files/Pods-AdvertTests/Pods-AdvertTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/GrowingAnalytics-b0c2cd62/GrowingAnalytics.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingToolsKit/GrowingToolsKit.framework",
- "${BUILT_PRODUCTS_DIR}/GrowingUtils/GrowingUtils.framework",
+ "${BUILT_PRODUCTS_DIR}/GrowingUtils-AutotrackerCore-TrackerCore/GrowingUtils.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAPM.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingAnalytics.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingToolsKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GrowingUtils.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExampleiOS13/Pods-ExampleiOS13-frameworks.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AdvertTests/Pods-AdvertTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
+ 346E0B3429F2724300A12E4E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 346E0B3D29F2724400A12E4E /* ViewController.swift in Sources */,
+ 346E0B3B29F2724400A12E4E /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
3494DCF428597E1A00A6CE46 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -2296,6 +2421,14 @@
name = Main.storyboard;
sourceTree = "";
};
+ 346E0B4029F2724400A12E4E /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 346E0B4129F2724400A12E4E /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
3494DD192859E07500A6CE46 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
@@ -2347,6 +2480,114 @@
};
name = Release;
};
+ 346E0B4429F2724400A12E4E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = BBC64B438435E91D8D408C70 /* Pods-Example-macOS.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_ENTITLEMENTS = "Example-macOS/Example_macOS.entitlements";
+ CODE_SIGN_STYLE = Automatic;
+ COMBINE_HIDPI_IMAGES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = SXBU677CPT;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_CFBundleDisplayName = "Example-macOS";
+ INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 GrowingIO. All rights reserved.";
+ INFOPLIST_KEY_NSMainStoryboardFile = Main;
+ INFOPLIST_KEY_NSPrincipalClass = NSApplication;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ OTHER_SWIFT_FLAGS = "-Xcc -Wno-error=non-modular-include-in-framework-module";
+ PRODUCT_BUNDLE_IDENTIFIER = "GrowingIO.GrowingIOTest-";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ 346E0B4529F2724400A12E4E /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 03D85F7CFC2FCDB001B3D5D4 /* Pods-Example-macOS.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_ENTITLEMENTS = "Example-macOS/Example_macOS.entitlements";
+ CODE_SIGN_STYLE = Automatic;
+ COMBINE_HIDPI_IMAGES = YES;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEVELOPMENT_TEAM = SXBU677CPT;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_CFBundleDisplayName = "Example-macOS";
+ INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 GrowingIO. All rights reserved.";
+ INFOPLIST_KEY_NSMainStoryboardFile = Main;
+ INFOPLIST_KEY_NSPrincipalClass = NSApplication;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 11.0;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ OTHER_SWIFT_FLAGS = "-Xcc -Wno-error=non-modular-include-in-framework-module";
+ PRODUCT_BUNDLE_IDENTIFIER = "GrowingIO.GrowingIOTest-";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
3494DD0128597E1A00A6CE46 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -2362,7 +2603,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2380,7 +2620,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2408,7 +2648,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2427,7 +2666,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -2442,7 +2681,7 @@
};
3494DD252859E07C00A6CE46 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = EF77207AC05D4702F8C9C58C /* Pods-ExampleiOS13.debug.xcconfig */;
+ baseConfigurationReference = F625366B1611DA7E27D0E32C /* Pods-ExampleiOS13.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -2458,7 +2697,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2485,7 +2723,7 @@
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2499,7 +2737,7 @@
};
3494DD262859E07C00A6CE46 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = B1A467B42E507DB2C5BF7A46 /* Pods-ExampleiOS13.release.xcconfig */;
+ baseConfigurationReference = E1800E7E573CE2BD70F0B706 /* Pods-ExampleiOS13.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -2515,7 +2753,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2543,7 +2780,7 @@
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -2570,7 +2807,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2588,7 +2824,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2616,7 +2852,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2635,7 +2870,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -2650,7 +2885,7 @@
};
349B529028C0884400EE88FE /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = E1FAB1B410063271250FFC6D /* Pods-AdvertTests.debug.xcconfig */;
+ baseConfigurationReference = EE40DB36AB9D5F726C4E5C5D /* Pods-AdvertTests.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2664,7 +2899,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2682,7 +2916,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2696,7 +2930,7 @@
};
349B529128C0884400EE88FE /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = BE3D8AD215D13B387143219B /* Pods-AdvertTests.release.xcconfig */;
+ baseConfigurationReference = 6CED0EF3C2998D1807B54226 /* Pods-AdvertTests.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2710,7 +2944,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2729,7 +2962,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -2743,7 +2976,7 @@
};
34AB4E4B279000F5002549FF /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 60F77CA47D760F5DDE8FFF21 /* Pods-GrowingAnalyticsStartTests.debug.xcconfig */;
+ baseConfigurationReference = 0B3751A8D7A8C11CD50B544E /* Pods-GrowingAnalyticsStartTests.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2757,7 +2990,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2775,7 +3007,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2789,7 +3021,7 @@
};
34AB4E4C279000F5002549FF /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = FBC4514B8EC1B458F43C9820 /* Pods-GrowingAnalyticsStartTests.release.xcconfig */;
+ baseConfigurationReference = CFC074E90BAC4B828194DC02 /* Pods-GrowingAnalyticsStartTests.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2803,7 +3035,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2822,7 +3053,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -2836,7 +3067,7 @@
};
34BA7B1C277C61250030AC21 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = F286A03FF69374A3647F1EE3 /* Pods-GrowingAnalyticsTests.debug.xcconfig */;
+ baseConfigurationReference = 6F9B4F11B90235A2D461CA2C /* Pods-GrowingAnalyticsTests.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2850,7 +3081,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2868,7 +3098,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2882,7 +3112,7 @@
};
34BA7B1D277C61250030AC21 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = F274DEF2F4ECD48426EFD4DA /* Pods-GrowingAnalyticsTests.release.xcconfig */;
+ baseConfigurationReference = D1AA342F735CCEF5565AEEE7 /* Pods-GrowingAnalyticsTests.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2896,7 +3126,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2915,7 +3144,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -2929,7 +3158,7 @@
};
34BA7B34277C63D00030AC21 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 667FE81378C014039802CB22 /* Pods-ProtobufTests.debug.xcconfig */;
+ baseConfigurationReference = B2DC29AD1846CC827998F01D /* Pods-ProtobufTests.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2943,7 +3172,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -2961,7 +3189,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -2975,7 +3203,7 @@
};
34BA7B35277C63D00030AC21 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 971A522EDA0D265E607070FB /* Pods-ProtobufTests.release.xcconfig */;
+ baseConfigurationReference = DBB8310F70301DB55003E65C /* Pods-ProtobufTests.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -2989,7 +3217,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -3008,7 +3235,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -3022,7 +3249,7 @@
};
34BF77BF2795561300CA18BA /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 75A09303FD32EECF0AD4EA4D /* Pods-HostApplicationTests.debug.xcconfig */;
+ baseConfigurationReference = 3D63F725A31AE372B485C361 /* Pods-HostApplicationTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES;
@@ -3037,7 +3264,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -3055,7 +3281,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -3070,7 +3296,7 @@
};
34BF77C02795561300CA18BA /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = C6CF7AED52273FB42287E823 /* Pods-HostApplicationTests.release.xcconfig */;
+ baseConfigurationReference = FAB05E3514907518EF7B9514 /* Pods-HostApplicationTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES;
@@ -3085,7 +3311,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -3104,7 +3329,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -3119,7 +3344,7 @@
};
34D932FC27BF8A400038430E /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = B1B0E469D2F9EA36A787D5E7 /* Pods-GrowingAnalyticsCDPTests.debug.xcconfig */;
+ baseConfigurationReference = FF93145D0D866B2292B78207 /* Pods-GrowingAnalyticsCDPTests.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -3133,7 +3358,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -3151,7 +3375,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
@@ -3165,7 +3389,7 @@
};
34D932FD27BF8A400038430E /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 15B6BB849F26AF0791371D18 /* Pods-GrowingAnalyticsCDPTests.release.xcconfig */;
+ baseConfigurationReference = E358AB81E170FF3B9BD33067 /* Pods-GrowingAnalyticsCDPTests.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -3179,7 +3403,6 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -3198,7 +3421,7 @@
"$(inherited)",
"\"$(SRCROOT)/..\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO;
@@ -3285,7 +3508,7 @@
};
6003F5C0195388D20070C39A /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 0B9B66FA65EE5170181EDDA0 /* Pods-Example.debug.xcconfig */;
+ baseConfigurationReference = 91EEE76F9E0E94DB389A9D21 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements;
@@ -3299,20 +3522,24 @@
"\"$(SRCROOT)/..\"",
);
INFOPLIST_FILE = "Example/GrowingIO-Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "GrowingIO.GrowingIOTest-";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = YES;
+ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_VERSION = 4.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
6003F5C1195388D20070C39A /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 5A726A5206E26820EAE1C12C /* Pods-Example.release.xcconfig */;
+ baseConfigurationReference = DDE20EE0BB4E138A407A5D1C /* Pods-Example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements;
@@ -3326,13 +3553,17 @@
"\"$(SRCROOT)/..\"",
);
INFOPLIST_FILE = "Example/GrowingIO-Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "GrowingIO.GrowingIOTest-";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = YES;
+ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_VERSION = 4.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
WRAPPER_EXTENSION = app;
};
name = Release;
@@ -3358,6 +3589,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 346E0B4629F2724400A12E4E /* Build configuration list for PBXNativeTarget "Example-macOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 346E0B4429F2724400A12E4E /* Debug */,
+ 346E0B4529F2724400A12E4E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
3494DD0028597E1A00A6CE46 /* Build configuration list for PBXNativeTarget "GrowingAnalyticsUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/Example/Example/Example.entitlements b/Example/Example/Example.entitlements
index 82c895bd3..8f9fb660b 100644
--- a/Example/Example/Example.entitlements
+++ b/Example/Example/Example.entitlements
@@ -7,5 +7,13 @@
applinks:testlink.growingio.com
applinks:datayi.cn
+ com.apple.security.app-sandbox
+
+ com.apple.security.device.camera
+
+ com.apple.security.network.client
+
+ com.apple.security.personal-information.location
+
diff --git a/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m b/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m
index c13f96c09..cb86bc552 100644
--- a/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m
+++ b/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m
@@ -40,7 +40,7 @@ - (void)didReceiveMemoryWarning {
- (IBAction)setDataCollectionEnabled:(UISwitch *)sender {
#if defined(SDK3rd)
- [[GrowingAutotracker sharedInstance] setDataCollectionEnabled:sender.isOn];
+ [[GrowingSDK sharedInstance] setDataCollectionEnabled:sender.isOn];
#endif
}
diff --git a/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m b/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m
index 897c6e3ab..2da837a36 100644
--- a/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m
+++ b/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m
@@ -53,7 +53,6 @@ -(void)testGrowingUIViewController {
[vc1 performSelector:@selector(growingNodeName)];
[vc1 performSelector:@selector(growingNodeContent)];
[vc1 performSelector:@selector(growingNodeDataDict)];
- [vc1 performSelector:@selector(growingNodeWindow)];
[vc1 performSelector:@selector(growingNodeUniqueTag)];
[vc1 performSelector:@selector(growingNodeKeyIndex)];
[vc1 performSelector:@selector(growingNodeSubPath)];
@@ -110,7 +109,6 @@ - (void)testGrowingUIView {
[view2 performSelector:@selector(growingNodeUserInteraction)];
[view2 performSelector:@selector(growingViewUserInteraction)];
[view2 performSelector:@selector(growingNodeDataDict)];
- [view2 performSelector:@selector(growingNodeWindow)];
[view2 performSelector:@selector(growingNodeUniqueTag)];
[view2 performSelector:@selector(growingViewCustomContent)];
[view2 performSelector:@selector(growingIMPTracked)];
diff --git a/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m b/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m
index 365dd9ea1..722e925fc 100644
--- a/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m
+++ b/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m
@@ -25,8 +25,7 @@
#import "Modules/Hybrid/GrowingHybridBridgeProvider.h"
#import "GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h"
#import "Modules/Hybrid/Events/GrowingHybridPageEvent.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Manager/GrowingSession.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
#import "GrowingTrackerCore/Event/GrowingEventGenerator.h"
diff --git a/Example/GrowingAnalyticsTests/ServicesTests/CompressionTests/CompressionTest.m b/Example/GrowingAnalyticsTests/ServicesTests/CompressionTests/CompressionTest.m
index 2999fd478..bfb749c6f 100644
--- a/Example/GrowingAnalyticsTests/ServicesTests/CompressionTests/CompressionTest.m
+++ b/Example/GrowingAnalyticsTests/ServicesTests/CompressionTests/CompressionTest.m
@@ -21,8 +21,7 @@
#import "Services/Compression/GrowingDataCompression.h"
#import "GrowingTrackerCore/Event/GrowingVisitEvent.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
@interface CompressionTest : XCTestCase
diff --git a/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONPersistenceTest.m b/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONPersistenceTest.m
index 0871b3d29..698ef303f 100644
--- a/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONPersistenceTest.m
+++ b/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONPersistenceTest.m
@@ -21,8 +21,7 @@
#import "Services/Database/GrowingEventJSONPersistence.h"
#import "GrowingTrackerCore/Event/GrowingCustomEvent.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
@interface JSONPersistenceTest : XCTestCase
diff --git a/Example/GrowingAnalyticsTests/ServicesTests/EncryptionTests/EncryptionTest.m b/Example/GrowingAnalyticsTests/ServicesTests/EncryptionTests/EncryptionTest.m
index 21134dff6..e6a3ea3d1 100644
--- a/Example/GrowingAnalyticsTests/ServicesTests/EncryptionTests/EncryptionTest.m
+++ b/Example/GrowingAnalyticsTests/ServicesTests/EncryptionTests/EncryptionTest.m
@@ -21,7 +21,7 @@
#import "Services/Encryption/GrowingDataEncoder.h"
#import "GrowingTrackerCore/Event/GrowingVisitEvent.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingULTimeUtil.h"
@interface EncryptionTest : XCTestCase
diff --git a/Example/GrowingAnalyticsTests/TrackerCoreTests/DatabaseTests/DatabaseTest.m b/Example/GrowingAnalyticsTests/TrackerCoreTests/DatabaseTests/DatabaseTest.m
index e66b156c5..af6a60686 100644
--- a/Example/GrowingAnalyticsTests/TrackerCoreTests/DatabaseTests/DatabaseTest.m
+++ b/Example/GrowingAnalyticsTests/TrackerCoreTests/DatabaseTests/DatabaseTest.m
@@ -27,7 +27,7 @@
#import "GrowingTrackerCore/Database/GrowingEventDatabase.h"
#import "Services/Database/GrowingEventJSONPersistence.h"
#import "GrowingTrackerCore/Event/GrowingVisitEvent.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/FileStorage/GrowingFileStorage.h"
#import "GrowingTrackerCore/Event/GrowingTrackEventType.h"
diff --git a/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingFoundationHelpersTest.m b/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingFoundationHelpersTest.m
index 121fe5fe9..5733dffb1 100644
--- a/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingFoundationHelpersTest.m
+++ b/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingFoundationHelpersTest.m
@@ -20,12 +20,7 @@
#import
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
@interface GrowingFoundationHelpersTest : XCTestCase
diff --git a/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingUIKitHelpersTest.m b/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingUIKitHelpersTest.m
index fe7546005..27085fe9b 100644
--- a/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingUIKitHelpersTest.m
+++ b/Example/GrowingAnalyticsTests/TrackerCoreTests/HelpersTests/GrowingUIKitHelpersTest.m
@@ -20,11 +20,7 @@
#import
-#import "GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "InvocationHelper.h"
@interface GrowingUIKitHelpersTest : XCTestCase
@@ -105,18 +101,15 @@ - (void)testImageHelper {
[image growingHelper_PNG];
[image growingHelper_Base64JPEG:0.9];
[image growingHelper_Base64PNG];
- [image growingHelper_getSubImage:CGRectMake(0, 0, 1, 1)];
}
- (void)testUIWindowHelper {
- [[UIWindow new] growingHelper_screenshot:0.8];
[UIWindow growingHelper_screenshotWithWindows:nil andMaxScale:0.8];
[UIWindow growingHelper_screenshotWithWindows:nil andMaxScale:0.8 block:nil];
}
- (void)testUIViewHelper {
UIView *view = [[UIView alloc] init];
- [view growingHelper_screenshot:2.0f];
[view growingHelper_viewController];
}
diff --git a/Example/GrowingAnalyticsTests/TrackerCoreTests/UtilsTests/DeviceInfoTest.m b/Example/GrowingAnalyticsTests/TrackerCoreTests/UtilsTests/DeviceInfoTest.m
index 315d13bb1..fe966c367 100644
--- a/Example/GrowingAnalyticsTests/TrackerCoreTests/UtilsTests/DeviceInfoTest.m
+++ b/Example/GrowingAnalyticsTests/TrackerCoreTests/UtilsTests/DeviceInfoTest.m
@@ -37,15 +37,10 @@ - (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
-- (void)testGrowingDeviceInfo {
- [GrowingDeviceInfo deviceScreenSize];
-}
-
- (void)testGrowingDeviceInfoPrivateMethods {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
GrowingDeviceInfo *deviceInfo = GrowingDeviceInfo.currentDeviceInfo;
- XCTAssertNotNil([deviceInfo safePerformSelector:@selector(carrier)]);
XCTAssertNoThrow([deviceInfo safePerformSelector:@selector(handleStatusBarOrientationChange)]);
XCTAssertNoThrow([deviceInfo safePerformSelector:@selector(applicationDidBecomeActive)]);
XCTAssertNoThrow([deviceInfo safePerformSelector:@selector(applicationWillResignActive)]);
diff --git a/GrowingAnalytics-cdp.podspec b/GrowingAnalytics-cdp.podspec
index f999292a4..a4ce1e113 100644
--- a/GrowingAnalytics-cdp.podspec
+++ b/GrowingAnalytics-cdp.podspec
@@ -12,21 +12,23 @@ GrowingAnalytics-cdp基于GrowingAnalytics,同样具备自动采集基本的
s.author = { 'GrowingIO' => 'support@growingio.com' }
s.source = { :git => 'https://github.com/growingio/growingio-sdk-ios-autotracker.git', :tag => s.version.to_s }
s.ios.deployment_target = '9.0'
+ s.osx.deployment_target = '10.12'
s.ios.framework = 'WebKit'
s.requires_arc = true
s.default_subspec = "Autotracker"
s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" "${PODS_ROOT}/GrowingAnalytics"' }
s.subspec 'Autotracker' do |autotracker|
+ autotracker.ios.deployment_target = '9.0'
autotracker.source_files = 'GrowingAutotracker-cdp/**/*{.h,.m,.c,.cpp,.mm}'
autotracker.public_header_files = 'GrowingAutotracker-cdp/*.h'
autotracker.dependency 'GrowingAnalytics-cdp/TrackerCore', s.version.to_s
autotracker.dependency 'GrowingAnalytics/AutotrackerCore', s.version.to_s
# Modules
- autotracker.dependency 'GrowingAnalytics/Hybrid', s.version.to_s
- autotracker.dependency 'GrowingAnalytics/MobileDebugger', s.version.to_s
- autotracker.dependency 'GrowingAnalytics/WebCircle', s.version.to_s
+ autotracker.ios.dependency 'GrowingAnalytics/Hybrid', s.version.to_s
+ autotracker.ios.dependency 'GrowingAnalytics/MobileDebugger', s.version.to_s
+ autotracker.ios.dependency 'GrowingAnalytics/WebCircle', s.version.to_s
autotracker.dependency 'GrowingAnalytics/DefaultServices', s.version.to_s
end
@@ -36,7 +38,7 @@ GrowingAnalytics-cdp基于GrowingAnalytics,同样具备自动采集基本的
tracker.dependency 'GrowingAnalytics-cdp/TrackerCore', s.version.to_s
# Modules
- tracker.dependency 'GrowingAnalytics/MobileDebugger', s.version.to_s
+ tracker.ios.dependency 'GrowingAnalytics/MobileDebugger', s.version.to_s
tracker.dependency 'GrowingAnalytics/DefaultServices', s.version.to_s
end
diff --git a/GrowingAnalytics.podspec b/GrowingAnalytics.podspec
index 9a4a9a21b..8bf0a61dc 100644
--- a/GrowingAnalytics.podspec
+++ b/GrowingAnalytics.podspec
@@ -10,20 +10,22 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
s.author = { 'GrowingIO' => 'support@growingio.com' }
s.source = { :git => 'https://github.com/growingio/growingio-sdk-ios-autotracker.git', :tag => s.version.to_s }
s.ios.deployment_target = '9.0'
+ s.osx.deployment_target = '10.12'
s.ios.framework = 'WebKit'
s.requires_arc = true
s.default_subspec = "Autotracker"
s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' }
s.subspec 'Autotracker' do |autotracker|
+ autotracker.ios.deployment_target = '9.0'
autotracker.source_files = 'GrowingAutotracker/**/*{.h,.m,.c,.cpp,.mm}'
autotracker.public_header_files = 'GrowingAutotracker/*.h'
autotracker.dependency 'GrowingAnalytics/AutotrackerCore'
# Modules
- autotracker.dependency 'GrowingAnalytics/Hybrid'
- autotracker.dependency 'GrowingAnalytics/MobileDebugger'
- autotracker.dependency 'GrowingAnalytics/WebCircle'
+ autotracker.ios.dependency 'GrowingAnalytics/Hybrid'
+ autotracker.ios.dependency 'GrowingAnalytics/MobileDebugger'
+ autotracker.ios.dependency 'GrowingAnalytics/WebCircle'
autotracker.dependency 'GrowingAnalytics/DefaultServices'
end
@@ -33,12 +35,12 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
tracker.dependency 'GrowingAnalytics/TrackerCore'
# Modules
- tracker.dependency 'GrowingAnalytics/MobileDebugger'
+ tracker.ios.dependency 'GrowingAnalytics/MobileDebugger'
tracker.dependency 'GrowingAnalytics/DefaultServices'
end
s.subspec 'TrackerCore' do |trackerCore|
- trackerCore.dependency 'GrowingUtils/TrackerCore', '0.0.4'
+ trackerCore.dependency 'GrowingUtils/TrackerCore', '0.0.5'
trackerCore.source_files = 'GrowingTrackerCore/**/*{.h,.m,.c,.cpp,.mm}'
trackerCore.exclude_files = 'GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier_NoIDFA.m'
trackerCore.public_header_files = 'GrowingTrackerCore/Public/*.h'
@@ -46,7 +48,8 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
end
s.subspec 'AutotrackerCore' do |autotrackerCore|
- autotrackerCore.dependency 'GrowingUtils/AutotrackerCore', '0.0.4'
+ autotrackerCore.ios.deployment_target = '9.0'
+ autotrackerCore.dependency 'GrowingUtils/AutotrackerCore', '0.0.5'
autotrackerCore.source_files = 'GrowingAutotrackerCore/**/*{.h,.m,.c,.cpp,.mm}'
autotrackerCore.private_header_files = 'GrowingAutotrackerCore/Private/*{.h,.m,.c,.cpp,.mm}'
autotrackerCore.public_header_files = 'GrowingAutotrackerCore/Public/*.h'
@@ -55,37 +58,37 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
s.subspec 'Database' do |service|
service.source_files = 'Services/Database/**/*{.h,.m,.c,.cpp,.mm}'
- service.public_header_files = 'Services/Database/Public/*.h'
+ service.public_header_files = 'Services/Database/include/*.h'
service.dependency 'GrowingAnalytics/TrackerCore'
end
s.subspec 'Network' do |service|
service.source_files = 'Services/Network/**/*{.h,.m,.c,.cpp,.mm}'
- service.public_header_files = 'Services/Network/Public/*.h'
+ service.public_header_files = 'Services/Network/include/*.h'
service.dependency 'GrowingAnalytics/TrackerCore'
end
s.subspec 'WebSocket' do |service|
service.source_files = 'Services/WebSocket/**/*{.h,.m,.c,.cpp,.mm}'
- service.public_header_files = 'Services/WebSocket/Public/*.h'
+ service.public_header_files = 'Services/WebSocket/include/*.h'
service.dependency 'GrowingAnalytics/TrackerCore'
end
s.subspec 'Compression' do |service|
service.source_files = 'Services/Compression/**/*{.h,.m,.c,.cpp,.mm}'
- service.public_header_files = 'Services/Compression/Public/*.h'
+ service.public_header_files = 'Services/Compression/include/*.h'
service.dependency 'GrowingAnalytics/TrackerCore'
end
s.subspec 'Encryption' do |service|
service.source_files = 'Services/Encryption/**/*{.h,.m,.c,.cpp,.mm}'
- service.public_header_files = 'Services/Encryption/Public/*.h'
+ service.public_header_files = 'Services/Encryption/include/*.h'
service.dependency 'GrowingAnalytics/TrackerCore'
end
s.subspec 'DefaultServices' do |services|
services.source_files = 'Modules/DefaultServices/**/*{.h,.m,.c,.cpp,.mm}'
- services.public_header_files = 'Modules/DefaultServices/Public/*.h'
+ services.public_header_files = 'Modules/DefaultServices/include/*.h'
services.dependency 'GrowingAnalytics/TrackerCore'
# Default Services
@@ -96,27 +99,31 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
end
s.subspec 'MobileDebugger' do |debugger|
+ debugger.ios.deployment_target = '9.0'
debugger.source_files = 'Modules/MobileDebugger/**/*{.h,.m,.c,.cpp,.mm}'
- debugger.public_header_files = 'Modules/MobileDebugger/Public/*.h'
+ debugger.public_header_files = 'Modules/MobileDebugger/include/*.h'
debugger.dependency 'GrowingAnalytics/TrackerCore'
debugger.dependency 'GrowingAnalytics/WebSocket'
end
s.subspec 'WebCircle' do |webcircle|
+ webcircle.ios.deployment_target = '9.0'
webcircle.source_files = 'Modules/WebCircle/**/*{.h,.m,.c,.cpp,.mm}'
- webcircle.public_header_files = 'Modules/WebCircle/Public/*.h'
+ webcircle.public_header_files = 'Modules/WebCircle/include/*.h'
webcircle.dependency 'GrowingAnalytics/AutotrackerCore'
webcircle.dependency 'GrowingAnalytics/Hybrid'
webcircle.dependency 'GrowingAnalytics/WebSocket'
end
s.subspec 'Hybrid' do |hybrid|
+ hybrid.ios.deployment_target = '9.0'
hybrid.source_files = 'Modules/Hybrid/**/*{.h,.m,.c,.cpp,.mm}'
- hybrid.public_header_files = 'Modules/Hybrid/Public/*.h'
+ hybrid.public_header_files = 'Modules/Hybrid/include/*.h'
hybrid.dependency 'GrowingAnalytics/TrackerCore'
end
s.subspec 'Advert' do |advert|
+ advert.ios.deployment_target = '9.0'
advert.source_files = 'Modules/Advert/**/*{.h,.m,.c,.cpp,.mm}'
advert.public_header_files = 'Modules/Advert/Public/*.h'
advert.dependency 'GrowingAnalytics/TrackerCore'
@@ -125,7 +132,7 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
s.subspec 'Protobuf' do |protobuf|
protobuf.source_files = 'Modules/Protobuf/**/*{.h,.m,.c,.cpp,.mm}'
protobuf.exclude_files = 'Modules/Protobuf/Proto/**/*{.h,.m,.c,.cpp,.mm}'
- protobuf.public_header_files = 'Modules/Protobuf/Public/*.h'
+ protobuf.public_header_files = 'Modules/Protobuf/include/*.h'
protobuf.dependency 'GrowingAnalytics/TrackerCore'
protobuf.dependency 'GrowingAnalytics/Database'
@@ -137,6 +144,7 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
end
s.subspec 'APM' do |apm|
+ apm.ios.deployment_target = '9.0'
apm.source_files = 'Modules/APM/**/*{.h,.m,.c,.cpp,.mm}'
apm.public_header_files = 'Modules/APM/Public/*.h'
apm.dependency 'GrowingAnalytics/TrackerCore'
@@ -146,7 +154,7 @@ GrowingAnalytics具备自动采集基本的用户行为事件,比如访问和
# 使用flutter无埋点插件时,将自动导入该库,正常情况下请勿手动导入
s.subspec 'Flutter' do |flutter|
flutter.source_files = 'Modules/Flutter/**/*{.h,.m,.c,.cpp,.mm}'
- flutter.public_header_files = 'Modules/Flutter/Public/*.h'
+ flutter.public_header_files = 'Modules/Flutter/include/*.h'
flutter.dependency 'GrowingAnalytics/TrackerCore'
end
diff --git a/GrowingAutotrackerCore/Autotrack/UIAlertController+GrowingAutotracker.m b/GrowingAutotrackerCore/Autotrack/UIAlertController+GrowingAutotracker.m
index c96b50bb0..f01dd6d99 100644
--- a/GrowingAutotrackerCore/Autotrack/UIAlertController+GrowingAutotracker.m
+++ b/GrowingAutotrackerCore/Autotrack/UIAlertController+GrowingAutotracker.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingAutotrackerCore/Autotrack/UIAlertController+GrowingAutotracker.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Event/GrowingEventManager.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/GrowingViewClickProvider.h"
diff --git a/GrowingAutotrackerCore/Autotrack/UISegmentedControl+GrowingAutotracker.m b/GrowingAutotrackerCore/Autotrack/UISegmentedControl+GrowingAutotracker.m
index bae11af1d..8f6e62b91 100644
--- a/GrowingAutotrackerCore/Autotrack/UISegmentedControl+GrowingAutotracker.m
+++ b/GrowingAutotrackerCore/Autotrack/UISegmentedControl+GrowingAutotracker.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingAutotrackerCore/Autotrack/UISegmentedControl+GrowingAutotracker.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/GrowingViewClickProvider.h"
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UIAlertController+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UIAlertController+GrowingNode.m
index 4e0ed8e6f..c56bf95ce 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UIAlertController+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UIAlertController+GrowingNode.m
@@ -18,10 +18,9 @@
// limitations under the License.
#import "GrowingAutotrackerCore/GrowingNode/Category/UIAlertController+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
#import "GrowingAutotrackerCore/Autotrack/UIAlertController+GrowingAutotracker.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
#import
@implementation UIAlertController (GrowingNode)
diff --git a/GrowingTrackerCore/Hook/UIApplication+GrowingNode.h b/GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h
similarity index 100%
rename from GrowingTrackerCore/Hook/UIApplication+GrowingNode.h
rename to GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h
diff --git a/GrowingTrackerCore/Hook/UIApplication+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.m
similarity index 92%
rename from GrowingTrackerCore/Hook/UIApplication+GrowingNode.m
rename to GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.m
index 3cfc4aa5e..6732251b2 100644
--- a/GrowingTrackerCore/Hook/UIApplication+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.m
@@ -17,7 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
@implementation UIApplication (GrowingNode)
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UICollectionView+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UICollectionView+GrowingNode.m
index 9fe4fcc47..1bc0f0aaa 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UICollectionView+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UICollectionView+GrowingNode.m
@@ -19,7 +19,7 @@
#import "GrowingAutotrackerCore/GrowingNode/Category/UICollectionView+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/GrowingAttributesConst.h"
#import
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UIControl+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UIControl+GrowingNode.m
index e7f8ed03c..886cb6a55 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UIControl+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UIControl+GrowingNode.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingAutotrackerCore/GrowingNode/Category/UIControl+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Public/GrowingBaseEvent.h"
@implementation UIControl(Growing)
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UINavigationController+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UINavigationController+GrowingNode.m
index 59067075a..7e9eeab64 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UINavigationController+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UINavigationController+GrowingNode.m
@@ -19,8 +19,8 @@
#import "GrowingAutotrackerCore/GrowingNode/Category/UINavigationController+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
#import
@implementation UINavigationController (GrowingNode)
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UITableView+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UITableView+GrowingNode.m
index c0c0887cf..4715a2df4 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UITableView+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UITableView+GrowingNode.m
@@ -20,7 +20,7 @@
#import "GrowingTrackerCore/GrowingAttributesConst.h"
#import "GrowingAutotrackerCore/Autotrack/UITableView+GrowingAutotracker.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UITableView+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
@implementation UITableView (GrowingNode)
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.m
index 3b622b18b..fcb9c4f89 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.m
@@ -19,18 +19,15 @@
#import "GrowingAutotrackerCore/Autotrack/GrowingPropertyDefine.h"
#import "GrowingAutotrackerCore/Autotrack/UITapGestureRecognizer+GrowingAutotracker.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Public/GrowingBaseEvent.h"
+#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
#import "GrowingAutotrackerCore/Page/GrowingPageManager.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
#import "GrowingAutotrackerCore/Autotrack/UITableView+GrowingAutotracker.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingAutotrackerCore/GrowingNode/GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
#import "GrowingAutotrackerCore/Impression/GrowingImpressionTrack.h"
-#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
-#import "GrowingAutotrackerCore/GrowingNode/GrowingNode.h"
#import "GrowingAutotrackerCore/Public/GrowingAutotrackConfiguration.h"
@interface GrowingMaskView : UIImageView
@@ -49,18 +46,8 @@ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
@implementation UIView (GrowingNode)
-- (UIImage *)growingNodeScreenShot:(UIImage *)fullScreenImage {
- return [fullScreenImage growingHelper_getSubImage:[self growingNodeFrame]];
-}
-
-- (UIImage *)growingNodeScreenShotWithScale:(CGFloat)maxScale {
- return [self growingHelper_screenshot:maxScale];
-}
-
#pragma mark - xpath
-
-
- (NSIndexPath *)growingNodeIndexPath {
return nil;
}
@@ -305,10 +292,6 @@ - (NSDictionary *)growingNodeDataDict {
return nil;
}
-- (UIWindow *)growingNodeWindow {
- return self.window;
-}
-
- (NSString *)growingNodeUniqueTag {
return self.growingUniqueTag;
}
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.m
index 201503b6f..b0205c85c 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.m
@@ -18,34 +18,23 @@
// limitations under the License.
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingAutotrackerCore/GrowingNode/GrowingNode.h"
#import "GrowingAutotrackerCore/Page/GrowingPageGroup.h"
#import "GrowingAutotrackerCore/Page/GrowingPageManager.h"
+#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
#import "GrowingAutotrackerCore/Private/GrowingPrivateCategory.h"
-#import "GrowingAutotrackerCore/Autotrack/GrowingPropertyDefine.h"
#import "GrowingAutotrackerCore/Public/GrowingAutotrackConfiguration.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
-#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.h"
-#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.h"
+#import "GrowingAutotrackerCore/Autotrack/GrowingPropertyDefine.h"
+#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
#import "GrowingTrackerCore/Utils/GrowingArgumentChecker.h"
@implementation UIViewController (GrowingNode)
-- (UIImage *)growingNodeScreenShot:(UIImage *)fullScreenImage {
- return [fullScreenImage growingHelper_getSubImage:[self.view growingNodeFrame]];
-}
-
-- (UIImage *)growingNodeScreenShotWithScale:(CGFloat)maxScale {
- return [self.view growingHelper_screenshot:maxScale];
-}
-
- (CGRect)growingNodeFrame {
CGRect rect = self.view.growingNodeFrame;
//是否全屏显示
@@ -144,10 +133,6 @@ - (NSDictionary *)growingNodeDataDict {
return dict;
}
-- (UIWindow *)growingNodeWindow {
- return self.view.window;
-}
-
- (NSString *)growingNodeUniqueTag {
return self.growingPageAlias;
}
diff --git a/GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.m
index 4d3125fdc..0852752e3 100644
--- a/GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.m
@@ -59,8 +59,4 @@ - (NSDictionary *)growingNodeDataDict {
return nil;
}
-- (UIWindow *)growingNodeWindow {
- return self;
-}
-
@end
diff --git a/GrowingAutotrackerCore/GrowingNode/GrowingNode.m b/GrowingAutotrackerCore/GrowingNode/GrowingNode.m
index a49c40881..fd46247fa 100644
--- a/GrowingAutotrackerCore/GrowingNode/GrowingNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/GrowingNode.m
@@ -19,11 +19,10 @@
#import "GrowingAutotrackerCore/GrowingNode/GrowingNode.h"
#import "GrowingAutotrackerCore/Page/GrowingPageManager.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingAutotrackerCore/Autotrack/GrowingPropertyDefine.h"
-#import "GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h"
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.h"
diff --git a/GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.m b/GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.m
index f81dec042..3577daa66 100644
--- a/GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.m
+++ b/GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.m
@@ -18,14 +18,13 @@
// limitations under the License.
#import "GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingAutotrackerCore/Page/GrowingPageGroup.h"
#import "GrowingAutotrackerCore/Page/GrowingPageManager.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.h"
-#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
static NSString *const kGrowingNodeRootPage = @"Page";
static NSString *const kGrowingNodeRootIgnore = @"IgnorePage";
diff --git a/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.h b/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.h
index 0b52956cd..7b9531c1a 100644
--- a/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.h
+++ b/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.h
@@ -17,9 +17,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
#import "GrowingBaseEvent.h"
#import "GrowingTrackerCore/Event/GrowingNodeProtocol.h"
+#import
NS_ASSUME_NONNULL_BEGIN
@class GrowingViewNodeBuilder;
diff --git a/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.m b/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.m
index 8de8835b6..c9b2c23e1 100644
--- a/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.m
+++ b/GrowingAutotrackerCore/GrowingNode/GrowingViewNode.m
@@ -22,7 +22,7 @@
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
#import "GrowingTrackerCore/Event/GrowingEventManager.h"
#import "GrowingTrackerCore/Event/GrowingNodeProtocol.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingULTimeUtil.h"
@implementation GrowingViewNode
diff --git a/GrowingAutotrackerCore/Impression/GrowingImpressionTrack.m b/GrowingAutotrackerCore/Impression/GrowingImpressionTrack.m
index d389fe485..5f0cb46e6 100644
--- a/GrowingAutotrackerCore/Impression/GrowingImpressionTrack.m
+++ b/GrowingAutotrackerCore/Impression/GrowingImpressionTrack.m
@@ -19,7 +19,7 @@
#import "GrowingAutotrackerCore/Impression/GrowingImpressionTrack.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIView+GrowingNode.h"
#import "GrowingTrackerCore/Event/GrowingEventGenerator.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogMacros.h"
diff --git a/GrowingAutotrackerCore/Page/GrowingPage.m b/GrowingAutotrackerCore/Page/GrowingPage.m
index 88436af7a..47bf677f5 100644
--- a/GrowingAutotrackerCore/Page/GrowingPage.m
+++ b/GrowingAutotrackerCore/Page/GrowingPage.m
@@ -19,7 +19,7 @@
#import "GrowingAutotrackerCore/Page/GrowingPage.h"
#import "GrowingAutotrackerCore/Page/GrowingPageGroup.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
#import "GrowingULTimeUtil.h"
diff --git a/GrowingAutotrackerCore/Page/GrowingPageManager.m b/GrowingAutotrackerCore/Page/GrowingPageManager.m
index 3a3d8555e..c751073d4 100644
--- a/GrowingAutotrackerCore/Page/GrowingPageManager.m
+++ b/GrowingAutotrackerCore/Page/GrowingPageManager.m
@@ -18,20 +18,18 @@
// limitations under the License.
#import "GrowingAutotrackerCore/Page/GrowingPageManager.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/Event/GrowingEventManager.h"
-#import "GrowingAutotrackerCore/Page/GrowingPage.h"
#import "GrowingTrackerCore/Event/Autotrack/GrowingPageEvent.h"
+#import "GrowingAutotrackerCore/Page/GrowingPage.h"
#import "GrowingAutotrackerCore/Page/GrowingPageGroup.h"
#import "GrowingAutotrackerCore/Private/GrowingPrivateCategory.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.h"
#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
#import "GrowingULViewControllerLifecycle.h"
#import "GrowingULAppLifecycle.h"
-#import
@interface GrowingPageManager ()
diff --git a/GrowingTrackerCore/Core/GrowingContext.h b/GrowingTrackerCore/Core/GrowingContext.h
index 323e081cf..c6c2354c8 100644
--- a/GrowingTrackerCore/Core/GrowingContext.h
+++ b/GrowingTrackerCore/Core/GrowingContext.h
@@ -17,8 +17,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
+#if __has_include()
#import
+#elif __has_include()
+#import
+#endif
NS_ASSUME_NONNULL_BEGIN
@@ -31,11 +34,13 @@ NS_ASSUME_NONNULL_BEGIN
@end
-
-
@interface GrowingContext : NSObject
+#if __has_include()
@property (nonatomic, strong) UIApplication *application;
+#elif __has_include()
+@property (nonatomic, strong) NSApplication *application;
+#endif
@property (nonatomic, strong) NSDictionary *launchOptions;
//customEvent>=1000
diff --git a/GrowingTrackerCore/Core/GrowingContext.m b/GrowingTrackerCore/Core/GrowingContext.m
index af18340b5..6709155c6 100644
--- a/GrowingTrackerCore/Core/GrowingContext.m
+++ b/GrowingTrackerCore/Core/GrowingContext.m
@@ -21,14 +21,11 @@
@implementation GrowingOpenURLItem
-
@end
@implementation GrowingContext
-
-+ (instancetype)sharedInstance
-{
++ (instancetype)sharedInstance {
static dispatch_once_t p;
static id contextInstance = nil;
@@ -39,8 +36,7 @@ + (instancetype)sharedInstance
return contextInstance;
}
-- (instancetype)init
-{
+- (instancetype)init {
self = [super init];
if (self) {
self.openURLItem = [GrowingOpenURLItem new];
diff --git a/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.h b/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.h
index 3919deeae..ee497fd25 100644
--- a/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.h
+++ b/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.h
@@ -1,5 +1,5 @@
//
-// GrowingDeepLinkTrack.h
+// GrowingAppDelegateAutotracker.h
// GrowingAnalytics
//
// Created by sheng on 2020/11/27.
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
NS_ASSUME_NONNULL_BEGIN
@@ -28,3 +29,4 @@ NS_ASSUME_NONNULL_BEGIN
@end
NS_ASSUME_NONNULL_END
+#endif
diff --git a/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.m b/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.m
index f75ac6159..fd4844ba2 100644
--- a/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.m
+++ b/GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.m
@@ -1,5 +1,5 @@
//
-// GrowingDeepLinkTrack.m
+// GrowingAppDelegateAutotracker.m
// GrowingAnalytics
//
// Created by sheng on 2020/11/27.
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import "GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.h"
#import "GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.h"
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
@@ -128,3 +129,4 @@ + (void)track {
}
@end
+#endif
diff --git a/GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.m b/GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.m
index 2d1eb4041..ee2333239 100644
--- a/GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.m
+++ b/GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Network/Request/GrowingNetworkConfig.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/LogFormat/GrowingASLLoggerFormat.h"
diff --git a/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.h b/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.h
index e1b13f5bf..40c68d176 100644
--- a/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.h
+++ b/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
NS_ASSUME_NONNULL_BEGIN
@@ -28,3 +29,4 @@ NS_ASSUME_NONNULL_BEGIN
@end
NS_ASSUME_NONNULL_END
+#endif
diff --git a/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.m b/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.m
index fad53d2d2..b9a713b2b 100644
--- a/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.m
+++ b/GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.m
@@ -17,11 +17,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
+#if __has_include()
#import "GrowingTrackerCore/DeepLink/GrowingSceneDelegateAutotracker.h"
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/LogFormat/GrowingASLLoggerFormat.h"
+#import
#import
#import
@@ -130,3 +131,4 @@ to scene(_:continue:) when the universal link is tapped while your app is runnin
}
@end
+#endif
diff --git a/GrowingTrackerCore/DeepLink/GrowingWebWatcher.m b/GrowingTrackerCore/DeepLink/GrowingWebWatcher.m
index 1718dea65..9f713adf8 100644
--- a/GrowingTrackerCore/DeepLink/GrowingWebWatcher.m
+++ b/GrowingTrackerCore/DeepLink/GrowingWebWatcher.m
@@ -19,7 +19,7 @@
#import "GrowingTrackerCore/DeepLink/GrowingWebWatcher.h"
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/LogFormat/GrowingASLLoggerFormat.h"
diff --git a/GrowingTrackerCore/Event/Base/GrowingBaseEvent.m b/GrowingTrackerCore/Event/Base/GrowingBaseEvent.m
index 8e47ccb85..d7aabcb77 100644
--- a/GrowingTrackerCore/Event/Base/GrowingBaseEvent.m
+++ b/GrowingTrackerCore/Event/Base/GrowingBaseEvent.m
@@ -133,9 +133,8 @@ - (void)readPropertyInTrackThread {
_longitude = session.longitude;
_userKey = session.loginUserKey;
- CGSize screenSize = [GrowingDeviceInfo deviceScreenSize];
- _screenWidth = [GrowingFieldsIgnore isIgnoreFields:@"screenWidth"] ? 0 : screenSize.width;
- _screenHeight = [GrowingFieldsIgnore isIgnoreFields:@"screenHeight"] ? 0 : screenSize.height;
+ _screenWidth = [GrowingFieldsIgnore isIgnoreFields:@"screenWidth"] ? 0 : deviceInfo.screenWidth;
+ _screenHeight = [GrowingFieldsIgnore isIgnoreFields:@"screenHeight"] ? 0 : deviceInfo.screenHeight;
_networkState = [GrowingFieldsIgnore isIgnoreFields:@"networkState"] ? nil : [[GrowingNetworkInterfaceManager sharedInstance] networkType];
_sdkVersion = GrowingTrackerVersionName;
_deviceBrand = [GrowingFieldsIgnore isIgnoreFields:@"deviceBrand"] ? nil : deviceInfo.deviceBrand;
diff --git a/GrowingTrackerCore/Event/GrowingEventManager.m b/GrowingTrackerCore/Event/GrowingEventManager.m
index 18cf3c65c..6e9cc5254 100644
--- a/GrowingTrackerCore/Event/GrowingEventManager.m
+++ b/GrowingTrackerCore/Event/GrowingEventManager.m
@@ -17,23 +17,20 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
#import "GrowingTrackerCore/Event/GrowingEventManager.h"
-#import "GrowingTrackerCore/Public/GrowingBaseEvent.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
+#import "GrowingTrackerCore/Event/GrowingDataTraffic.h"
+#import "GrowingTrackerCore/Event/GrowingEventChannel.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
-#import "GrowingTrackerCore/Event/GrowingDataTraffic.h"
+#import "GrowingTrackerCore/Manager/GrowingSession.h"
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
-#import "GrowingTrackerCore/Event/GrowingEventChannel.h"
#import "GrowingTrackerCore/Network/Request/GrowingEventRequest.h"
-#import "GrowingTrackerCore/FileStorage/GrowingFileStorage.h"
#import "GrowingTrackerCore/Network/GrowingNetworkInterfaceManager.h"
-#import "GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h"
-#import "GrowingTrackerCore/Manager/GrowingSession.h"
+#import "GrowingTrackerCore/FileStorage/GrowingFileStorage.h"
#import "GrowingTrackerCore/Public/GrowingTrackConfiguration.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Public/GrowingBaseEvent.h"
#import "GrowingTrackerCore/Public/GrowingEventFilter.h"
#import "GrowingTrackerCore/Public/GrowingEventNetworkService.h"
#import "GrowingTrackerCore/Public/GrowingServiceManager.h"
diff --git a/GrowingTrackerCore/Event/GrowingNodeProtocol.h b/GrowingTrackerCore/Event/GrowingNodeProtocol.h
index 086503492..ef40d8371 100644
--- a/GrowingTrackerCore/Event/GrowingNodeProtocol.h
+++ b/GrowingTrackerCore/Event/GrowingNodeProtocol.h
@@ -18,7 +18,6 @@
// limitations under the License.
#import
-#import
typedef NS_OPTIONS(NSUInteger, GrowingElementEventCategory) {
GrowingElementEventCategoryClick = 2,
@@ -62,14 +61,8 @@ typedef NS_OPTIONS(NSUInteger, GrowingElementEventCategory) {
- (NSDictionary * _Nullable)growingNodeDataDict;
-- (UIWindow * _Nullable)growingNodeWindow;
-
- (CGRect)growingNodeFrame;
-// 截图
-- (UIImage * _Nullable)growingNodeScreenShot:(UIImage * _Nullable)fullScreenImage;
-- (UIImage * _Nullable)growingNodeScreenShotWithScale:(CGFloat)maxScale;
-
// 唯一标识某个view,客户可通过 growingAttributesUniqueTag 设置
- (NSString * _Nullable)growingNodeUniqueTag;
diff --git a/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h b/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h
index 557a6b0c3..0ea732b9c 100644
--- a/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h
+++ b/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h
@@ -25,14 +25,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface GrowingPersistenceDataProvider : NSObject
-
-@property (nonatomic, strong) NSString *loginUserId;
-
+ (instancetype)sharedInstance;
-- (void)setDeviceId:(NSString * _Nullable)deviceId;
-- (NSString *)deviceId;
-
- (void)setLoginUserId:(NSString * _Nullable)loginUserId;
- (nullable NSString *)loginUserId;
@@ -44,7 +38,7 @@ NS_ASSUME_NONNULL_BEGIN
- (NSString *)getStringforKey:(NSString *)key;
-- (GrowingEventSequenceObject*)getAndIncrement:(NSString *)eventType;
+- (GrowingEventSequenceObject *)getAndIncrement:(NSString *)eventType;
//防止xcode编码提示使用KVC来获取值
- (void)setValue:(id _Nullable)value forKey:(NSString * _Nonnull)key UNAVAILABLE_ATTRIBUTE;
diff --git a/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.m b/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.m
index b9d9b4af8..4b68b52f1 100644
--- a/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.m
+++ b/GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.m
@@ -18,20 +18,18 @@
// limitations under the License.
#import "GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h"
+#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
static NSString *kGrowingUserdefault_file = @"growingio.userdefault";
-static NSString *kGrowingUserdefault_deviceId = @"growingio.userdefault.deviceid";
-//static NSString *GrowingUserdefault_sessionId = @"growingio.userdefault.sessionId";
static NSString *kGrowingUserdefault_loginUserId = @"growingio.userdefault.loginUserId";
static NSString *kGrowingUserdefault_loginUserKey = @"growingio.userdefault.loginUserKey";
-
static NSString *kGrowingUserdefault_globalId = @"growingio.userdefault.globalId";
static NSString *kGrowingUserdefault_prefix = @"growingio.userdefault";
-
-@class GrowingEventSequenceObject;
@interface GrowingPersistenceDataProvider()
+
@property (nonatomic, strong) NSUserDefaults *growingUserdefault;
+
@end
@implementation GrowingPersistenceDataProvider
@@ -48,26 +46,17 @@ + (instancetype)sharedInstance {
- (instancetype)init {
if (self = [super init]) {
- _growingUserdefault = [[NSUserDefaults alloc] initWithSuiteName:kGrowingUserdefault_file];
+ NSString *suiteName = kGrowingUserdefault_file;
+#if TARGET_OS_OSX
+ // 兼容非沙盒MacApp
+ NSString *bundleId = [GrowingDeviceInfo currentDeviceInfo].bundleID;
+ suiteName = [suiteName stringByAppendingFormat:@".%@", bundleId];
+#endif
+ _growingUserdefault = [[NSUserDefaults alloc] initWithSuiteName:suiteName];
}
return self;
}
-- (void)setDeviceId:(NSString *)deviceId {
- //空值
- if (!deviceId || deviceId.length == 0) {
- return;
- }
- [_growingUserdefault setValue:deviceId forKey:kGrowingUserdefault_deviceId];
- //write now!
- [_growingUserdefault synchronize];
-}
-
-
-- (NSString *)deviceId {
- return [_growingUserdefault valueForKey:kGrowingUserdefault_deviceId];
-}
-
- (void)setLoginUserId:(NSString * _Nullable)loginUserId {
//空值
if (!loginUserId || loginUserId.length == 0) {
@@ -91,6 +80,7 @@ - (void)setLoginUserKey:(NSString * _Nullable)loginUserKey {
//write now!
[_growingUserdefault synchronize];
}
+
- (nullable NSString *)loginUserKey {
return [_growingUserdefault valueForKey:kGrowingUserdefault_loginUserKey];
}
@@ -106,7 +96,7 @@ - (NSString *)getStringforKey:(NSString *)key; {
- (GrowingEventSequenceObject*)getAndIncrement:(NSString *)eventType {
long long globalId = [self increaseFor:kGrowingUserdefault_globalId spanValue:1];
- long long eventTypeId = [self increaseFor:[NSString stringWithFormat:@"%@.%@",kGrowingUserdefault_prefix,eventType] spanValue:1];
+ long long eventTypeId = [self increaseFor:[NSString stringWithFormat:@"%@.%@",kGrowingUserdefault_prefix, eventType] spanValue:1];
GrowingEventSequenceObject* obj = [[GrowingEventSequenceObject alloc] init];
obj.globalId = globalId;
obj.eventTypeId = eventTypeId;
diff --git a/GrowingTrackerCore/FileStorage/GrowingFileStorage.m b/GrowingTrackerCore/FileStorage/GrowingFileStorage.m
index 27607654e..ecd10f946 100644
--- a/GrowingTrackerCore/FileStorage/GrowingFileStorage.m
+++ b/GrowingTrackerCore/FileStorage/GrowingFileStorage.m
@@ -18,10 +18,10 @@
// limitations under the License.
#import "GrowingTrackerCore/FileStorage/GrowingFileStorage.h"
-#import "GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/Public/GrowingServiceManager.h"
+#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
NSString *const kGrowingResidentDirName = @"com.growingio.core";
NSString *const kGrowingDirCommonPrefix = @"com.growingio.";
@@ -59,7 +59,7 @@ - (instancetype)initWithName:(NSString *)name directory:(GrowingUserDirectory)di
- (instancetype)initWithName:(NSString *)name directory:(GrowingUserDirectory)directory crypto:(id _Nullable)crypto {
if (self = [super init]) {
- NSString *fullPath = [NSString stringWithFormat:@"%@/%@%@", kGrowingResidentDirName, kGrowingDirCommonPrefix, name];
+ NSString *fullPath = [GrowingFileStorage fullPathWithName:name append:nil];
NSURL *userDir = [GrowingFileStorage userDirectoryURL:directory];
_folderURL = [userDir URLByAppendingPathComponent:fullPath];
_crypto = crypto;
@@ -110,6 +110,19 @@ + (NSURL *)userDirectoryURL:(GrowingUserDirectory)directory {
return [NSURL fileURLWithPath:storagePath];
}
++ (NSString *)fullPathWithName:(NSString *)dirName append:(NSString * _Nullable)lastPathComponent {
+ NSString *fullPath = [NSString stringWithFormat:@"%@/%@%@", kGrowingResidentDirName, kGrowingDirCommonPrefix, dirName];
+#if TARGET_OS_OSX
+ // 兼容非沙盒MacApp
+ NSString *bundleId = [GrowingDeviceInfo currentDeviceInfo].bundleID;
+ fullPath = [fullPath stringByAppendingFormat:@"/%@", bundleId];
+#endif
+ if (lastPathComponent && lastPathComponent.length > 0) {
+ return [fullPath stringByAppendingFormat:@"/%@", lastPathComponent];
+ }
+ return fullPath;
+}
+
#pragma mark Public
+ (NSString *)getTimingDatabasePath {
@@ -117,7 +130,7 @@ + (NSString *)getTimingDatabasePath {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURL *userDir = [GrowingFileStorage userDirectoryURL:GrowingUserDirectoryLibrary];
- NSString *dirName = [NSString stringWithFormat:@"%@/%@%@", kGrowingResidentDirName, kGrowingDirCommonPrefix, @"event/timing.sqlite"];
+ NSString *dirName = [GrowingFileStorage fullPathWithName:@"event" append:@"timing.sqlite"];
kGrowingPathTiming = [userDir URLByAppendingPathComponent:dirName].path;
});
return kGrowingPathTiming;
@@ -128,7 +141,7 @@ + (NSString *)getRealtimeDatabasePath {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURL *userDir = [GrowingFileStorage userDirectoryURL:GrowingUserDirectoryLibrary];
- NSString *dirName = [NSString stringWithFormat:@"%@/%@%@", kGrowingResidentDirName, kGrowingDirCommonPrefix, @"event/realtime.sqlite"];
+ NSString *dirName = [GrowingFileStorage fullPathWithName:@"event" append:@"realtime.sqlite"];
kGrowingPathReal = [userDir URLByAppendingPathComponent:dirName].path;
});
return kGrowingPathReal;
diff --git a/GrowingTrackerCore/GrowingRealTracker.m b/GrowingTrackerCore/GrowingRealTracker.m
index 50cb927e6..cc4c703b4 100644
--- a/GrowingTrackerCore/GrowingRealTracker.m
+++ b/GrowingTrackerCore/GrowingRealTracker.m
@@ -23,14 +23,12 @@
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/LogFormat/GrowingWSLoggerFormat.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
#import "GrowingTrackerCore/Event/GrowingVisitEvent.h"
#import "GrowingTrackerCore/Manager/GrowingSession.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
#import "GrowingTrackerCore/Event/GrowingEventGenerator.h"
-#import "GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h"
#import "GrowingTrackerCore/Utils/GrowingArgumentChecker.h"
#import "GrowingTrackerCore/DeepLink/GrowingAppDelegateAutotracker.h"
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
@@ -65,7 +63,9 @@ - (instancetype)initWithConfiguration:(GrowingTrackConfiguration *)configuration
[self loggerSetting];
[GrowingULAppLifecycle setup];
[GrowingSession startSession];
+#if TARGET_OS_IOS
[GrowingAppDelegateAutotracker track];
+#endif
[[GrowingModuleManager sharedInstance] registedAllModules];
[[GrowingServiceManager sharedInstance] loadLocalServices];
[[GrowingModuleManager sharedInstance] triggerEvent:GrowingMInitEvent];
diff --git a/GrowingTrackerCore/GrowingWindow.h b/GrowingTrackerCore/GrowingWindow.h
index 1d5007ebf..cbfcad7bb 100644
--- a/GrowingTrackerCore/GrowingWindow.h
+++ b/GrowingTrackerCore/GrowingWindow.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
@interface GrowingWindowView : UIView
@@ -27,5 +28,6 @@
@interface GrowingWindow : UIWindow
@end
+#endif
diff --git a/GrowingTrackerCore/GrowingWindow.m b/GrowingTrackerCore/GrowingWindow.m
index 0095be9a8..70dce9a8b 100644
--- a/GrowingTrackerCore/GrowingWindow.m
+++ b/GrowingTrackerCore/GrowingWindow.m
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import "GrowingTrackerCore/GrowingWindow.h"
@interface GrowingWindowViewController : UIViewController
@@ -187,3 +188,4 @@ - (void)setHidden:(BOOL)hidden {
}
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h b/GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.h
similarity index 100%
rename from GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.h
diff --git a/GrowingTrackerCore/Helpers/NSArray+GrowingHelper.m b/GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.m
similarity index 78%
rename from GrowingTrackerCore/Helpers/NSArray+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.m
index 6ee71a613..3e77f34f1 100644
--- a/GrowingTrackerCore/Helpers/NSArray+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.m
@@ -17,19 +17,19 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h"
@implementation NSArray (GrowingHelper)
-- (NSData*)growingHelper_jsonData {
+- (NSData *)growingHelper_jsonData {
return [self growingHelper_jsonDataWithOptions:0];
}
-- (NSData*)growingHelper_jsonDataWithOptions:(NSJSONWritingOptions)options {
- NSData * jsonData = nil;
+- (NSData *)growingHelper_jsonDataWithOptions:(NSJSONWritingOptions)options {
+ NSData *jsonData = nil;
@try {
- NSError * error = nil;
+ NSError *error = nil;
jsonData = [NSJSONSerialization dataWithJSONObject:self
options:options
error:&error];
@@ -43,7 +43,7 @@ - (NSData*)growingHelper_jsonDataWithOptions:(NSJSONWritingOptions)options {
return jsonData;
}
-- (NSString*)growingHelper_jsonString {
+- (NSString *)growingHelper_jsonString {
return [[self growingHelper_jsonData] growingHelper_utf8String];
}
diff --git a/GrowingTrackerCore/Helpers/NSData+GrowingHelper.h b/GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h
similarity index 94%
rename from GrowingTrackerCore/Helpers/NSData+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h
index 0d5afb659..675314944 100644
--- a/GrowingTrackerCore/Helpers/NSData+GrowingHelper.h
+++ b/GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h
@@ -24,7 +24,7 @@
- (NSString *)growingHelper_base64String;
- (NSString *)growingHelper_utf8String;
- (NSString *)growingHelper_md5String;
-- (void)growingHelper_md5value:(unsigned char*)valueArray;
+- (void)growingHelper_md5value:(unsigned char *)valueArray;
- (NSData *)growingHelper_LZ4String;
- (id)growingHelper_jsonObject;
- (NSArray *)growingHelper_arrayObject;
diff --git a/GrowingTrackerCore/Helpers/NSData+GrowingHelper.m b/GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.m
similarity index 93%
rename from GrowingTrackerCore/Helpers/NSData+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.m
index 89b2ec7e1..9c95b80d9 100644
--- a/GrowingTrackerCore/Helpers/NSData+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.m
@@ -17,21 +17,22 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import
+#import "GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.h"
#import "GrowingTrackerCore/Public/GrowingServiceManager.h"
#import "GrowingTrackerCore/Public/GrowingEncryptionService.h"
#import "GrowingTrackerCore/Public/GrowingCompressService.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
+#import
+
@implementation NSData (GrowingHelper)
-- (NSString*)growingHelper_utf8String {
+- (NSString *)growingHelper_utf8String {
return [[NSString alloc] initWithData:self encoding:NSUTF8StringEncoding];
}
-- (NSData*)growingHelper_LZ4String {
+- (NSData *)growingHelper_LZ4String {
id compressImpl = [[GrowingServiceManager sharedInstance] createService:NSProtocolFromString(@"GrowingCompressService")];
if (compressImpl) {
return [compressImpl compressedEventData:self];
@@ -40,7 +41,7 @@ - (NSData*)growingHelper_LZ4String {
return self;
}
-- (NSString*)growingHelper_base64String {
+- (NSString *)growingHelper_base64String {
//ensure wrapWidth is a multiple of 4
NSUInteger wrapWidth = 0;
@@ -101,7 +102,7 @@ - (id)growingHelper_jsonObject {
return jsonObj;
}
-- (NSDictionary*)growingHelper_dictionaryObject {
+- (NSDictionary *)growingHelper_dictionaryObject {
NSDictionary *dict = [self growingHelper_jsonObject];
if (dict && [dict isKindOfClass:[NSDictionary class]]) {
@@ -111,7 +112,7 @@ - (NSDictionary*)growingHelper_dictionaryObject {
}
}
-- (NSArray*)growingHelper_arrayObject {
+- (NSArray *)growingHelper_arrayObject {
NSArray *arr = [self growingHelper_jsonObject];
if (arr && [arr isKindOfClass:[NSArray class]]) {
@@ -125,7 +126,7 @@ - (void)growingHelper_md5value:(unsigned char *)valueArray {
CC_MD5(self.bytes, (CC_LONG)[self length], valueArray);
}
-- (NSString*)growingHelper_md5String {
+- (NSString *)growingHelper_md5String {
unsigned char result[16];
[self growingHelper_md5value:result];
NSString *retVal =
diff --git a/GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h b/GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.h
similarity index 100%
rename from GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.h
diff --git a/GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.m b/GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.m
similarity index 96%
rename from GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.m
index 143c8b91b..443d19481 100644
--- a/GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.m
@@ -17,8 +17,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
@implementation NSDictionary (GrowingHelper)
diff --git a/GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h b/GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.h
similarity index 100%
rename from GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h
rename to GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.h
diff --git a/GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.m b/GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.m
similarity index 94%
rename from GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.m
rename to GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.m
index 81606f87d..656d5e693 100644
--- a/GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.m
+++ b/GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.m
@@ -17,7 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.h"
#import
@implementation NSObject(GrowingIvarHelper)
diff --git a/GrowingTrackerCore/Helpers/NSString+GrowingHelper.h b/GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.h
similarity index 100%
rename from GrowingTrackerCore/Helpers/NSString+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.h
diff --git a/GrowingTrackerCore/Helpers/NSString+GrowingHelper.m b/GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.m
similarity index 96%
rename from GrowingTrackerCore/Helpers/NSString+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.m
index 18332a6ac..53c1bd2fb 100644
--- a/GrowingTrackerCore/Helpers/NSString+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.m
@@ -17,9 +17,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.h"
#import
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
diff --git a/GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h b/GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.h
similarity index 100%
rename from GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.h
diff --git a/GrowingTrackerCore/Helpers/NSURL+GrowingHelper.m b/GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.m
similarity index 95%
rename from GrowingTrackerCore/Helpers/NSURL+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.m
index f05fcecd7..ccf23c676 100644
--- a/GrowingTrackerCore/Helpers/NSURL+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.m
@@ -17,7 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.h"
@implementation NSURL (GrowingHelper)
diff --git a/GrowingTrackerCore/Helpers/GrowingHelpers.h b/GrowingTrackerCore/Helpers/GrowingHelpers.h
index 7bcc8d9e7..5e8dee594 100644
--- a/GrowingTrackerCore/Helpers/GrowingHelpers.h
+++ b/GrowingTrackerCore/Helpers/GrowingHelpers.h
@@ -17,15 +17,18 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSObject+GrowingIvarHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
-#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSArray+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSObject+GrowingIvarHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSURL+GrowingHelper.h"
+
+#if __has_include()
+#import
+#import "GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.h"
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h b/GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.h
similarity index 95%
rename from GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.h
index 1a489da93..7b80ab262 100644
--- a/GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h
+++ b/GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
@interface UIApplication (GrowingHelper)
@@ -26,3 +27,4 @@
- (NSArray *)growingHelper_allWindowsWithoutGrowingWindow;
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.m b/GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.m
similarity index 93%
rename from GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.m
index 09519fa0f..8e13e957c 100644
--- a/GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.m
@@ -17,8 +17,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
-#import "GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h"
+#if __has_include()
+#import "GrowingTrackerCore/Helpers/UIKit/UIApplication+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.h"
#import "GrowingTrackerCore/GrowingWindow.h"
@implementation UIApplication (GrowingHelper)
@@ -80,3 +81,4 @@ @implementation UIApplication (GrowingHelper)
}
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h b/GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.h
similarity index 95%
rename from GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.h
index dac3fef76..4f98bba1e 100644
--- a/GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h
+++ b/GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
@interface UIControl(GrowingHelper)
@@ -30,3 +31,4 @@
@property (nonatomic, copy) void(^growingHelper_onTextChange)(void);
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIControl+GrowingHelper.m b/GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.m
similarity index 97%
rename from GrowingTrackerCore/Helpers/UIControl+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.m
index 8ed3e4af9..9656746b1 100644
--- a/GrowingTrackerCore/Helpers/UIControl+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.m
@@ -17,7 +17,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h"
+#if __has_include()
+#import "GrowingTrackerCore/Helpers/UIKit/UIControl+GrowingHelper.h"
#import
#define UICONTROL_BLOCK(EVENT,GETTER,SETTER) \
@@ -75,3 +76,4 @@ @implementation UIControl(GrowingHelper)
@implementation UITextField(GrowingHelper)
UICONTROL_BLOCK(UIControlEventEditingChanged, growingHelper_onTextChange, setGrowingHelper_onTextChange)
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h b/GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.h
similarity index 94%
rename from GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.h
index f58ecd8a2..17d1b1c8b 100644
--- a/GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h
+++ b/GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
@interface UIImage (GrowingHelper)
@@ -26,6 +27,5 @@
- (NSString*)growingHelper_Base64JPEG:(CGFloat)compress;
- (NSString*)growingHelper_Base64PNG;
-- (UIImage*)growingHelper_getSubImage:(CGRect)rect;
-
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIImage+GrowingHelper.m b/GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.m
similarity index 68%
rename from GrowingTrackerCore/Helpers/UIImage+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.m
index a7ced99ae..112c75597 100644
--- a/GrowingTrackerCore/Helpers/UIImage+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.m
@@ -17,8 +17,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
+#if __has_include()
+#import "GrowingTrackerCore/Helpers/UIKit/UIImage+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/Foundation/NSData+GrowingHelper.h"
@implementation UIImage (GrowingHelper)
@@ -38,16 +39,5 @@ - (NSString*)growingHelper_Base64PNG {
return [[self growingHelper_PNG] growingHelper_base64String];
}
-- (UIImage*)growingHelper_getSubImage:(CGRect)rect {
- rect.origin.x *= self.scale;
- rect.origin.y *= self.scale;
- rect.size.width *= self.scale;
- rect.size.height *= self.scale;
- CGImageRef subImageRef = CGImageCreateWithImageInRect(self.CGImage, rect);
- UIImage *image = [UIImage imageWithCGImage:subImageRef scale:self.scale orientation:UIImageOrientationUp];
- CGImageRelease(subImageRef);
-
- return image;
-}
-
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIView+GrowingHelper.h b/GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.h
similarity index 93%
rename from GrowingTrackerCore/Helpers/UIView+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.h
index 64c59a3a5..66a82d1b6 100644
--- a/GrowingTrackerCore/Helpers/UIView+GrowingHelper.h
+++ b/GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.h
@@ -17,11 +17,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
@interface UIView (GrowingHelper)
-- (UIImage *)growingHelper_screenshot:(CGFloat)maxScale;
- (UIViewController *)growingHelper_viewController;
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIView+GrowingHelper.m b/GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.m
similarity index 64%
rename from GrowingTrackerCore/Helpers/UIView+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.m
index c3eb6c677..362920823 100644
--- a/GrowingTrackerCore/Helpers/UIView+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.m
@@ -17,28 +17,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#if __has_include()
+#import "GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.h"
@implementation UIView (GrowingHelper)
-- (UIImage*)growingHelper_screenshot:(CGFloat)maxScale {
- UIView *view = self;
-
- CGFloat scale = [UIScreen mainScreen].scale;
- if (maxScale != 0 && maxScale < scale) {
- scale = maxScale;
- }
- UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, scale);
- CGContextRef context = UIGraphicsGetCurrentContext();
- if (context) {
- [view.layer renderInContext:context];
- }
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
-
- return image;
-}
-
- (UIViewController*)growingHelper_viewController {
UIResponder *curNode = self.nextResponder;
while (curNode) {
@@ -51,3 +34,4 @@ - (UIViewController*)growingHelper_viewController {
}
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h b/GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.h
similarity index 96%
rename from GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h
rename to GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.h
index 28ca9ac76..b874b32bd 100644
--- a/GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h
+++ b/GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
@interface UIWindow (GrowingHelper)
@@ -29,3 +30,4 @@
andMaxScale:(CGFloat)maxScale;
@end
+#endif
diff --git a/GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.m b/GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.m
similarity index 90%
rename from GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.m
rename to GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.m
index 2283b9ddf..a7a46224d 100644
--- a/GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.m
+++ b/GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.m
@@ -17,15 +17,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import "GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIView+GrowingHelper.h"
+#if __has_include()
+#import "GrowingTrackerCore/Helpers/UIKit/UIWindow+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/UIKit/UIView+GrowingHelper.h"
@implementation UIWindow (GrowingHelper)
-- (UIImage *)growingHelper_screenshot:(CGFloat)maxScale {
- return [[self class] growingHelper_screenshotWithWindows:@[self] andMaxScale:maxScale];
-}
-
+ (UIImage *)growingHelper_screenshotWithWindows:(NSArray *)windows andMaxScale:(CGFloat)maxScale {
return [self growingHelper_screenshotWithWindows:windows andMaxScale:maxScale block:nil];
}
@@ -69,3 +66,4 @@ + (UIImage *)growingHelper_screenshotWithWindows:(NSArray *)windows
}
@end
+#endif
diff --git a/GrowingTrackerCore/LogFormat/GrowingWSLoggerFormat.m b/GrowingTrackerCore/LogFormat/GrowingWSLoggerFormat.m
index 6698e5d99..c47ecc1be 100644
--- a/GrowingTrackerCore/LogFormat/GrowingWSLoggerFormat.m
+++ b/GrowingTrackerCore/LogFormat/GrowingWSLoggerFormat.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingTrackerCore/LogFormat/GrowingWSLoggerFormat.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
NS_INLINE NSString* logLevel(GrowingLogFlag level) {
switch (level) {
diff --git a/GrowingTrackerCore/Manager/GrowingApplicationEventManager.h b/GrowingTrackerCore/Manager/GrowingApplicationEventManager.h
index b480ff688..1c1549ed4 100644
--- a/GrowingTrackerCore/Manager/GrowingApplicationEventManager.h
+++ b/GrowingTrackerCore/Manager/GrowingApplicationEventManager.h
@@ -17,7 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
+#if __has_include()
#import
NS_ASSUME_NONNULL_BEGIN
@@ -52,3 +52,4 @@ NS_ASSUME_NONNULL_BEGIN
@end
NS_ASSUME_NONNULL_END
+#endif
diff --git a/GrowingTrackerCore/Manager/GrowingApplicationEventManager.m b/GrowingTrackerCore/Manager/GrowingApplicationEventManager.m
index 4e18e8e3c..41ddc9bdb 100644
--- a/GrowingTrackerCore/Manager/GrowingApplicationEventManager.m
+++ b/GrowingTrackerCore/Manager/GrowingApplicationEventManager.m
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import "GrowingTrackerCore/Manager/GrowingApplicationEventManager.h"
@interface GrowingApplicationEventManager ()
@@ -101,3 +102,4 @@ - (void)dispatchApplicationEventSendEvent:(UIEvent *)event {
}
@end
+#endif
diff --git a/GrowingTrackerCore/Manager/GrowingSession.m b/GrowingTrackerCore/Manager/GrowingSession.m
index 9bbdc6296..56ad0b590 100644
--- a/GrowingTrackerCore/Manager/GrowingSession.m
+++ b/GrowingTrackerCore/Manager/GrowingSession.m
@@ -22,7 +22,7 @@
#import "GrowingTrackerCore/Public/GrowingTrackConfiguration.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogMacros.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Event/Tools/GrowingPersistenceDataProvider.h"
#import "GrowingTrackerCore/Event/GrowingEventGenerator.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
diff --git a/GrowingTrackerCore/Menu/GrowingAlert.h b/GrowingTrackerCore/Menu/GrowingAlert.h
index 9e77e9e6c..63611b5af 100644
--- a/GrowingTrackerCore/Menu/GrowingAlert.h
+++ b/GrowingTrackerCore/Menu/GrowingAlert.h
@@ -16,7 +16,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
+#if __has_include()
#import
NS_ASSUME_NONNULL_BEGIN
@@ -47,3 +47,4 @@ NS_ASSUME_NONNULL_BEGIN
@end
NS_ASSUME_NONNULL_END
+#endif
diff --git a/GrowingTrackerCore/Menu/GrowingAlert.m b/GrowingTrackerCore/Menu/GrowingAlert.m
index fb7c5aba6..9c4d34654 100644
--- a/GrowingTrackerCore/Menu/GrowingAlert.m
+++ b/GrowingTrackerCore/Menu/GrowingAlert.m
@@ -16,6 +16,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import "GrowingTrackerCore/Menu/GrowingAlert.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
@@ -182,5 +183,6 @@ - (void)showAlertAnimated:(BOOL)animated {
}
@end
+#endif
diff --git a/GrowingTrackerCore/Menu/GrowingStatusBar.h b/GrowingTrackerCore/Menu/GrowingStatusBar.h
index 91c29eeee..0b0fa6839 100644
--- a/GrowingTrackerCore/Menu/GrowingStatusBar.h
+++ b/GrowingTrackerCore/Menu/GrowingStatusBar.h
@@ -17,6 +17,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import
#import "GrowingTrackerCore/GrowingWindow.h"
@@ -26,3 +27,4 @@
@property (nonatomic, copy) void (^onButtonClick)(void);
@end
+#endif
diff --git a/GrowingTrackerCore/Menu/GrowingStatusBar.m b/GrowingTrackerCore/Menu/GrowingStatusBar.m
index cc5604c3a..3084988b8 100644
--- a/GrowingTrackerCore/Menu/GrowingStatusBar.m
+++ b/GrowingTrackerCore/Menu/GrowingStatusBar.m
@@ -17,8 +17,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#if __has_include()
#import "GrowingTrackerCore/Menu/GrowingStatusBar.h"
-#import "GrowingTrackerCore/Helpers/UIControl+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
@interface GrowingStatusBar ()
@@ -134,3 +135,4 @@ - (BOOL)growingNodeIsBadNode {
}
@end
+#endif
diff --git a/GrowingTrackerCore/Network/GrowingNetworkInterfaceManager.m b/GrowingTrackerCore/Network/GrowingNetworkInterfaceManager.m
index 9546fdad2..4fbe39ec9 100644
--- a/GrowingTrackerCore/Network/GrowingNetworkInterfaceManager.m
+++ b/GrowingTrackerCore/Network/GrowingNetworkInterfaceManager.m
@@ -72,7 +72,9 @@ - (NSString *)networkType {
netType = @"UNKNOWN";
} else if (self.WiFiValid) {
netType = @"WIFI";
- } else if (self.WWANValid) {
+ }
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
+ else if (self.WWANValid) {
NSArray *typeStrings2G = @[
CTRadioAccessTechnologyEdge,
CTRadioAccessTechnologyGPRS,
@@ -127,9 +129,8 @@ - (NSString *)networkType {
} else {
netType = @"UNKNOWN";
}
- } else {
- netType = @"UNKNOWN";
}
+#endif
return netType;
}
diff --git a/GrowingTrackerCore/Network/Request/GrowingEventRequest.m b/GrowingTrackerCore/Network/Request/GrowingEventRequest.m
index 558615ff6..4e398055d 100644
--- a/GrowingTrackerCore/Network/Request/GrowingEventRequest.m
+++ b/GrowingTrackerCore/Network/Request/GrowingEventRequest.m
@@ -21,7 +21,7 @@
#import "GrowingTrackerCore/Network/Request/GrowingNetworkConfig.h"
#import "GrowingTrackerCore/Network/Request/Adapter/GrowingEventRequestAdapters.h"
#import "GrowingTrackerCore/Network/Request/Adapter/GrowingRequestAdapter.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
#import "GrowingULTimeUtil.h"
diff --git a/GrowingTrackerCore/Network/Request/GrowingNetworkConfig.m b/GrowingTrackerCore/Network/Request/GrowingNetworkConfig.m
index 218dab9b8..0f19554fc 100644
--- a/GrowingTrackerCore/Network/Request/GrowingNetworkConfig.m
+++ b/GrowingTrackerCore/Network/Request/GrowingNetworkConfig.m
@@ -18,8 +18,7 @@
// limitations under the License.
#import
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Network/Request/GrowingNetworkConfig.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
diff --git a/GrowingTrackerCore/Thirdparty/Logger/GrowingWSLogger.m b/GrowingTrackerCore/Thirdparty/Logger/GrowingWSLogger.m
index 70241c019..edd5efe23 100644
--- a/GrowingTrackerCore/Thirdparty/Logger/GrowingWSLogger.m
+++ b/GrowingTrackerCore/Thirdparty/Logger/GrowingWSLogger.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingWSLogger.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
static const NSInteger kGIOMaxCachesLogNumber = 100;
diff --git a/GrowingTrackerCore/Thirdparty/Reachability/GrowingReachability.m b/GrowingTrackerCore/Thirdparty/Reachability/GrowingReachability.m
index 3eae8a8aa..1da909014 100644
--- a/GrowingTrackerCore/Thirdparty/Reachability/GrowingReachability.m
+++ b/GrowingTrackerCore/Thirdparty/Reachability/GrowingReachability.m
@@ -214,6 +214,7 @@ - (GrowingNetworkStatus)networkStatusForFlags:(SCNetworkReachabilityFlags)flags
}
}
+#if TARGET_OS_IPHONE
if ((flags & kSCNetworkReachabilityFlagsIsWWAN) == kSCNetworkReachabilityFlagsIsWWAN)
{
/*
@@ -221,6 +222,7 @@ - (GrowingNetworkStatus)networkStatusForFlags:(SCNetworkReachabilityFlags)flags
*/
returnValue = GrowingReachableViaWWAN;
}
+#endif
return returnValue;
}
diff --git a/GrowingTrackerCore/Utils/GrowingArgumentChecker.m b/GrowingTrackerCore/Utils/GrowingArgumentChecker.m
index 76572988c..b80169f58 100644
--- a/GrowingTrackerCore/Utils/GrowingArgumentChecker.m
+++ b/GrowingTrackerCore/Utils/GrowingArgumentChecker.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "GrowingTrackerCore/Utils/GrowingArgumentChecker.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogMacros.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
diff --git a/GrowingTrackerCore/Utils/GrowingDeviceInfo.h b/GrowingTrackerCore/Utils/GrowingDeviceInfo.h
index 0628d38fa..4d1f6ebd5 100644
--- a/GrowingTrackerCore/Utils/GrowingDeviceInfo.h
+++ b/GrowingTrackerCore/Utils/GrowingDeviceInfo.h
@@ -18,35 +18,30 @@
// limitations under the License.
#import
-#import
@interface GrowingDeviceInfo : NSObject
-+ (instancetype)currentDeviceInfo;
-
-@property (nonatomic, copy) NSString * (^deviceIDBlock)(void);
+@property (nonatomic, readonly, copy) NSString *deviceIDString;
+@property (nonatomic, readonly, copy) NSString *bundleID;
+@property (nonatomic, readonly, copy) NSString *displayName;
+@property (nonatomic, readonly, copy) NSString *language;
+@property (nonatomic, readonly, copy) NSString *deviceModel;
+@property (nonatomic, readonly, copy) NSString *deviceBrand;
+@property (nonatomic, readonly, copy) NSString *deviceType;
+@property (nonatomic, readonly, copy) NSString *platform;
+@property (nonatomic, readonly, copy) NSString *platformVersion;
+@property (nonatomic, readonly, copy) NSString *appFullVersion;
+@property (nonatomic, readonly, copy) NSString *appVersion;
+@property (nonatomic, readonly, copy) NSString *urlScheme;
+@property (nonatomic, readonly, copy) NSString *deviceOrientation;
+@property (nonatomic, readonly, copy) NSString *idfv;
+@property (nonatomic, readonly, copy) NSString *idfa;
+@property (nonatomic, readonly, assign) int appState;
+@property (nonatomic, readonly, assign) CGFloat screenWidth;
+@property (nonatomic, readonly, assign) CGFloat screenHeight;
@property (nonatomic, copy) NSString * (^encryptStringBlock)(NSString *string);
-@property (nonatomic, readonly) NSString *idfv;
-@property (nonatomic, readonly) NSString *idfa;
-@property (nonatomic, readonly) NSString *deviceIDString;
-@property (nonatomic, readonly) NSString *bundleID;
-@property (nonatomic, readonly) NSString *displayName;
-@property (nonatomic, readonly) NSString *language;
-@property (nonatomic, readonly) NSString *deviceModel;
-@property (nonatomic, readonly) NSString *deviceBrand;
-@property (nonatomic, readonly) NSNumber *isPhone;
-@property (nonatomic, readonly) NSString *deviceType;
-@property (nonatomic, readonly) NSString *platform;
-@property (nonatomic, readonly) NSString *platformVersion;
-@property (nonatomic, readonly) NSString *appFullVersion;
-@property (nonatomic, readonly) NSString *appVersion;
-@property (nonatomic, readonly) NSString *carrier;
-@property (nonatomic, readonly) NSString *urlScheme;
-@property (nonatomic, readonly) NSString *deviceOrientation;
-@property (nonatomic, readonly) int appState;
-
++ (instancetype)currentDeviceInfo;
+ (void)configUrlScheme:(NSString *)urlScheme;
-+ (CGSize)deviceScreenSize;
@end
diff --git a/GrowingTrackerCore/Utils/GrowingDeviceInfo.m b/GrowingTrackerCore/Utils/GrowingDeviceInfo.m
index d168dee36..94bcc08f5 100644
--- a/GrowingTrackerCore/Utils/GrowingDeviceInfo.m
+++ b/GrowingTrackerCore/Utils/GrowingDeviceInfo.m
@@ -19,16 +19,25 @@
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
+#if __has_include()
+#import
+#endif
+
+#if __has_include()
+#import
+#endif
+
#import
#import
#import
#import
+#include
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
#import "GrowingTrackerCore/Utils/GrowingKeyChainWrapper.h"
#import "GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingULAppLifecycle.h"
#define LOCK(...) \
@@ -39,181 +48,267 @@
static NSString *kGrowingUrlScheme = nil;
NSString *const kGrowingKeychainUserIdKey = @"kGrowingIOKeychainUserIdKey";
-@interface GrowingDeviceInfo ()
-@property (nonatomic, copy) NSString *deviceOrientation;
-@end
-
-@implementation GrowingDeviceInfo {
+@interface GrowingDeviceInfo () {
dispatch_semaphore_t _lock;
}
-@synthesize deviceIDString = _deviceIDString;
-@synthesize idfv = _idfv;
-@synthesize idfa = _idfa;
-
+@property (nonatomic, readwrite, copy) NSDictionary *infoDictionary;
+@property (nonatomic, readwrite, copy) NSString *deviceIDString;
+@property (nonatomic, readwrite, copy) NSString *bundleID;
+@property (nonatomic, readwrite, copy) NSString *displayName;
+@property (nonatomic, readwrite, copy) NSString *language;
+@property (nonatomic, readwrite, copy) NSString *deviceModel;
+@property (nonatomic, readwrite, copy) NSString *deviceBrand;
+@property (nonatomic, readwrite, copy) NSString *deviceType;
+@property (nonatomic, readwrite, copy) NSString *platform;
+@property (nonatomic, readwrite, copy) NSString *platformVersion;
+@property (nonatomic, readwrite, copy) NSString *appFullVersion;
+@property (nonatomic, readwrite, copy) NSString *appVersion;
+@property (nonatomic, readwrite, copy) NSString *urlScheme;
+@property (nonatomic, readwrite, copy) NSString *deviceOrientation;
+@property (nonatomic, readwrite, copy) NSString *idfv;
+@property (nonatomic, readwrite, copy) NSString *idfa;
+@property (nonatomic, readwrite, assign) int appState;
+@property (nonatomic, readwrite, assign) CGFloat screenWidth;
+@property (nonatomic, readwrite, assign) CGFloat screenHeight;
-- (NSString *)getCurrentUrlScheme {
- NSArray *urlSchemeGroup = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleURLTypes"];
+@end
- for (NSDictionary *dic in urlSchemeGroup) {
- NSArray *shemes = [dic objectForKey:@"CFBundleURLSchemes"];
- for (NSString *urlScheme in shemes) {
- if ([urlScheme isKindOfClass:[NSString class]] && [urlScheme hasPrefix:@"growing."]) {
- return urlScheme;
- }
- }
- }
- return nil;
-}
+@implementation GrowingDeviceInfo
-- (NSString *)deviceIDString {
- LOCK(if (!_deviceIDString) _deviceIDString = [self getDeviceIdString];)
- return _deviceIDString;
-}
+#pragma mark - Initialize
- (instancetype)init {
if (self = [super init]) {
- NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
-
_lock = dispatch_semaphore_create(1);
- _bundleID = infoDictionary[@"CFBundleIdentifier"];
-
- // @property (nonatomic, readonly) NSString *displayName;
- _displayName = infoDictionary[@"CFBundleDisplayName"] ?: infoDictionary[@"CFBundleName"];
- if (!_displayName) {
- _displayName = @"";
- }
-
- // @property (nonatomic, readonly) NSString *language;
- _language = [NSLocale preferredLanguages].firstObject ?: @"";
-
- // @property (nonatomic, readonly) NSString *deviceModel;
- struct utsname systemInfo;
- uname(&systemInfo);
- _deviceModel = @(systemInfo.machine);
-
- //@property (nonatomic, readonly) NSString *deviceBrand;
+ _infoDictionary = [[NSBundle mainBundle] infoDictionary];
_deviceBrand = @"Apple";
-
- // @property (nonatomic, readonly) NSString *deviceType;
- _deviceType = [UIDevice currentDevice].model;
-
- //@property (nonatomic, readonly) NSNumber *isPhone;
- _isPhone = [[_deviceType lowercaseString] rangeOfString:@"ipad"].length ? @0 : @1;
-
- // @property (nonatomic, readonly) NSString *systemName;
- _platform = @"iOS"; // [[UIDevice currentDevice] systemName];
-
- // @property (nonatomic, readonly) NSString *systemVersion;
- _platformVersion = [[UIDevice currentDevice] systemVersion];
-
- // @property (nonatomic, readonly) NSString *appFullVersion;
- _appFullVersion = infoDictionary[@"CFBundleVersion"];
- if (!_appFullVersion) {
- _appFullVersion = @"";
- }
-
- // @property (nonatomic, readonly) NSString *appShortVersion;
- _appVersion = infoDictionary[@"CFBundleShortVersionString"];
-
- // @property (nonatomic, readonly) NSString *urlScheme;
- NSString *urlScheme = kGrowingUrlScheme;
- _urlScheme = urlScheme ?: [self getCurrentUrlScheme];
-
- NSMutableDictionary *customDict = [[NSMutableDictionary alloc] init];
- [infoDictionary enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *_Nonnull stop) {
- if ([key isKindOfClass:[NSString class]]) {
- [customDict setValue:obj forKey:key.lowercaseString];
- }
- }];
-
+ _appState = 0;
+
[[GrowingULAppLifecycle sharedInstance] addAppLifecycleDelegate:self];
-
+
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleStatusBarOrientationChange:)
name:UIApplicationDidChangeStatusBarOrientationNotification
object:nil];
+#endif
}
return self;
}
-- (NSString *)idfv {
- if (!_idfv) {
- _idfv = [GrowingUserIdentifier idfv];
- }
- return _idfv;
+#pragma mark - Public Methods
+
++ (instancetype)currentDeviceInfo {
+ static GrowingDeviceInfo *info = nil;
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ info = [[GrowingDeviceInfo alloc] init];
+ });
+ return info;
}
-- (NSString *)idfa {
- if (!_idfa) {
- // 必须每次获取idfa,以防idfa变动
- _idfa = [GrowingUserIdentifier idfa];
++ (void)configUrlScheme:(NSString *)urlScheme {
+ kGrowingUrlScheme = urlScheme;
+}
+
+#pragma mark - Private Methods
+
+- (NSString *)getCurrentUrlScheme {
+ for (NSDictionary *dic in _infoDictionary[@"CFBundleURLTypes"]) {
+ NSArray *shemes = dic[@"CFBundleURLSchemes"];
+ for (NSString *urlScheme in shemes) {
+ if ([urlScheme isKindOfClass:[NSString class]] && [urlScheme hasPrefix:@"growing."]) {
+ return urlScheme;
+ }
+ }
}
- return _idfa;
+ return nil;
}
- (NSString *)getDeviceIdString {
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
NSString *deviceIdString = [GrowingKeyChainWrapper keyChainObjectForKey:kGrowingKeychainUserIdKey];
- // 如果取到有效u值,直接返回
if ([deviceIdString growingHelper_isValidU]) {
return deviceIdString;
}
+#endif
NSString *uuid = [GrowingUserIdentifier getUserIdentifier];
- // 保存
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
[GrowingKeyChainWrapper setKeychainObject:uuid forKey:kGrowingKeychainUserIdKey];
-
+#endif
return uuid;
}
-+ (instancetype)currentDeviceInfo {
- static GrowingDeviceInfo *info = nil;
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- info = [[GrowingDeviceInfo alloc] init];
- });
- return info;
++ (NSString *)getSysInfoByName:(char *)typeSpeifier {
+ size_t size;
+ sysctlbyname(typeSpeifier, NULL, &size, NULL, 0);
+ char *answer = (char *)malloc(size);
+ sysctlbyname(typeSpeifier, answer, &size, NULL, 0);
+ NSString *results = [NSString stringWithCString:answer encoding:NSUTF8StringEncoding];
+ if (results == nil) {
+ results = @"";
+ }
+ free(answer);
+ return results;
}
-- (NSString *)carrier {
- CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
- CTCarrier *carrier = [netinfo subscriberCellularProvider];
- if (carrier) {
- return [NSString stringWithFormat:@"%@-%@", carrier.mobileCountryCode, carrier.mobileNetworkCode];
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
+- (void)handleStatusBarOrientationChange:(NSNotification *)notification {
+ UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
+ if (orientation != UIInterfaceOrientationUnknown) {
+ LOCK(_deviceOrientation = UIInterfaceOrientationIsPortrait(orientation) ? @"PORTRAIT" : @"LANDSCAPE";)
+ }
+}
+#endif
+
+- (void)updateAppState {
+ dispatch_block_t block = ^{
+#if TARGET_OS_OSX
+ self->_appState = [NSApplication sharedApplication].isActive ? 0 : 1;
+#else
+ self->_appState = [UIApplication sharedApplication].applicationState == UIApplicationStateActive ? 0 : 1;
+#endif
+ };
+
+#if !TARGET_OS_OSX
+ if (@available(iOS 13.0, *)) {
+ // iOS 13当收到UISceneWillDeactivateNotification/UISceneDidActivateNotification时,applicationState并未转换
+ NSDictionary *sceneManifestDict = _infoDictionary[@"UIApplicationSceneManifest"];
+ if (sceneManifestDict) {
+ dispatch_async(dispatch_get_main_queue(), ^{
+ block();
+ });
+ return;
+ }
+ }
+#endif
+
+ if ([NSThread isMainThread]) {
+ block();
} else {
- return @"unknown";
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ block();
+ });
}
}
+#pragma mark - GrowingULAppLifecycleDelegate
-+ (void)configUrlScheme:(NSString *)urlScheme {
- kGrowingUrlScheme = urlScheme;
+- (void)applicationDidBecomeActive {
+ [self updateAppState];
+}
+
+- (void)applicationWillResignActive {
+ [self updateAppState];
}
-+ (CGSize)deviceScreenSize {
- CGSize size = [UIScreen mainScreen].bounds.size;
- CGFloat scale = [UIScreen mainScreen].scale;
+#pragma mark - Getter & Setter
- if (size.height < size.width) {
- // make sure the size is in portrait to keep consistency
- CGFloat temp = size.width;
- size.width = size.height;
- size.height = temp;
+- (NSString *)deviceIDString {
+ LOCK(
+ if (!_deviceIDString) _deviceIDString = [self getDeviceIdString];
+ )
+ return _deviceIDString;
+}
+
+- (NSString *)bundleID {
+ if (!_bundleID) {
+ _bundleID = _infoDictionary[@"CFBundleIdentifier"];
}
+ return _bundleID;
+}
+
+- (NSString *)displayName {
+ if (!_displayName) {
+ _displayName = _infoDictionary[@"CFBundleDisplayName"] ?: (_infoDictionary[@"CFBundleName"] ?: @"");
+ }
+ return _displayName;
+}
+
+- (NSString *)language {
+ if (!_language) {
+ _language = [NSLocale preferredLanguages].firstObject ?: @"";
+ }
+ return _language;
+}
- size.width *= scale;
- size.height *= scale;
+- (NSString *)deviceModel {
+ if (!_deviceModel) {
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+ _deviceModel = [GrowingDeviceInfo getSysInfoByName:(char *)"hw.model"];
+#elif TARGET_OS_IOS
+ struct utsname systemInfo;
+ uname(&systemInfo);
+ _deviceModel = @(systemInfo.machine);
+#endif
+ }
+ return _deviceModel;
+}
+
+- (NSString *)deviceType {
+ if (!_deviceType) {
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+ _deviceType = @"Mac";
+#elif TARGET_OS_IOS
+ _deviceType = [UIDevice currentDevice].model;
+#endif
+ }
+ return _deviceType;
+}
+
+- (NSString *)platform {
+ if (!_platform) {
+#if TARGET_OS_OSX
+ _platform = @"macOS";
+#elif TARGET_OS_MACCATALYST
+ _platform = @"MacCatalyst";
+#elif TARGET_OS_IOS
+ _platform = @"iOS";
+#endif
+ }
+ return _platform;
+}
+
+- (NSString *)platformVersion {
+ if (!_platformVersion) {
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+ NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"];
+ _platformVersion = dic[@"ProductVersion"];
+#elif TARGET_OS_IOS
+ _platformVersion = [UIDevice currentDevice].systemVersion;
+#endif
+ }
+ return _platformVersion;
+}
- // size.width += 0.5f;
- // size.height += 0.5f;
+- (NSString *)appFullVersion {
+ if (!_appFullVersion) {
+ _appFullVersion = _infoDictionary[@"CFBundleVersion"] ?: @"";
+ }
+ return _appFullVersion;
+}
- return size;
+- (NSString *)appVersion {
+ if (!_appVersion) {
+ _appVersion = _infoDictionary[@"CFBundleShortVersionString"];
+ }
+ return _appVersion;
}
-#pragma mark - status bar
+- (NSString *)urlScheme {
+ if (!_urlScheme) {
+ _urlScheme = kGrowingUrlScheme ?: [self getCurrentUrlScheme];
+ }
+ return _urlScheme;
+}
- (NSString *)deviceOrientation {
if (!_deviceOrientation) {
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+ _deviceOrientation = @"PORTRAIT";
+#elif TARGET_OS_IOS
dispatch_block_t block = ^{
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
if (orientation != UIInterfaceOrientationUnknown) {
@@ -228,50 +323,53 @@ - (NSString *)deviceOrientation {
block();
});
}
+#endif
}
return _deviceOrientation;
}
-- (void)handleStatusBarOrientationChange:(NSNotification *)notification {
- UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
- if (orientation != UIInterfaceOrientationUnknown) {
- LOCK(_deviceOrientation = UIInterfaceOrientationIsPortrait(orientation) ? @"PORTRAIT" : @"LANDSCAPE";)
+- (NSString *)idfv {
+ if (!_idfv) {
+ _idfv = [GrowingUserIdentifier idfv];
}
+ return _idfv;
}
-#pragma mark - appLifeCycle
-
-- (void)applicationDidBecomeActive {
- [self updateAppState];
+- (NSString *)idfa {
+ if (!_idfa) {
+ _idfa = [GrowingUserIdentifier idfa];
+ }
+ return _idfa;
}
-- (void)applicationWillResignActive {
- [self updateAppState];
+- (CGFloat)screenWidth {
+ if (!_screenWidth) {
+#if !TARGET_OS_OSX
+ UIScreen *screen = [UIScreen mainScreen];
+ CGFloat width = screen.bounds.size.width * screen.scale;
+ CGFloat height = screen.bounds.size.height * screen.scale;
+ // make sure the size is in portrait to keep consistency
+ _screenWidth = MIN(width, height);
+#else
+ _screenWidth = NSScreen.mainScreen.frame.size.width;
+#endif
+ }
+ return _screenWidth;
}
-- (void)updateAppState {
- dispatch_block_t block = ^{
- self->_appState = [UIApplication sharedApplication].applicationState == UIApplicationStateActive ? 0 : 1;
- };
-
- if (@available(iOS 13.0, *)) {
- // iOS 13当收到UISceneWillDeactivateNotification/UISceneDidActivateNotification时,applicationState并未转换
- NSDictionary *sceneManifestDict = [[NSBundle mainBundle] infoDictionary][@"UIApplicationSceneManifest"];
- if (sceneManifestDict) {
- dispatch_async(dispatch_get_main_queue(), ^{
- block();
- });
- return;
- }
- }
-
- if ([NSThread isMainThread]) {
- block();
- } else {
- dispatch_sync(dispatch_get_main_queue(), ^{
- block();
- });
+- (CGFloat)screenHeight {
+ if (!_screenHeight) {
+#if !TARGET_OS_OSX
+ UIScreen *screen = [UIScreen mainScreen];
+ CGFloat width = screen.bounds.size.width * screen.scale;
+ CGFloat height = screen.bounds.size.height * screen.scale;
+ // make sure the size is in portrait to keep consistency
+ _screenHeight = MAX(width, height);
+#else
+ _screenHeight = NSScreen.mainScreen.frame.size.height;
+#endif
}
+ return _screenHeight;
}
@end
diff --git a/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.m b/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.m
index 88674d075..54cdffc48 100644
--- a/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.m
+++ b/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.m
@@ -17,22 +17,26 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
#import "GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
+
+#if __has_include()
+#import
+#endif
@implementation GrowingUserIdentifier
+ (NSString *)getUserIdentifier {
NSString *uuid = nil;
- // 尝试取block
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
NSString *idfaString = [self idfa];
if (!idfaString.growingHelper_isValidU) {
- idfaString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
- }
- if ([idfaString isKindOfClass:[NSString class]] && idfaString.length > 0 && idfaString.length <= 64) {
- uuid = idfaString;
+ idfaString = [self idfv];
}
+ uuid = idfaString;
+#else
+ uuid = [self platformUUID];
+#endif
// 失败了随机生成 UUID
if (!uuid.length || !uuid.growingHelper_isValidU) {
uuid = [[NSUUID UUID] UUIDString];
@@ -41,30 +45,24 @@ + (NSString *)getUserIdentifier {
}
+ (nullable NSString *)idfv {
- NSString *vendorId = nil;
- if (NSClassFromString(@"UIDevice")) {
- vendorId = [[UIDevice currentDevice].identifierForVendor UUIDString];
- }
- return vendorId;
+#if TARGET_OS_IOS
+ return [[UIDevice currentDevice].identifierForVendor UUIDString];
+#endif
+ return @"";
}
+ (NSString *)idfa {
NSString *idfa = @"";
+#if TARGET_OS_IOS
#ifndef GROWING_ANALYSIS_DISABLE_IDFA
- Class ASIdentifierManagerClass = NSClassFromString(@"ASIdentifierManager");
- if (!ASIdentifierManagerClass) {
+ Class class = NSClassFromString(@"ASIdentifierManager");
+ if (!class) {
return idfa;
}
-
- SEL sharedManagerSelector = NSSelectorFromString(@"sharedManager");
- id sharedManager = ((id(*)(id, SEL))[ASIdentifierManagerClass methodForSelector:sharedManagerSelector])(
- ASIdentifierManagerClass, sharedManagerSelector);
- // SEL trackingEnabledSelector = NSSelectorFromString(@"isAdvertisingTrackingEnabled");
- // BOOL trackingEnabled = ((BOOL(*)(id, SEL))[sharedManager methodForSelector:trackingEnabledSelector])(
- // sharedManager, trackingEnabledSelector);
+ SEL selector = NSSelectorFromString(@"sharedManager");
+ id sharedManager = ((id(*)(id, SEL))[class methodForSelector:selector])(class, selector);
SEL advertisingIdentifierSelector = NSSelectorFromString(@"advertisingIdentifier");
-
- NSUUID *uuid = ((NSUUID * (*)(id, SEL))[sharedManager methodForSelector:advertisingIdentifierSelector])(
+ NSUUID *uuid = ((NSUUID *(*)(id, SEL))[sharedManager methodForSelector:advertisingIdentifierSelector])(
sharedManager, advertisingIdentifierSelector);
idfa = [uuid UUIDString];
// In iOS 10.0 and later, the value of advertisingIdentifier is all zeroes
@@ -72,8 +70,29 @@ + (NSString *)idfa {
if ([idfa hasPrefix:@"00000000"]) {
idfa = @"";
}
+#endif
#endif
return idfa;
}
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
++ (nullable NSString *)platformUUID {
+ io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault,
+ IOServiceMatching("IOPlatformExpertDevice"));
+ if (service) {
+ CFStringRef ref = IORegistryEntryCreateCFProperty(service,
+ CFSTR(kIOPlatformUUIDKey),
+ kCFAllocatorDefault,
+ 0);
+ IOObjectRelease(service);
+ if (ref) {
+ NSString *string = [NSString stringWithString:(__bridge NSString *)ref];
+ CFRelease(ref);
+ return string;
+ }
+ }
+ return nil;
+}
+#endif
+
@end
diff --git a/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier_NoIDFA.m b/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier_NoIDFA.m
index 713461d61..9d6b0240e 100644
--- a/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier_NoIDFA.m
+++ b/GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier_NoIDFA.m
@@ -17,22 +17,26 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#import
#import "GrowingTrackerCore/Utils/UserIdentifier/GrowingUserIdentifier.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
+
+#if __has_include()
+#import
+#endif
@implementation GrowingUserIdentifier
+ (NSString *)getUserIdentifier {
NSString *uuid = nil;
- // 尝试取block
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
NSString *idfaString = [self idfa];
if (!idfaString.growingHelper_isValidU) {
- idfaString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
- }
- if ([idfaString isKindOfClass:[NSString class]] && idfaString.length > 0 && idfaString.length <= 64) {
- uuid = idfaString;
+ idfaString = [self idfv];
}
+ uuid = idfaString;
+#else
+ uuid = [self platformUUID];
+#endif
// 失败了随机生成 UUID
if (!uuid.length || !uuid.growingHelper_isValidU) {
uuid = [[NSUUID UUID] UUIDString];
@@ -41,15 +45,34 @@ + (NSString *)getUserIdentifier {
}
+ (nullable NSString *)idfv {
- NSString *vendorId = nil;
- if (NSClassFromString(@"UIDevice")) {
- vendorId = [[UIDevice currentDevice].identifierForVendor UUIDString];
- }
- return vendorId;
+#if TARGET_OS_IOS
+ return [[UIDevice currentDevice].identifierForVendor UUIDString];
+#endif
+ return @"";
}
+ (NSString *)idfa {
return @"";
}
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
++ (nullable NSString *)platformUUID {
+ io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault,
+ IOServiceMatching("IOPlatformExpertDevice"));
+ if (service) {
+ CFStringRef ref = IORegistryEntryCreateCFProperty(service,
+ CFSTR(kIOPlatformUUIDKey),
+ kCFAllocatorDefault,
+ 0);
+ IOObjectRelease(service);
+ if (ref) {
+ NSString *string = [NSString stringWithString:(__bridge NSString *)ref];
+ CFRelease(ref);
+ return string;
+ }
+ }
+ return nil;
+}
+#endif
+
@end
diff --git a/Modules/Advert/AppleSearchAds/GrowingAsaFetcher.m b/Modules/Advert/AppleSearchAds/GrowingAsaFetcher.m
index 91fb11553..69c28ff47 100644
--- a/Modules/Advert/AppleSearchAds/GrowingAsaFetcher.m
+++ b/Modules/Advert/AppleSearchAds/GrowingAsaFetcher.m
@@ -25,7 +25,7 @@
#import "GrowingTrackerCore/Event/GrowingEventManager.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import
diff --git a/Modules/Advert/GrowingAdvertising.m b/Modules/Advert/GrowingAdvertising.m
index d5e3fffcb..559f998cb 100644
--- a/Modules/Advert/GrowingAdvertising.m
+++ b/Modules/Advert/GrowingAdvertising.m
@@ -35,10 +35,7 @@
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
#import "GrowingULAppLifecycle.h"
diff --git a/Modules/Advert/Utils/GrowingAdUtils.m b/Modules/Advert/Utils/GrowingAdUtils.m
index 816c27a21..ca6c734bc 100644
--- a/Modules/Advert/Utils/GrowingAdUtils.m
+++ b/Modules/Advert/Utils/GrowingAdUtils.m
@@ -20,7 +20,7 @@
#import "Modules/Advert/Utils/GrowingAdUtils.h"
#import "Modules/Advert/Public/GrowingAdvertising.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/FileStorage/GrowingFileStorage.h"
#import
diff --git a/Modules/DefaultServices/GrowingEventRequestCompressionAdapter.m b/Modules/DefaultServices/GrowingEventRequestCompressionAdapter.m
index 542849d78..93f1793e6 100644
--- a/Modules/DefaultServices/GrowingEventRequestCompressionAdapter.m
+++ b/Modules/DefaultServices/GrowingEventRequestCompressionAdapter.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "Modules/DefaultServices/GrowingEventRequestCompressionAdapter.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
@interface GrowingEventRequestCompressionAdapter ()
diff --git a/Modules/DefaultServices/GrowingEventRequestEncryptionAdapter.m b/Modules/DefaultServices/GrowingEventRequestEncryptionAdapter.m
index 9f4d682e0..115dd861c 100644
--- a/Modules/DefaultServices/GrowingEventRequestEncryptionAdapter.m
+++ b/Modules/DefaultServices/GrowingEventRequestEncryptionAdapter.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "Modules/DefaultServices/GrowingEventRequestEncryptionAdapter.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
@interface GrowingEventRequestEncryptionAdapter ()
diff --git a/Modules/DefaultServices/Public/Dummy-GrowingModule-DefaultServices.h b/Modules/DefaultServices/include/Dummy-GrowingModule-DefaultServices.h
similarity index 100%
rename from Modules/DefaultServices/Public/Dummy-GrowingModule-DefaultServices.h
rename to Modules/DefaultServices/include/Dummy-GrowingModule-DefaultServices.h
diff --git a/Modules/Flutter/Public/Dummy-GrowingModule-FlutterPlugin.h b/Modules/Flutter/include/Dummy-GrowingModule-FlutterPlugin.h
similarity index 100%
rename from Modules/Flutter/Public/Dummy-GrowingModule-FlutterPlugin.h
rename to Modules/Flutter/include/Dummy-GrowingModule-FlutterPlugin.h
diff --git a/Modules/Hybrid/GrowingHybridBridgeProvider.m b/Modules/Hybrid/GrowingHybridBridgeProvider.m
index 17c04dc87..293decd8d 100644
--- a/Modules/Hybrid/GrowingHybridBridgeProvider.m
+++ b/Modules/Hybrid/GrowingHybridBridgeProvider.m
@@ -32,8 +32,7 @@
#import "GrowingTrackerCore/Manager/GrowingSession.h"
#import "GrowingTrackerCore/Event/GrowingVisitorAttributesEvent.h"
#import "Modules/Hybrid/GrowingWebViewDomChangedDelegate.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
#import "GrowingTrackerCore/Public/GrowingAnnotationCore.h"
#import "GrowingULTimeUtil.h"
#import
diff --git a/Modules/Hybrid/Public/Dummy-GrowingModule-Hybrid.h b/Modules/Hybrid/include/Dummy-GrowingModule-Hybrid.h
similarity index 100%
rename from Modules/Hybrid/Public/Dummy-GrowingModule-Hybrid.h
rename to Modules/Hybrid/include/Dummy-GrowingModule-Hybrid.h
diff --git a/Modules/MobileDebugger/GrowingMobileDebugger.m b/Modules/MobileDebugger/GrowingMobileDebugger.m
index 980585e25..21f440c22 100644
--- a/Modules/MobileDebugger/GrowingMobileDebugger.m
+++ b/Modules/MobileDebugger/GrowingMobileDebugger.m
@@ -18,35 +18,26 @@
// limitations under the License.
#import "Modules/MobileDebugger/GrowingMobileDebugger.h"
-#import
-#import
-#import
+#import "Modules/MobileDebugger/GrowingDebuggerEventQueue.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
+#import "GrowingTrackerCore/GrowingRealTracker.h"
+#import "GrowingTrackerCore/GrowingAttributesConst.h"
#import "GrowingTrackerCore/Menu/GrowingAlert.h"
+#import "GrowingTrackerCore/Menu/GrowingStatusBar.h"
#import "GrowingTrackerCore/Manager/GrowingApplicationEventManager.h"
-#import "GrowingTrackerCore/GrowingAttributesConst.h"
-#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
+#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
#import "GrowingTrackerCore/Network/Request/GrowingNetworkConfig.h"
-#import "GrowingTrackerCore/Menu/GrowingStatusBar.h"
-#import "GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h"
-#import "Modules/MobileDebugger/GrowingDebuggerEventQueue.h"
#import "GrowingTrackerCore/Network/Request/GrowingNetworkConfig.h"
-#import "GrowingTrackerCore/GrowingRealTracker.h"
#import "GrowingTrackerCore/Public/GrowingAnnotationCore.h"
-#import "Modules/MobileDebugger/GrowingDebuggerEventQueue.h"
#import "GrowingTrackerCore/Public/GrowingServiceManager.h"
#import "GrowingTrackerCore/Public/GrowingWebSocketService.h"
#import "GrowingULTimeUtil.h"
+#import
+#import
#define LOCK(...) dispatch_semaphore_wait(self->_lock, DISPATCH_TIME_FOREVER); \
__VA_ARGS__; \
@@ -197,7 +188,6 @@ - (void)remoteReady {
[self sendScreenShot];
}
-
- (void)start {
self.isReady = YES;
[self remoteReady];
@@ -206,11 +196,27 @@ - (void)start {
self.statusWindow.hidden = NO;
self.statusWindow.statusLable.text = @"正在进行Debugger";
self.statusWindow.statusLable.textAlignment = NSTextAlignmentCenter;
+
+ __weak typeof(self) wself = self;
+ self.statusWindow.onButtonClick = ^{
+ NSString *content = [NSString stringWithFormat:@"APP版本: %@\nSDK版本: %@",
+ [GrowingDeviceInfo currentDeviceInfo].appFullVersion,
+ GrowingTrackerVersionName];
+ GrowingAlert *alert = [GrowingAlert createAlertWithStyle:UIAlertControllerStyleAlert
+ title:@"正在进行Debugger"
+ message:content];
+ [alert addOkWithTitle:@"继续Debugger" handler:nil];
+ [alert
+ addCancelWithTitle:@"退出Debugger"
+ handler:^(UIAlertAction *_Nonnull action, NSArray *_Nonnull textFields) {
+ [wself stop];
+ }];
+ [alert showAlertAnimated:NO];
+ };
}
[[GrowingApplicationEventManager sharedInstance] addApplicationEventObserver:self];
}
-
- (void)stop {
GIOLogDebug(@"开始断开连接");
NSDictionary *dict = @{@"msgType" : @"quit"};
@@ -224,7 +230,6 @@ - (void)dealloc {
[self stop];
}
-
- (void)_stopWithError:(NSString *)error {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
@@ -379,7 +384,6 @@ - (NSDictionary *)userInfo {
- (void)webSocketDidOpen:(id )webSocket {
GIOLogDebug(@"websocket已连接");
- CGSize screenSize = [GrowingDeviceInfo deviceScreenSize];
NSString *projectId = GrowingConfigurationManager.sharedInstance.trackConfiguration.projectId;
NSDictionary *dict = @{
@"projectId" : projectId,
@@ -389,8 +393,8 @@ - (void)webSocketDidOpen:(id )webSocket {
@"sdkVersion" : GrowingTrackerVersionName,
@"sdkVersionCode" : [GrowingDeviceInfo currentDeviceInfo].appFullVersion,
@"os" : @"iOS",
- @"screenWidth" : [NSNumber numberWithInteger:screenSize.width],
- @"screenHeight" : [NSNumber numberWithInteger:screenSize.height],
+ @"screenWidth" : [NSNumber numberWithInteger:[GrowingDeviceInfo currentDeviceInfo].screenWidth],
+ @"screenHeight" : [NSNumber numberWithInteger:[GrowingDeviceInfo currentDeviceInfo].screenHeight],
@"urlScheme" : [GrowingDeviceInfo currentDeviceInfo].urlScheme
};
[self sendJson:dict];
diff --git a/Modules/MobileDebugger/Public/Dummy-GrowingModule-MobileDebugger.h b/Modules/MobileDebugger/include/Dummy-GrowingModule-MobileDebugger.h
similarity index 100%
rename from Modules/MobileDebugger/Public/Dummy-GrowingModule-MobileDebugger.h
rename to Modules/MobileDebugger/include/Dummy-GrowingModule-MobileDebugger.h
diff --git a/Modules/Protobuf/GrowingEventProtobufDatabase.m b/Modules/Protobuf/GrowingEventProtobufDatabase.m
index 4eb2b2e86..cd3939419 100644
--- a/Modules/Protobuf/GrowingEventProtobufDatabase.m
+++ b/Modules/Protobuf/GrowingEventProtobufDatabase.m
@@ -22,6 +22,12 @@
#import "Modules/Protobuf/GrowingEventProtobufPersistence.h"
#import "GrowingULTimeUtil.h"
+@interface GrowingEventProtobufDatabase ()
+
+@property (nonatomic, copy, readonly) NSString *lastPathComponent;
+
+@end
+
@implementation GrowingEventProtobufDatabase
#pragma mark - Init
@@ -38,9 +44,9 @@ - (instancetype)initWithFilePath:(NSString *)filePath error:(NSError **)error {
});
NSString *lastPathComponent = [NSURL fileURLWithPath:filePath].lastPathComponent;
- lastPathComponent = [NSString stringWithFormat:@"enc_%@", lastPathComponent];
+ _lastPathComponent = [NSString stringWithFormat:@"enc_%@", lastPathComponent];
NSURL *url = [NSURL fileURLWithPath:filePath].URLByDeletingLastPathComponent;
- NSString *path = [url URLByAppendingPathComponent:lastPathComponent].path;
+ NSString *path = [url URLByAppendingPathComponent:_lastPathComponent].path;
self.db = [GrowingFMDatabaseQueue databaseQueueWithPath:path];
if (!self.db) {
@@ -304,7 +310,7 @@ - (BOOL)initDB {
}
- (BOOL)vacuum {
- if (!isExecuteVacuum()) {
+ if (!isExecuteVacuum(self.lastPathComponent)) {
return YES;
}
@@ -323,8 +329,11 @@ - (BOOL)vacuum {
return result;
}
-static BOOL isExecuteVacuum(void) {
- NSString *vacuumDate = @"GIO_VACUUM_DATE_E7B96C4E-6EE2-49CD-87F0-B2E62D4EE96A-ENCODE-EVENT";
+static BOOL isExecuteVacuum(NSString *name) {
+ if (name.length == 0) {
+ return NO;
+ }
+ NSString *vacuumDate = [NSString stringWithFormat:@"GIO_VACUUM_DATE_E7B96C4E-6EE2-49CD-87F0-B2E62D4EE96A-ENCODE-%@", name];
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSDate *beforeDate = [userDefault objectForKey:vacuumDate];
NSDate *nowDate = [NSDate date];
diff --git a/Modules/Protobuf/GrowingPBEventV3Dto+GrowingHelper.m b/Modules/Protobuf/GrowingPBEventV3Dto+GrowingHelper.m
index 8d9d2c749..5dc6f25fc 100644
--- a/Modules/Protobuf/GrowingPBEventV3Dto+GrowingHelper.m
+++ b/Modules/Protobuf/GrowingPBEventV3Dto+GrowingHelper.m
@@ -25,6 +25,7 @@
#import "Modules/Hybrid/Events/GrowingHybridEventType.h"
#define GROWING_ANALYSIS_HYBRID
#endif
+
#if __has_include("Modules/Advert/Public/GrowingAdvertising.h")
#import "Modules/Advert/Event/GrowingAdvertEventType.h"
#define GROWING_ANALYSIS_ADVERT
diff --git a/Modules/Protobuf/Public/Dummy-GrowingModule-Protobuf.h b/Modules/Protobuf/include/Dummy-GrowingModule-Protobuf.h
similarity index 100%
rename from Modules/Protobuf/Public/Dummy-GrowingModule-Protobuf.h
rename to Modules/Protobuf/include/Dummy-GrowingModule-Protobuf.h
diff --git a/Modules/WebCircle/GrowingWebCircle.m b/Modules/WebCircle/GrowingWebCircle.m
index c92bd35f9..c7cab78eb 100644
--- a/Modules/WebCircle/GrowingWebCircle.m
+++ b/Modules/WebCircle/GrowingWebCircle.m
@@ -18,47 +18,38 @@
// limitations under the License.
#import "Modules/WebCircle/GrowingWebCircle.h"
-
-#import
-#import
-#import
-#import
-
+#import "Modules/WebCircle/GrowingWebCircleElement.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
+#import "GrowingTrackerCore/GrowingRealTracker.h"
+#import "GrowingTrackerCore/GrowingAttributesConst.h"
#import "GrowingTrackerCore/Menu/GrowingAlert.h"
+#import "GrowingTrackerCore/Menu/GrowingStatusBar.h"
#import "GrowingTrackerCore/Manager/GrowingApplicationEventManager.h"
-#import "GrowingTrackerCore/GrowingAttributesConst.h"
+#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
#import "GrowingTrackerCore/Event/Autotrack/GrowingAutotrackEventType.h"
+#import "GrowingTrackerCore/Event/GrowingEventManager.h"
#import "GrowingTrackerCore/Thirdparty/Logger/GrowingLogger.h"
-#import "GrowingTrackerCore/Manager/GrowingConfigurationManager.h"
#import "GrowingTrackerCore/DeepLink/GrowingDeepLinkHandler.h"
#import "GrowingTrackerCore/Utils/GrowingDeviceInfo.h"
#import "GrowingTrackerCore/Thread/GrowingDispatchManager.h"
-#import "GrowingTrackerCore/Event/GrowingEventManager.h"
#import "GrowingTrackerCore/Network/Request/GrowingNetworkConfig.h"
-#import "GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.h"
+#import "GrowingTrackerCore/Public/GrowingServiceManager.h"
+#import "GrowingTrackerCore/Public/GrowingWebSocketService.h"
+#import "GrowingTrackerCore/Public/GrowingFlutterService.h"
+#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
#import "GrowingAutotrackerCore/Page/GrowingPageGroup.h"
#import "GrowingAutotrackerCore/Page/GrowingPageManager.h"
-#import "GrowingTrackerCore/Menu/GrowingStatusBar.h"
-#import "Modules/WebCircle/GrowingWebCircleElement.h"
-#import "Modules/Hybrid/GrowingWebViewDomChangedDelegate.h"
-#import "GrowingTrackerCore/Helpers/NSArray+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSData+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSDictionary+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/NSURL+GrowingHelper.h"
-#import "GrowingTrackerCore/Helpers/UIApplication+GrowingHelper.h"
-#import "GrowingTrackerCore/Hook/UIApplication+GrowingNode.h"
-#import "GrowingTrackerCore/Helpers/UIImage+GrowingHelper.h"
-#import "GrowingAutotrackerCore/Autotrack/UIViewController+GrowingAutotracker.h"
-#import "GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.h"
#import "GrowingAutotrackerCore/Page/UIViewController+GrowingPageHelper.h"
-#import "GrowingTrackerCore/Helpers/UIWindow+GrowingHelper.h"
+#import "GrowingAutotrackerCore/GrowingNode/GrowingNodeHelper.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIApplication+GrowingNode.h"
+#import "GrowingAutotrackerCore/GrowingNode/Category/UIViewController+GrowingNode.h"
#import "GrowingAutotrackerCore/GrowingNode/Category/UIWindow+GrowingNode.h"
-#import "GrowingTrackerCore/Public/GrowingServiceManager.h"
+#import
+#import
+
+#import "Modules/Hybrid/GrowingWebViewDomChangedDelegate.h"
#import "Modules/Hybrid/GrowingHybridBridgeProvider.h"
-#import "GrowingTrackerCore/Public/GrowingWebSocketService.h"
-#import "GrowingTrackerCore/Public/GrowingFlutterService.h"
-#import "GrowingTrackerCore/GrowingRealTracker.h"
+#import
GrowingMod(GrowingWebCircle)
@@ -604,7 +595,6 @@ - (void)webSocket:(id )webSocket didReceiveMessage:(id)
- (void)webSocketDidOpen:(id )webSocket {
GIOLogDebug(@"[GrowingWebCircle] websocket已连接");
- CGSize screenSize = [GrowingDeviceInfo deviceScreenSize];
NSString *projectId = GrowingConfigurationManager.sharedInstance.trackConfiguration.projectId;
NSDictionary *dict = @{
@"projectId" : projectId,
@@ -614,8 +604,8 @@ - (void)webSocketDidOpen:(id )webSocket {
@"sdkVersion" : GrowingTrackerVersionName,
@"appVersion" : [GrowingDeviceInfo currentDeviceInfo].appFullVersion,
@"os" : @"iOS",
- @"screenWidth" : [NSNumber numberWithInteger:screenSize.width],
- @"screenHeight" : [NSNumber numberWithInteger:screenSize.height],
+ @"screenWidth" : [NSNumber numberWithInteger:[GrowingDeviceInfo currentDeviceInfo].screenWidth],
+ @"screenHeight" : [NSNumber numberWithInteger:[GrowingDeviceInfo currentDeviceInfo].screenHeight],
@"urlScheme" : [GrowingDeviceInfo currentDeviceInfo].urlScheme
};
[self sendJson:dict];
diff --git a/Modules/WebCircle/Public/Dummy-GrowingModule-WebCircle.h b/Modules/WebCircle/include/Dummy-GrowingModule-WebCircle.h
similarity index 100%
rename from Modules/WebCircle/Public/Dummy-GrowingModule-WebCircle.h
rename to Modules/WebCircle/include/Dummy-GrowingModule-WebCircle.h
diff --git a/Package.swift b/Package.swift
index 173046fbd..7e7553581 100644
--- a/Package.swift
+++ b/Package.swift
@@ -1,4 +1,4 @@
-// swift-tools-version:5.3
+// swift-tools-version:5.6
// The swift-tools-version declares the minimum version of Swift required to build this package.
//
@@ -6,7 +6,7 @@
// GrowingAnalytics
//
// Created by YoloMao on 2022/03/17.
-// Copyright (C) 2022 Beijing Yishu Technology Co., Ltd.
+// Copyright (C) 2023 Beijing Yishu Technology Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@ import PackageDescription
let package = Package(
name: "GrowingAnalytics",
- platforms: [.iOS(.v9)],
+ platforms: [.iOS(.v10), .macCatalyst(.v13), .macOS(.v10_12)],
products: [
.library(
name: "GrowingAutotracker_cdp",
@@ -73,14 +73,12 @@ let package = Package(
],
dependencies: [
.package(
- name: "GrowingUtils",
url: "https://github.com/growingio/growingio-sdk-ios-utilities.git",
- .branch("master")
+ exact: "0.0.5"
),
.package(
- name: "GrowingAPM",
url: "https://github.com/growingio/growingio-sdk-ios-performance-ext.git",
- .branch("master")
+ branch: "master"
),
],
targets: [
@@ -92,10 +90,10 @@ let package = Package(
dependencies: [
"GrowingAutotracker_cdp",
"GrowingUserIdentifier",
- "GrowingModule_Hybrid",
- "GrowingModule_MobileDebugger",
- "GrowingModule_WebCircle",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_Hybrid", condition: .when(platforms: [.iOS, .macCatalyst])),
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
+ .target(name: "GrowingModule_WebCircle", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingAutotracker-cdp-Wrapper"
),
@@ -104,8 +102,8 @@ let package = Package(
dependencies: [
"GrowingTracker_cdp",
"GrowingUserIdentifier",
- "GrowingModule_MobileDebugger",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingTracker-cdp-Wrapper"
),
@@ -114,10 +112,10 @@ let package = Package(
dependencies: [
"GrowingAutotracker",
"GrowingUserIdentifier",
- "GrowingModule_Hybrid",
- "GrowingModule_MobileDebugger",
- "GrowingModule_WebCircle",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_Hybrid", condition: .when(platforms: [.iOS, .macCatalyst])),
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
+ .target(name: "GrowingModule_WebCircle", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingAutotracker-Wrapper"
),
@@ -126,8 +124,8 @@ let package = Package(
dependencies: [
"GrowingTracker",
"GrowingUserIdentifier",
- "GrowingModule_MobileDebugger",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingTracker-Wrapper"
),
@@ -181,6 +179,7 @@ let package = Package(
dependencies: [],
path: "GrowingTrackerCore/Utils/UserIdentifier",
exclude: ["GrowingUserIdentifier_NoIDFA.m"],
+ publicHeadersPath: ".",
cSettings: [
.headerSearchPath("../../.."),
]
@@ -190,6 +189,7 @@ let package = Package(
dependencies: [],
path: "GrowingTrackerCore/Utils/UserIdentifier",
exclude: ["GrowingUserIdentifier.m"],
+ publicHeadersPath: ".",
cSettings: [
.headerSearchPath("../../.."),
]
@@ -197,7 +197,7 @@ let package = Package(
.target(
name: "GrowingTrackerCore",
dependencies: [
- .product(name: "GrowingUtilsTrackerCore", package: "GrowingUtils"),
+ .product(name: "GrowingUtilsTrackerCore", package: "growingio-sdk-ios-utilities"),
],
path: "GrowingTrackerCore",
exclude: ["Utils/UserIdentifier"],
@@ -207,14 +207,14 @@ let package = Package(
],
linkerSettings: [
.linkedLibrary("c++"),
- .linkedFramework("UIKit", .when(platforms: [.iOS])),
+ .linkedFramework("UIKit", .when(platforms: [.iOS, .macCatalyst])),
]
),
.target(
name: "GrowingAutotrackerCore",
dependencies: [
"GrowingTrackerCore",
- .product(name: "GrowingUtilsAutotrackerCore", package: "GrowingUtils"),
+ .product(name: "GrowingUtilsAutotrackerCore", package: "growingio-sdk-ios-utilities"),
],
path: "GrowingAutotrackerCore",
publicHeadersPath: "Public",
@@ -322,7 +322,7 @@ let package = Package(
.headerSearchPath("../.."),
],
linkerSettings: [
- .linkedFramework("WebKit", .when(platforms: [.iOS])),
+ .linkedFramework("WebKit", .when(platforms: [.iOS, .macCatalyst])),
]
),
.target(
@@ -338,7 +338,7 @@ let package = Package(
name: "GrowingModule_APM",
dependencies: [
"GrowingTrackerCore",
- .product(name: "GrowingAPM", package: "GrowingAPM"),
+ .product(name: "GrowingAPM", package: "growingio-sdk-ios-performance-ext"),
],
path: "Modules/APM",
publicHeadersPath: "Public",
@@ -354,10 +354,10 @@ let package = Package(
dependencies: [
"GrowingAutotracker_cdp",
"GrowingUserIdentifier_NoIDFA",
- "GrowingModule_Hybrid",
- "GrowingModule_MobileDebugger",
- "GrowingModule_WebCircle",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_Hybrid", condition: .when(platforms: [.iOS, .macCatalyst])),
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
+ .target(name: "GrowingModule_WebCircle", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingAutotracker-cdp-NoIDFA-Wrapper"
),
@@ -366,8 +366,8 @@ let package = Package(
dependencies: [
"GrowingTracker_cdp",
"GrowingUserIdentifier_NoIDFA",
- "GrowingModule_MobileDebugger",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingTracker-cdp-NoIDFA-Wrapper"
),
@@ -376,10 +376,10 @@ let package = Package(
dependencies: [
"GrowingAutotracker",
"GrowingUserIdentifier_NoIDFA",
- "GrowingModule_Hybrid",
- "GrowingModule_MobileDebugger",
- "GrowingModule_WebCircle",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_Hybrid", condition: .when(platforms: [.iOS, .macCatalyst])),
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
+ .target(name: "GrowingModule_WebCircle", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingAutotracker-NoIDFA-Wrapper"
),
@@ -388,8 +388,8 @@ let package = Package(
dependencies: [
"GrowingTracker",
"GrowingUserIdentifier_NoIDFA",
- "GrowingModule_MobileDebugger",
- "GrowingModule_DefaultServices"
+ "GrowingModule_DefaultServices",
+ .target(name: "GrowingModule_MobileDebugger", condition: .when(platforms: [.iOS])),
],
path: "SwiftPM-Wrap/GrowingTracker-NoIDFA-Wrapper"
)
diff --git a/Podfile b/Podfile
index 39321e915..a4c6a534e 100644
--- a/Podfile
+++ b/Podfile
@@ -1,10 +1,10 @@
#source 'https://github.com/growingio/giospec.git'
#source 'https://github.com/CocoaPods/Specs.git'
+platform :ios, '11.0'
use_frameworks!
-install!'cocoapods',:deterministic_uuids=>false
-platform :ios, '10.0'
+install!'cocoapods',:deterministic_uuids=>false, :warn_for_unused_master_specs_repo=>false
workspace 'GrowingAnalytics.xcworkspace'
@@ -27,7 +27,7 @@ target 'Example' do
pod 'LBXScan/LBXNative', '2.3'
pod 'LBXScan/UI', '2.3'
# pod 'Bugly'
- pod 'GrowingToolsKit'
+ pod 'GrowingToolsKit', '>= 1.1.3'
end
target 'GrowingAnalyticsTests' do
@@ -78,7 +78,13 @@ target 'ExampleiOS13' do
# 而不是再去集成一个新的 GrowingAPM,其将导致生成 2 个 GrowingAPM Pod Target,编译会出现 Multiple commands produce 报错
pod 'GrowingAPM'
- pod 'GrowingToolsKit'
+ pod 'GrowingToolsKit', '>= 1.1.3'
+end
+
+target 'Example-macOS' do
+ platform :osx, '11.0'
+ project 'Example/Example'
+ pod 'GrowingAnalytics/Tracker', :path => './'
end
post_install do |installer|
diff --git a/Podfile.lock b/Podfile.lock
index 3200abd1e..beb118851 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -1,90 +1,90 @@
PODS:
- - GrowingAnalytics-cdp/Autotracker (3.4.7):
- - GrowingAnalytics-cdp/TrackerCore (= 3.4.7)
- - GrowingAnalytics/AutotrackerCore (= 3.4.7)
- - GrowingAnalytics/DefaultServices (= 3.4.7)
- - GrowingAnalytics/Hybrid (= 3.4.7)
- - GrowingAnalytics/MobileDebugger (= 3.4.7)
- - GrowingAnalytics/WebCircle (= 3.4.7)
- - GrowingAnalytics-cdp/Tracker (3.4.7):
- - GrowingAnalytics-cdp/TrackerCore (= 3.4.7)
- - GrowingAnalytics/DefaultServices (= 3.4.7)
- - GrowingAnalytics/MobileDebugger (= 3.4.7)
- - GrowingAnalytics-cdp/TrackerCore (3.4.7):
- - GrowingAnalytics/TrackerCore (= 3.4.7)
- - GrowingAnalytics/Advert (3.4.7):
+ - GrowingAnalytics-cdp/Autotracker (3.4.8):
+ - GrowingAnalytics-cdp/TrackerCore (= 3.4.8)
+ - GrowingAnalytics/AutotrackerCore (= 3.4.8)
+ - GrowingAnalytics/DefaultServices (= 3.4.8)
+ - GrowingAnalytics/Hybrid (= 3.4.8)
+ - GrowingAnalytics/MobileDebugger (= 3.4.8)
+ - GrowingAnalytics/WebCircle (= 3.4.8)
+ - GrowingAnalytics-cdp/Tracker (3.4.8):
+ - GrowingAnalytics-cdp/TrackerCore (= 3.4.8)
+ - GrowingAnalytics/DefaultServices (= 3.4.8)
+ - GrowingAnalytics/MobileDebugger (= 3.4.8)
+ - GrowingAnalytics-cdp/TrackerCore (3.4.8):
+ - GrowingAnalytics/TrackerCore (= 3.4.8)
+ - GrowingAnalytics/Advert (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/APM (3.4.7):
+ - GrowingAnalytics/APM (3.4.8):
- GrowingAnalytics/TrackerCore
- GrowingAPM/Core
- - GrowingAnalytics/Autotracker (3.4.7):
+ - GrowingAnalytics/Autotracker (3.4.8):
- GrowingAnalytics/AutotrackerCore
- GrowingAnalytics/DefaultServices
- GrowingAnalytics/Hybrid
- GrowingAnalytics/MobileDebugger
- GrowingAnalytics/WebCircle
- - GrowingAnalytics/AutotrackerCore (3.4.7):
+ - GrowingAnalytics/AutotrackerCore (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingUtils/AutotrackerCore (= 0.0.4)
- - GrowingAnalytics/Compression (3.4.7):
+ - GrowingUtils/AutotrackerCore (= 0.0.5)
+ - GrowingAnalytics/Compression (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/Database (3.4.7):
+ - GrowingAnalytics/Database (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/DefaultServices (3.4.7):
+ - GrowingAnalytics/DefaultServices (3.4.8):
- GrowingAnalytics/Compression
- GrowingAnalytics/Database
- GrowingAnalytics/Encryption
- GrowingAnalytics/Network
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/Encryption (3.4.7):
+ - GrowingAnalytics/Encryption (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/Hybrid (3.4.7):
+ - GrowingAnalytics/Hybrid (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/MobileDebugger (3.4.7):
+ - GrowingAnalytics/MobileDebugger (3.4.8):
- GrowingAnalytics/TrackerCore
- GrowingAnalytics/WebSocket
- - GrowingAnalytics/Network (3.4.7):
+ - GrowingAnalytics/Network (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/Protobuf (3.4.7):
+ - GrowingAnalytics/Protobuf (3.4.8):
- GrowingAnalytics/Database
- - GrowingAnalytics/Protobuf/Proto (= 3.4.7)
+ - GrowingAnalytics/Protobuf/Proto (= 3.4.8)
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/Protobuf/Proto (3.4.7):
+ - GrowingAnalytics/Protobuf/Proto (3.4.8):
- GrowingAnalytics/Database
- GrowingAnalytics/TrackerCore
- Protobuf
- - GrowingAnalytics/Tracker (3.4.7):
+ - GrowingAnalytics/Tracker (3.4.8):
- GrowingAnalytics/DefaultServices
- GrowingAnalytics/MobileDebugger
- GrowingAnalytics/TrackerCore
- - GrowingAnalytics/TrackerCore (3.4.7):
- - GrowingUtils/TrackerCore (= 0.0.4)
- - GrowingAnalytics/WebCircle (3.4.7):
+ - GrowingAnalytics/TrackerCore (3.4.8):
+ - GrowingUtils/TrackerCore (= 0.0.5)
+ - GrowingAnalytics/WebCircle (3.4.8):
- GrowingAnalytics/AutotrackerCore
- GrowingAnalytics/Hybrid
- GrowingAnalytics/WebSocket
- - GrowingAnalytics/WebSocket (3.4.7):
+ - GrowingAnalytics/WebSocket (3.4.8):
- GrowingAnalytics/TrackerCore
- - GrowingAPM (0.0.13):
- - GrowingAPM/Core (= 0.0.13)
- - GrowingAPM/CrashMonitor (= 0.0.13)
- - GrowingAPM/UIMonitor (= 0.0.13)
- - GrowingAPM/Core (0.0.13):
+ - GrowingAPM (0.0.14):
+ - GrowingAPM/Core (= 0.0.14)
+ - GrowingAPM/CrashMonitor (= 0.0.14)
+ - GrowingAPM/UIMonitor (= 0.0.14)
+ - GrowingAPM/Core (0.0.14):
- GrowingUtils/TrackerCore
- - GrowingAPM/CrashMonitor (0.0.13):
+ - GrowingAPM/CrashMonitor (0.0.14):
- GrowingAPM/Core
- - GrowingAPM/UIMonitor (0.0.13):
+ - GrowingAPM/UIMonitor (0.0.14):
- GrowingAPM/Core
- - GrowingToolsKit (1.1.1):
- - GrowingToolsKit/Default (= 1.1.1)
- - GrowingToolsKit/APMCore (1.1.1):
+ - GrowingToolsKit (1.1.2):
+ - GrowingToolsKit/Default (= 1.1.2)
+ - GrowingToolsKit/APMCore (1.1.2):
- GrowingAPM/Core
- GrowingToolsKit/Core
- - GrowingToolsKit/Core (1.1.1)
- - GrowingToolsKit/CrashMonitor (1.1.1):
+ - GrowingToolsKit/Core (1.1.2)
+ - GrowingToolsKit/CrashMonitor (1.1.2):
- GrowingAPM/CrashMonitor
- GrowingToolsKit/APMCore
- - GrowingToolsKit/Default (1.1.1):
+ - GrowingToolsKit/Default (1.1.2):
- GrowingToolsKit/Core
- GrowingToolsKit/CrashMonitor
- GrowingToolsKit/EventsList
@@ -94,38 +94,38 @@ PODS:
- GrowingToolsKit/SDKInfo
- GrowingToolsKit/Settings
- GrowingToolsKit/XPathTrack
- - GrowingToolsKit/EventsList (1.1.1):
+ - GrowingToolsKit/EventsList (1.1.2):
- GrowingToolsKit/Core
- - GrowingToolsKit/LaunchTime (1.1.1):
+ - GrowingToolsKit/LaunchTime (1.1.2):
- GrowingAPM/UIMonitor
- GrowingToolsKit/APMCore
- - GrowingToolsKit/NetFlow (1.1.1):
+ - GrowingToolsKit/NetFlow (1.1.2):
- GrowingToolsKit/Core
- - GrowingToolsKit/Realtime (1.1.1):
+ - GrowingToolsKit/Realtime (1.1.2):
- GrowingToolsKit/Core
- - GrowingToolsKit/SDKInfo (1.1.1):
+ - GrowingToolsKit/SDKInfo (1.1.2):
- GrowingToolsKit/Core
- - GrowingToolsKit/Settings (1.1.1):
+ - GrowingToolsKit/Settings (1.1.2):
- GrowingToolsKit/Core
- - GrowingToolsKit/XPathTrack (1.1.1):
+ - GrowingToolsKit/XPathTrack (1.1.2):
- GrowingToolsKit/Core
- - GrowingUtils/AutotrackerCore (0.0.4):
+ - GrowingUtils/AutotrackerCore (0.0.5):
- GrowingUtils/TrackerCore
- - GrowingUtils/TrackerCore (0.0.4)
- - KIF (3.8.7):
- - KIF/Core (= 3.8.7)
- - KIF/Core (3.8.7)
+ - GrowingUtils/TrackerCore (0.0.5)
+ - KIF (3.8.9):
+ - KIF/Core (= 3.8.9)
+ - KIF/Core (3.8.9)
- LBXScan/LBXNative (2.3):
- LBXScan/Types (~> 2.2)
- LBXScan/Types (2.3)
- LBXScan/UI (2.3):
- LBXScan/Types (~> 2.2)
- - Protobuf (3.22.0)
+ - Protobuf (3.22.1)
- SDCycleScrollView (1.82):
- SDWebImage (>= 5.0.0)
- - SDWebImage (5.15.1):
- - SDWebImage/Core (= 5.15.1)
- - SDWebImage/Core (5.15.1)
+ - SDWebImage (5.15.5):
+ - SDWebImage/Core (= 5.15.5)
+ - SDWebImage/Core (5.15.5)
DEPENDENCIES:
- GrowingAnalytics-cdp/Autotracker (from `./`)
@@ -160,17 +160,17 @@ EXTERNAL SOURCES:
:path: "./"
SPEC CHECKSUMS:
- GrowingAnalytics: 920b35f73590c7161e1d54d6f9b6c0d0e3f4a022
- GrowingAnalytics-cdp: a8b2fbb1e47485813cabe6fe1dc3fe097bb8cff1
- GrowingAPM: ce25d89b064df78eabfefe807fdecabe92602186
- GrowingToolsKit: 8cbc5cf8a3011ab249c529a786432616c099a618
- GrowingUtils: fd6e7d1a87c57dbda30967bbdcbc14546c68cd22
- KIF: 779cdbca106633b94ecee7b036537490ebdbd9de
+ GrowingAnalytics: 7e3a6b5e093dda0a123b3367909ba84a58027865
+ GrowingAnalytics-cdp: 11dd744da6056af512fa48ab8c51f5409e6b4bf8
+ GrowingAPM: 79fe4f4a12d94432fa4a552d56c41940ea13961a
+ GrowingToolsKit: 8b0ef3691dbc70deec42d19451ebd5e2aa8c5c04
+ GrowingUtils: 5212c5c0501ea0c3863a29c33ccefbde5be77353
+ KIF: 7660c626b0f2d4562533590960db70a36d640558
LBXScan: e51449f0832d1fe17da632af0d22adeb3cfa3543
- Protobuf: 5e6cbc143d02fe08585d86b0098f8b755d2caaab
+ Protobuf: d7f7c8329edf5eb8af65547a8ba3e9c1cee927d5
SDCycleScrollView: a0d74c3384caa72bdfc81470bdbc8c14b3e1fbcf
- SDWebImage: a254f2c53b46e3fba7946b1f8b8b3eaf00413b92
+ SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
-PODFILE CHECKSUM: 64594c82d4ec64f37133d304431a7602ce7f793b
+PODFILE CHECKSUM: e2976c8db8fd164f9cdd14c07e1072ff086b0bc9
-COCOAPODS: 1.11.3
+COCOAPODS: 1.12.0
diff --git a/Services/Compression/Public/Dummy-GrowingService-Compression.h b/Services/Compression/include/Dummy-GrowingService-Compression.h
similarity index 100%
rename from Services/Compression/Public/Dummy-GrowingService-Compression.h
rename to Services/Compression/include/Dummy-GrowingService-Compression.h
diff --git a/Services/Database/GrowingEventJSONPersistence.m b/Services/Database/GrowingEventJSONPersistence.m
index f146955d2..a3381ef9c 100644
--- a/Services/Database/GrowingEventJSONPersistence.m
+++ b/Services/Database/GrowingEventJSONPersistence.m
@@ -18,7 +18,7 @@
// limitations under the License.
#import "Services/Database/GrowingEventJSONPersistence.h"
-#import "GrowingTrackerCore/Helpers/NSString+GrowingHelper.h"
+#import "GrowingTrackerCore/Helpers/GrowingHelpers.h"
@implementation GrowingEventJSONPersistence
diff --git a/Services/Database/Public/Dummy-GrowingService-Database.h b/Services/Database/include/Dummy-GrowingService-Database.h
similarity index 100%
rename from Services/Database/Public/Dummy-GrowingService-Database.h
rename to Services/Database/include/Dummy-GrowingService-Database.h
diff --git a/Services/Encryption/Public/Dummy-GrowingService-Encryption.h b/Services/Encryption/include/Dummy-GrowingService-Encryption.h
similarity index 100%
rename from Services/Encryption/Public/Dummy-GrowingService-Encryption.h
rename to Services/Encryption/include/Dummy-GrowingService-Encryption.h
diff --git a/Services/Network/Public/Dummy-GrowingService-Network.h b/Services/Network/include/Dummy-GrowingService-Network.h
similarity index 100%
rename from Services/Network/Public/Dummy-GrowingService-Network.h
rename to Services/Network/include/Dummy-GrowingService-Network.h
diff --git a/Services/WebSocket/Public/Dummy-GrowingService-WebSocket.h b/Services/WebSocket/include/Dummy-GrowingService-WebSocket.h
similarity index 100%
rename from Services/WebSocket/Public/Dummy-GrowingService-WebSocket.h
rename to Services/WebSocket/include/Dummy-GrowingService-WebSocket.h