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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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