cocoapods-catalyst-validator 0.1.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +107 -0
- data/LICENSE.txt +22 -0
- data/README.md +18 -0
- data/Rakefile +13 -0
- data/cocoapods-catalyst-validator.gemspec +23 -0
- data/examples/AExample/AExample/AExample.entitlements +10 -0
- data/examples/AExample/AExample/AppDelegate.h +14 -0
- data/examples/AExample/AExample/AppDelegate.m +40 -0
- data/examples/AExample/AExample/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- data/examples/AExample/AExample/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
- data/examples/AExample/AExample/Assets.xcassets/Contents.json +6 -0
- data/examples/AExample/AExample/Base.lproj/LaunchScreen.storyboard +25 -0
- data/examples/AExample/AExample/Base.lproj/Main.storyboard +24 -0
- data/examples/AExample/AExample/Info.plist +25 -0
- data/examples/AExample/AExample/SceneDelegate.h +15 -0
- data/examples/AExample/AExample/SceneDelegate.m +57 -0
- data/examples/AExample/AExample/ViewController.h +14 -0
- data/examples/AExample/AExample/ViewController.m +22 -0
- data/examples/AExample/AExample/main.m +18 -0
- data/examples/AExample/AExample.xcodeproj/project.pbxproj +664 -0
- data/examples/AExample/AExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/examples/AExample/AExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/examples/AExample/AExample.xcodeproj/project.xcworkspace/xcuserdata/xuzhongping.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/examples/AExample/AExample.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
- data/examples/AExample/AExample.xcworkspace/contents.xcworkspacedata +10 -0
- data/examples/AExample/AExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/examples/AExample/AExample.xcworkspace/xcuserdata/xuzhongping.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/examples/AExample/AExampleCP/AppDelegate.h +14 -0
- data/examples/AExample/AExampleCP/AppDelegate.m +40 -0
- data/examples/AExample/AExampleCP/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- data/examples/AExample/AExampleCP/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
- data/examples/AExample/AExampleCP/Assets.xcassets/Contents.json +6 -0
- data/examples/AExample/AExampleCP/Base.lproj/LaunchScreen.storyboard +25 -0
- data/examples/AExample/AExampleCP/Base.lproj/Main.storyboard +24 -0
- data/examples/AExample/AExampleCP/Info.plist +25 -0
- data/examples/AExample/AExampleCP/SceneDelegate.h +15 -0
- data/examples/AExample/AExampleCP/SceneDelegate.m +57 -0
- data/examples/AExample/AExampleCP/ViewController.h +14 -0
- data/examples/AExample/AExampleCP/ViewController.m +22 -0
- data/examples/AExample/AExampleCP/main.m +18 -0
- data/examples/AExample/Podfile +24 -0
- data/examples/AExample/Podfile.lock +112 -0
- data/examples/AExample/Pods/Bugly/Bugly.framework/Bugly +0 -0
- data/examples/AExample/Pods/Bugly/Bugly.framework/Headers/Bugly.h +163 -0
- data/examples/AExample/Pods/Bugly/Bugly.framework/Headers/BuglyConfig.h +149 -0
- data/examples/AExample/Pods/Bugly/Bugly.framework/Headers/BuglyLog.h +78 -0
- data/examples/AExample/Pods/Bugly/Bugly.framework/Modules/module.modulemap +12 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/Info.plist +97 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +33 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +142 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h +495 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +731 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +29 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +6 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist +20 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap +13 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +33 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +142 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h +495 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +731 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +29 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +6 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist +20 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap +13 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +33 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +142 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h +495 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +731 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +29 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +6 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist +20 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap +13 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +33 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +142 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h +495 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +731 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +29 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +6 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist +20 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap +13 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +33 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +142 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h +495 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +731 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +29 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +6 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist +20 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap +12 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +62 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +33 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +142 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h +495 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +731 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +29 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +6 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist +20 -0
- data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap +12 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAnalyticsConfiguration.h +56 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAnalyticsConfiguration.m +62 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRApp.m +856 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAppAssociationRegistration.h +49 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAppAssociationRegistration.m +47 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRBundleUtil.h +53 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRBundleUtil.m +79 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponent.m +65 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainer.m +214 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainerInternal.h +49 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentType.m +28 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRConfiguration.m +46 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRConfigurationInternal.h +29 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRCoreDiagnosticsConnector.m +61 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRDependency.m +44 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRDiagnosticsData.h +35 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRDiagnosticsData.m +66 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRFirebaseUserAgent.h +36 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRFirebaseUserAgent.m +107 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRHeartbeatInfo.m +72 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRLogger.m +174 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIROptions.m +498 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRVersion.m +32 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRAppInternal.h +153 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRComponent.h +91 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRComponentContainer.h +41 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRComponentType.h +34 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRCoreDiagnosticsConnector.h +35 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRDependency.h +45 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRHeartbeatInfo.h +39 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRLibrary.h +44 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRLogger.h +146 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIROptionsInternal.h +115 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FirebaseCoreInternal.h +28 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRApp.h +127 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h +45 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h +38 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h +126 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h +25 -0
- data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FirebaseCore.h +21 -0
- data/examples/AExample/Pods/FirebaseCore/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h +61 -0
- data/examples/AExample/Pods/FirebaseCore/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h +34 -0
- data/examples/AExample/Pods/FirebaseCore/LICENSE +202 -0
- data/examples/AExample/Pods/FirebaseCore/README.md +319 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/FIRCoreDiagnostics.m +551 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/Protogen/nanopb/firebasecore.nanopb.c +60 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/Protogen/nanopb/firebasecore.nanopb.h +193 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/Public/FIRCoreDiagnostics.h +18 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h +61 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h +34 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/LICENSE +202 -0
- data/examples/AExample/Pods/FirebaseCoreDiagnostics/README.md +319 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRAppInternal.h +153 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRComponent.h +91 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRComponentContainer.h +41 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRComponentType.h +34 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRCoreDiagnosticsConnector.h +35 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRDependency.h +45 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRHeartbeatInfo.h +39 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRLibrary.h +44 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRLogger.h +146 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIROptionsInternal.h +115 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FirebaseCoreInternal.h +28 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.h +65 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.m +145 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h +53 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.m +79 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallations.m +282 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResult.m +30 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResultInternal.h +27 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsItem.h +93 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsItem.m +161 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsLogger.h +52 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsLogger.m +50 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.h +48 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.m +242 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.h +36 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.m +158 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.h +62 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.m +380 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.h +53 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.m +142 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.h +27 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.m +23 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.h +54 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.m +132 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.h +44 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.m +531 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h +58 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.m +75 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsStatus.h +35 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.h +71 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.m +126 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.h +58 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.m +77 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.h +51 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.m +80 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Private/FirebaseInstallationsInternal.h +19 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallations.h +127 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsAuthTokenResult.h +33 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsErrors.h +34 -0
- data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FirebaseInstallations.h +19 -0
- data/examples/AExample/Pods/FirebaseInstallations/LICENSE +202 -0
- data/examples/AExample/Pods/FirebaseInstallations/README.md +319 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/Info.plist +97 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Modules/module.modulemap +10 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Modules/module.modulemap +10 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Modules/module.modulemap +10 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Modules/module.modulemap +10 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Modules/module.modulemap +10 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Modules/module.modulemap +10 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist +97 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +5 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +5 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +5 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +5 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +5 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist +20 -0
- data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +5 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTCompressionHelper.m +95 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m +270 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTUploadOperation.m +573 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTUploader.m +210 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCOREvent+GDTCCTSupport.m +240 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTCompressionHelper.h +40 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h +128 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploadOperation.h +76 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploader.h +45 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.c +128 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h +281 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Public/GDTCOREvent+GDTCCTSupport.h +51 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORAssert.m +36 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORClock.m +178 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORConsoleLogger.m +55 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORDirectorySizeTracker.m +101 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCOREndpoints.m +92 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCOREvent.m +153 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORFlatFileStorage+Promises.m +104 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORFlatFileStorage.m +826 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORLifecycle.m +119 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m +604 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORReachability.m +125 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORRegistrar.m +157 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorageEventSelector.m +39 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORTransformer.m +111 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORTransport.m +92 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORUploadBatch.m +30 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORUploadCoordinator.m +176 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORAssert.h +95 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORDirectorySizeTracker.h +66 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORLifecycle.h +63 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORPlatform.h +225 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORReachability.h +31 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORRegistrar.h +50 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageEventSelector.h +61 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageProtocol.h +171 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORUploader.h +59 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCOREndpoints_Private.h +27 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCOREvent_Private.h +33 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORFlatFileStorage+Promises.h +28 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORFlatFileStorage.h +158 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORReachability_Private.h +30 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORRegistrar_Private.h +35 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransformer.h +57 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransformer_Private.h +37 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransport_Private.h +39 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadBatch.h +37 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadCoordinator.h +68 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORClock.h +66 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORConsoleLogger.h +144 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREndpoints.h +36 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREvent.h +87 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREventDataObject.h +36 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREventTransformer.h +38 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORTargets.h +40 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORTransport.h +92 -0
- data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GoogleDataTransport.h +24 -0
- data/examples/AExample/Pods/GoogleDataTransport/LICENSE +202 -0
- data/examples/AExample/Pods/GoogleDataTransport/README.md +231 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m +1070 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/GULSceneDelegateSwizzler.m +439 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Internal/GULAppDelegateSwizzler_Private.h +55 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h +48 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h +107 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULApplication.h +50 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h +76 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Common/GULLoggerCodes.h +56 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/GULHeartbeatDateStorage.m +153 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/GULHeartbeatDateStorageUserDefaults.m +68 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/GULSecureCoding.m +103 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h +60 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorable.h +40 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorage.h +54 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorageUserDefaults.h +51 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainStorage.h +79 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainUtils.h +61 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULSecureCoding.h +36 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULURLSessionDataResponse.h +31 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/NSURLSession+GULPromises.h +37 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m +192 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/SecureStorage/GULKeychainUtils.m +113 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/URLSessionPromiseWrapper/GULURLSessionDataResponse.m +30 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/URLSessionPromiseWrapper/NSURLSession+GULPromises.m +46 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m +333 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Logger/GULLogger.m +215 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h +159 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GoogleUtilities/GULLoggerLevel.h +37 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/MethodSwizzler/GULSwizzler.m +153 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULOriginalIMPConvenienceMacros.h +207 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULSwizzler.h +71 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/NSData+zlib/GULNSData+zlib.m +207 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/NSData+zlib/Public/GoogleUtilities/GULNSData+zlib.h +49 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULMutableDictionary.m +101 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetwork.m +390 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetworkConstants.m +41 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetworkInternal.h +24 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetworkURLSession.m +766 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h +46 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetwork.h +87 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkConstants.h +71 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkLoggerProtocol.h +49 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkMessageCode.h +47 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkURLSession.h +62 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/GULReachabilityChecker+Internal.h +48 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/GULReachabilityChecker.m +263 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/GULReachabilityMessageCode.h +29 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/Public/GoogleUtilities/GULReachabilityChecker.h +79 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/UserDefaults/GULUserDefaults.m +213 -0
- data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/UserDefaults/Public/GoogleUtilities/GULUserDefaults.h +110 -0
- data/examples/AExample/Pods/GoogleUtilities/LICENSE +247 -0
- data/examples/AExample/Pods/GoogleUtilities/README.md +189 -0
- data/examples/AExample/Pods/Manifest.lock +112 -0
- data/examples/AExample/Pods/Pods.xcodeproj/project.pbxproj +3670 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseAnalytics.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseCore.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseCoreDiagnostics.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseInstallations.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/GoogleAppMeasurement.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/GoogleDataTransport.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/GoogleUtilities.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/Pods-AExample-AExampleCP.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/Pods-AExample.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/PromisesObjC.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/nanopb.xcscheme +58 -0
- data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/xcschememanagement.plist +66 -0
- data/examples/AExample/Pods/PromisesObjC/LICENSE +202 -0
- data/examples/AExample/Pods/PromisesObjC/README.md +60 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+All.m +86 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Always.m +58 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Any.m +112 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Async.m +70 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Await.m +48 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Catch.m +55 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Delay.m +59 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Do.m +59 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Race.m +65 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Recover.m +54 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Reduce.m +61 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Retry.m +128 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Testing.m +55 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Then.m +50 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Timeout.m +64 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Validate.m +56 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Wrap.m +420 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise.m +299 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromiseError.m +19 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+All.h +63 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Always.h +54 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Any.h +69 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Async.h +60 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Await.h +32 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Catch.h +59 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Delay.h +59 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Do.h +55 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Race.h +62 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Recover.h +60 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Reduce.h +71 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Retry.h +165 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Testing.h +57 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Then.h +63 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Timeout.h +57 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Validate.h +60 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Wrap.h +316 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h +93 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromiseError.h +43 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromisePrivate.h +66 -0
- data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromises.h +32 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks-input-files.xcfilelist +2 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks-output-files.xcfilelist +1 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks.sh +109 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics.debug.xcconfig +13 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics.release.xcconfig +13 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore-umbrella.h +22 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore.debug.xcconfig +16 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore.release.xcconfig +16 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics-umbrella.h +17 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.debug.xcconfig +17 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.release.xcconfig +17 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-umbrella.h +20 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations.debug.xcconfig +15 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations.release.xcconfig +15 -0
- data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-input-files.xcfilelist +3 -0
- data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-output-files.xcfilelist +2 -0
- data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks.sh +110 -0
- data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement.debug.xcconfig +13 -0
- data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement.release.xcconfig +13 -0
- data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport-umbrella.h +25 -0
- data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport.debug.xcconfig +16 -0
- data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport.release.xcconfig +16 -0
- data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities-umbrella.h +41 -0
- data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities.debug.xcconfig +15 -0
- data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities.release.xcconfig +15 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-acknowledgements.markdown +1316 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-acknowledgements.plist +1396 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Debug-input-files.xcfilelist +8 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Debug-output-files.xcfilelist +7 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Release-input-files.xcfilelist +8 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Release-output-files.xcfilelist +7 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks.sh +198 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-umbrella.h +16 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample.debug.xcconfig +12 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample.release.xcconfig +12 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-acknowledgements.markdown +1316 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-acknowledgements.plist +1396 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Debug-input-files.xcfilelist +8 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Debug-output-files.xcfilelist +7 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Release-input-files.xcfilelist +8 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Release-output-files.xcfilelist +7 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks.sh +198 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-umbrella.h +16 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP.debug.xcconfig +12 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP.release.xcconfig +12 -0
- data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC-umbrella.h +36 -0
- data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC.debug.xcconfig +12 -0
- data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC.release.xcconfig +12 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-Info.plist +26 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-dummy.m +5 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-prefix.pch +12 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-umbrella.h +26 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb.debug.xcconfig +11 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb.modulemap +6 -0
- data/examples/AExample/Pods/Target Support Files/nanopb/nanopb.release.xcconfig +11 -0
- data/examples/AExample/Pods/nanopb/LICENSE.txt +20 -0
- data/examples/AExample/Pods/nanopb/README.md +71 -0
- data/examples/AExample/Pods/nanopb/pb.h +599 -0
- data/examples/AExample/Pods/nanopb/pb_common.c +97 -0
- data/examples/AExample/Pods/nanopb/pb_common.h +42 -0
- data/examples/AExample/Pods/nanopb/pb_decode.c +1564 -0
- data/examples/AExample/Pods/nanopb/pb_decode.h +178 -0
- data/examples/AExample/Pods/nanopb/pb_encode.c +913 -0
- data/examples/AExample/Pods/nanopb/pb_encode.h +170 -0
- data/lib/cocoapods-catalyst-validator/cocoapods-catalyst-validator.rb +110 -0
- data/lib/cocoapods-catalyst-validator/gem_version.rb +3 -0
- data/lib/cocoapods_plugin.rb +3 -0
- data/spec/command/validator_spec.rb +12 -0
- data/spec/spec_helper.rb +50 -0
- metadata +601 -0
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
// Copyright 2019 Google LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
#import <TargetConditionals.h>
|
|
16
|
+
|
|
17
|
+
#import "GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h"
|
|
18
|
+
|
|
19
|
+
#import "GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h"
|
|
20
|
+
#import "GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h"
|
|
21
|
+
#import "GoogleUtilities/Common/GULLoggerCodes.h"
|
|
22
|
+
#import "GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h"
|
|
23
|
+
#import "GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h"
|
|
24
|
+
#import "GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h"
|
|
25
|
+
|
|
26
|
+
#import <objc/runtime.h>
|
|
27
|
+
|
|
28
|
+
#if UISCENE_SUPPORTED
|
|
29
|
+
API_AVAILABLE(ios(13.0), tvos(13.0))
|
|
30
|
+
typedef void (*GULOpenURLContextsIMP)(id, SEL, UIScene *, NSSet<UIOpenURLContext *> *);
|
|
31
|
+
|
|
32
|
+
API_AVAILABLE(ios(13.0), tvos(13.0))
|
|
33
|
+
typedef void (^GULSceneDelegateInterceptorCallback)(id<UISceneDelegate>);
|
|
34
|
+
|
|
35
|
+
// The strings below are the keys for associated objects.
|
|
36
|
+
static char const *const kGULRealIMPBySelectorKey = "GUL_realIMPBySelector";
|
|
37
|
+
static char const *const kGULRealClassKey = "GUL_realClass";
|
|
38
|
+
#endif // UISCENE_SUPPORTED
|
|
39
|
+
|
|
40
|
+
static GULLoggerService kGULLoggerSwizzler = @"[GoogleUtilities/SceneDelegateSwizzler]";
|
|
41
|
+
|
|
42
|
+
// Since Firebase SDKs also use this for app delegate proxying, in order to not be a breaking change
|
|
43
|
+
// we disable App Delegate proxying when either of these two flags are set to NO.
|
|
44
|
+
|
|
45
|
+
/** Plist key that allows Firebase developers to disable App and Scene Delegate Proxying. */
|
|
46
|
+
static NSString *const kGULFirebaseSceneDelegateProxyEnabledPlistKey =
|
|
47
|
+
@"FirebaseAppDelegateProxyEnabled";
|
|
48
|
+
|
|
49
|
+
/** Plist key that allows developers not using Firebase to disable App and Scene Delegate Proxying.
|
|
50
|
+
*/
|
|
51
|
+
static NSString *const kGULGoogleUtilitiesSceneDelegateProxyEnabledPlistKey =
|
|
52
|
+
@"GoogleUtilitiesAppDelegateProxyEnabled";
|
|
53
|
+
|
|
54
|
+
/** The prefix of the Scene Delegate. */
|
|
55
|
+
static NSString *const kGULSceneDelegatePrefix = @"GUL_";
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* This class is necessary to store the delegates in an NSArray without retaining them.
|
|
59
|
+
* [NSValue valueWithNonRetainedObject] also provides this functionality, but does not provide a
|
|
60
|
+
* zeroing pointer. This will cause EXC_BAD_ACCESS when trying to access the object after it is
|
|
61
|
+
* dealloced. Instead, this container stores a weak, zeroing reference to the object, which
|
|
62
|
+
* automatically is set to nil by the runtime when the object is dealloced.
|
|
63
|
+
*/
|
|
64
|
+
@interface GULSceneZeroingWeakContainer : NSObject
|
|
65
|
+
|
|
66
|
+
/** Stores a weak object. */
|
|
67
|
+
@property(nonatomic, weak) id object;
|
|
68
|
+
|
|
69
|
+
@end
|
|
70
|
+
|
|
71
|
+
@implementation GULSceneZeroingWeakContainer
|
|
72
|
+
@end
|
|
73
|
+
|
|
74
|
+
@implementation GULSceneDelegateSwizzler
|
|
75
|
+
|
|
76
|
+
#pragma mark - Public methods
|
|
77
|
+
|
|
78
|
+
+ (BOOL)isSceneDelegateProxyEnabled {
|
|
79
|
+
return [GULAppDelegateSwizzler isAppDelegateProxyEnabled];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
+ (void)proxyOriginalSceneDelegate {
|
|
83
|
+
#if UISCENE_SUPPORTED
|
|
84
|
+
if ([GULAppEnvironmentUtil isAppExtension]) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
static dispatch_once_t onceToken;
|
|
89
|
+
dispatch_once(&onceToken, ^{
|
|
90
|
+
if (@available(iOS 13.0, tvOS 13.0, *)) {
|
|
91
|
+
if (![GULSceneDelegateSwizzler isSceneDelegateProxyEnabled]) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
[[NSNotificationCenter defaultCenter]
|
|
95
|
+
addObserver:self
|
|
96
|
+
selector:@selector(handleSceneWillConnectToNotification:)
|
|
97
|
+
name:UISceneWillConnectNotification
|
|
98
|
+
object:nil];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
#endif // UISCENE_SUPPORTED
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
#if UISCENE_SUPPORTED
|
|
105
|
+
+ (GULSceneDelegateInterceptorID)registerSceneDelegateInterceptor:(id<UISceneDelegate>)interceptor {
|
|
106
|
+
NSAssert(interceptor, @"SceneDelegateProxy cannot add nil interceptor");
|
|
107
|
+
NSAssert([interceptor conformsToProtocol:@protocol(UISceneDelegate)],
|
|
108
|
+
@"SceneDelegateProxy interceptor does not conform to UIApplicationDelegate");
|
|
109
|
+
|
|
110
|
+
if (!interceptor) {
|
|
111
|
+
GULLogError(kGULLoggerSwizzler, NO,
|
|
112
|
+
[NSString stringWithFormat:@"I-SWZ%06ld",
|
|
113
|
+
(long)kGULSwizzlerMessageCodeSceneDelegateSwizzling000],
|
|
114
|
+
@"SceneDelegateProxy cannot add nil interceptor.");
|
|
115
|
+
return nil;
|
|
116
|
+
}
|
|
117
|
+
if (![interceptor conformsToProtocol:@protocol(UISceneDelegate)]) {
|
|
118
|
+
GULLogError(kGULLoggerSwizzler, NO,
|
|
119
|
+
[NSString stringWithFormat:@"I-SWZ%06ld",
|
|
120
|
+
(long)kGULSwizzlerMessageCodeSceneDelegateSwizzling001],
|
|
121
|
+
@"SceneDelegateProxy interceptor does not conform to UIApplicationDelegate");
|
|
122
|
+
return nil;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// The ID should be the same given the same interceptor object.
|
|
126
|
+
NSString *interceptorID =
|
|
127
|
+
[NSString stringWithFormat:@"%@%p", kGULSceneDelegatePrefix, interceptor];
|
|
128
|
+
if (!interceptorID.length) {
|
|
129
|
+
GULLogError(kGULLoggerSwizzler, NO,
|
|
130
|
+
[NSString stringWithFormat:@"I-SWZ%06ld",
|
|
131
|
+
(long)kGULSwizzlerMessageCodeSceneDelegateSwizzling002],
|
|
132
|
+
@"SceneDelegateProxy cannot create Interceptor ID.");
|
|
133
|
+
return nil;
|
|
134
|
+
}
|
|
135
|
+
GULSceneZeroingWeakContainer *weakObject = [[GULSceneZeroingWeakContainer alloc] init];
|
|
136
|
+
weakObject.object = interceptor;
|
|
137
|
+
[GULSceneDelegateSwizzler interceptors][interceptorID] = weakObject;
|
|
138
|
+
return interceptorID;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
+ (void)unregisterSceneDelegateInterceptorWithID:(GULSceneDelegateInterceptorID)interceptorID {
|
|
142
|
+
NSAssert(interceptorID, @"SceneDelegateProxy cannot unregister nil interceptor ID.");
|
|
143
|
+
NSAssert(((NSString *)interceptorID).length != 0,
|
|
144
|
+
@"SceneDelegateProxy cannot unregister empty interceptor ID.");
|
|
145
|
+
|
|
146
|
+
if (!interceptorID) {
|
|
147
|
+
GULLogError(kGULLoggerSwizzler, NO,
|
|
148
|
+
[NSString stringWithFormat:@"I-SWZ%06ld",
|
|
149
|
+
(long)kGULSwizzlerMessageCodeSceneDelegateSwizzling003],
|
|
150
|
+
@"SceneDelegateProxy cannot unregister empty interceptor ID.");
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
GULSceneZeroingWeakContainer *weakContainer =
|
|
155
|
+
[GULSceneDelegateSwizzler interceptors][interceptorID];
|
|
156
|
+
if (!weakContainer.object) {
|
|
157
|
+
GULLogError(kGULLoggerSwizzler, NO,
|
|
158
|
+
[NSString stringWithFormat:@"I-SWZ%06ld",
|
|
159
|
+
(long)kGULSwizzlerMessageCodeSceneDelegateSwizzling004],
|
|
160
|
+
@"SceneDelegateProxy cannot unregister interceptor that was not registered. "
|
|
161
|
+
"Interceptor ID %@",
|
|
162
|
+
interceptorID);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
[[GULSceneDelegateSwizzler interceptors] removeObjectForKey:interceptorID];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
#pragma mark - Helper methods
|
|
170
|
+
|
|
171
|
+
+ (GULMutableDictionary *)interceptors {
|
|
172
|
+
static dispatch_once_t onceToken;
|
|
173
|
+
static GULMutableDictionary *sInterceptors;
|
|
174
|
+
dispatch_once(&onceToken, ^{
|
|
175
|
+
sInterceptors = [[GULMutableDictionary alloc] init];
|
|
176
|
+
});
|
|
177
|
+
return sInterceptors;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
+ (void)clearInterceptors {
|
|
181
|
+
[[self interceptors] removeAllObjects];
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
+ (nullable NSValue *)originalImplementationForSelector:(SEL)selector object:(id)object {
|
|
185
|
+
NSDictionary *realImplementationBySelector =
|
|
186
|
+
objc_getAssociatedObject(object, &kGULRealIMPBySelectorKey);
|
|
187
|
+
return realImplementationBySelector[NSStringFromSelector(selector)];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
+ (void)proxyDestinationSelector:(SEL)destinationSelector
|
|
191
|
+
implementationsFromSourceSelector:(SEL)sourceSelector
|
|
192
|
+
fromClass:(Class)sourceClass
|
|
193
|
+
toClass:(Class)destinationClass
|
|
194
|
+
realClass:(Class)realClass
|
|
195
|
+
storeDestinationImplementationTo:
|
|
196
|
+
(NSMutableDictionary<NSString *, NSValue *> *)destinationImplementationsBySelector {
|
|
197
|
+
[self addInstanceMethodWithDestinationSelector:destinationSelector
|
|
198
|
+
withImplementationFromSourceSelector:sourceSelector
|
|
199
|
+
fromClass:sourceClass
|
|
200
|
+
toClass:destinationClass];
|
|
201
|
+
IMP sourceImplementation =
|
|
202
|
+
[GULSceneDelegateSwizzler implementationOfMethodSelector:destinationSelector
|
|
203
|
+
fromClass:realClass];
|
|
204
|
+
NSValue *sourceImplementationPointer = [NSValue valueWithPointer:sourceImplementation];
|
|
205
|
+
|
|
206
|
+
NSString *destinationSelectorString = NSStringFromSelector(destinationSelector);
|
|
207
|
+
destinationImplementationsBySelector[destinationSelectorString] = sourceImplementationPointer;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/** Copies a method identified by the methodSelector from one class to the other. After this method
|
|
211
|
+
* is called, performing [toClassInstance methodSelector] will be similar to calling
|
|
212
|
+
* [fromClassInstance methodSelector]. This method does nothing if toClass already has a method
|
|
213
|
+
* identified by methodSelector.
|
|
214
|
+
*
|
|
215
|
+
* @param methodSelector The SEL that identifies both the method on the fromClass as well as the
|
|
216
|
+
* one on the toClass.
|
|
217
|
+
* @param fromClass The class from which a method is sourced.
|
|
218
|
+
* @param toClass The class to which the method is added. If the class already has a method with
|
|
219
|
+
* the same selector, this has no effect.
|
|
220
|
+
*/
|
|
221
|
+
+ (void)addInstanceMethodWithSelector:(SEL)methodSelector
|
|
222
|
+
fromClass:(Class)fromClass
|
|
223
|
+
toClass:(Class)toClass {
|
|
224
|
+
[self addInstanceMethodWithDestinationSelector:methodSelector
|
|
225
|
+
withImplementationFromSourceSelector:methodSelector
|
|
226
|
+
fromClass:fromClass
|
|
227
|
+
toClass:toClass];
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/** Copies a method identified by the sourceSelector from the fromClass as a method for the
|
|
231
|
+
* destinationSelector on the toClass. After this method is called, performing
|
|
232
|
+
* [toClassInstance destinationSelector] will be similar to calling
|
|
233
|
+
* [fromClassInstance sourceSelector]. This method does nothing if toClass already has a method
|
|
234
|
+
* identified by destinationSelector.
|
|
235
|
+
*
|
|
236
|
+
* @param destinationSelector The SEL that identifies the method on the toClass.
|
|
237
|
+
* @param sourceSelector The SEL that identifies the method on the fromClass.
|
|
238
|
+
* @param fromClass The class from which a method is sourced.
|
|
239
|
+
* @param toClass The class to which the method is added. If the class already has a method with
|
|
240
|
+
* the same selector, this has no effect.
|
|
241
|
+
*/
|
|
242
|
+
+ (void)addInstanceMethodWithDestinationSelector:(SEL)destinationSelector
|
|
243
|
+
withImplementationFromSourceSelector:(SEL)sourceSelector
|
|
244
|
+
fromClass:(Class)fromClass
|
|
245
|
+
toClass:(Class)toClass {
|
|
246
|
+
Method method = class_getInstanceMethod(fromClass, sourceSelector);
|
|
247
|
+
IMP methodIMP = method_getImplementation(method);
|
|
248
|
+
const char *types = method_getTypeEncoding(method);
|
|
249
|
+
if (!class_addMethod(toClass, destinationSelector, methodIMP, types)) {
|
|
250
|
+
GULLogWarning(
|
|
251
|
+
kGULLoggerSwizzler, NO,
|
|
252
|
+
[NSString
|
|
253
|
+
stringWithFormat:@"I-SWZ%06ld", (long)kGULSwizzlerMessageCodeSceneDelegateSwizzling009],
|
|
254
|
+
@"Cannot copy method to destination selector %@ as it already exists",
|
|
255
|
+
NSStringFromSelector(destinationSelector));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/** Gets the IMP of the instance method on the class identified by the selector.
|
|
260
|
+
*
|
|
261
|
+
* @param selector The selector of which the IMP is to be fetched.
|
|
262
|
+
* @param aClass The class from which the IMP is to be fetched.
|
|
263
|
+
* @return The IMP of the instance method identified by selector and aClass.
|
|
264
|
+
*/
|
|
265
|
+
+ (IMP)implementationOfMethodSelector:(SEL)selector fromClass:(Class)aClass {
|
|
266
|
+
Method aMethod = class_getInstanceMethod(aClass, selector);
|
|
267
|
+
return method_getImplementation(aMethod);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/** Enumerates through all the interceptors and if they respond to a given selector, executes a
|
|
271
|
+
* GULSceneDelegateInterceptorCallback with the interceptor.
|
|
272
|
+
*
|
|
273
|
+
* @param methodSelector The SEL to check if an interceptor responds to.
|
|
274
|
+
* @param callback the GULSceneDelegateInterceptorCallback.
|
|
275
|
+
*/
|
|
276
|
+
+ (void)notifyInterceptorsWithMethodSelector:(SEL)methodSelector
|
|
277
|
+
callback:(GULSceneDelegateInterceptorCallback)callback
|
|
278
|
+
API_AVAILABLE(ios(13.0)) {
|
|
279
|
+
if (!callback) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
NSDictionary *interceptors = [GULSceneDelegateSwizzler interceptors].dictionary;
|
|
284
|
+
[interceptors enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
|
|
285
|
+
GULSceneZeroingWeakContainer *interceptorContainer = obj;
|
|
286
|
+
id interceptor = interceptorContainer.object;
|
|
287
|
+
if (!interceptor) {
|
|
288
|
+
GULLogWarning(
|
|
289
|
+
kGULLoggerSwizzler, NO,
|
|
290
|
+
[NSString stringWithFormat:@"I-SWZ%06ld",
|
|
291
|
+
(long)kGULSwizzlerMessageCodeSceneDelegateSwizzling010],
|
|
292
|
+
@"SceneDelegateProxy cannot find interceptor with ID %@. Removing the interceptor.", key);
|
|
293
|
+
[[GULSceneDelegateSwizzler interceptors] removeObjectForKey:key];
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
if ([interceptor respondsToSelector:methodSelector]) {
|
|
297
|
+
callback(interceptor);
|
|
298
|
+
}
|
|
299
|
+
}];
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
+ (void)handleSceneWillConnectToNotification:(NSNotification *)notification {
|
|
303
|
+
if (@available(iOS 13.0, tvOS 13.0, *)) {
|
|
304
|
+
if ([notification.object isKindOfClass:[UIScene class]]) {
|
|
305
|
+
UIScene *scene = (UIScene *)notification.object;
|
|
306
|
+
[GULSceneDelegateSwizzler proxySceneDelegateIfNeeded:scene];
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
#pragma mark - [Donor Methods] UISceneDelegate URL handler
|
|
312
|
+
|
|
313
|
+
- (void)scene:(UIScene *)scene
|
|
314
|
+
openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts API_AVAILABLE(ios(13.0), tvos(13.0)) {
|
|
315
|
+
if (@available(iOS 13.0, tvOS 13.0, *)) {
|
|
316
|
+
SEL methodSelector = @selector(scene:openURLContexts:);
|
|
317
|
+
// Call the real implementation if the real Scene Delegate has any.
|
|
318
|
+
NSValue *openURLContextsIMPPointer =
|
|
319
|
+
[GULSceneDelegateSwizzler originalImplementationForSelector:methodSelector object:self];
|
|
320
|
+
GULOpenURLContextsIMP openURLContextsIMP = [openURLContextsIMPPointer pointerValue];
|
|
321
|
+
|
|
322
|
+
[GULSceneDelegateSwizzler
|
|
323
|
+
notifyInterceptorsWithMethodSelector:methodSelector
|
|
324
|
+
callback:^(id<UISceneDelegate> interceptor) {
|
|
325
|
+
if ([interceptor
|
|
326
|
+
conformsToProtocol:@protocol(UISceneDelegate)]) {
|
|
327
|
+
id<UISceneDelegate> sceneInterceptor =
|
|
328
|
+
(id<UISceneDelegate>)interceptor;
|
|
329
|
+
[sceneInterceptor scene:scene openURLContexts:URLContexts];
|
|
330
|
+
}
|
|
331
|
+
}];
|
|
332
|
+
|
|
333
|
+
if (openURLContextsIMP) {
|
|
334
|
+
openURLContextsIMP(self, methodSelector, scene, URLContexts);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
+ (void)proxySceneDelegateIfNeeded:(UIScene *)scene {
|
|
340
|
+
Class realClass = [scene.delegate class];
|
|
341
|
+
NSString *className = NSStringFromClass(realClass);
|
|
342
|
+
|
|
343
|
+
// Skip proxying if failed to get the delegate class name for some reason (e.g. `delegate == nil`)
|
|
344
|
+
// or the class has a prefix of kGULAppDelegatePrefix, which means it has been proxied before.
|
|
345
|
+
if (className == nil || [className hasPrefix:kGULSceneDelegatePrefix]) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
NSString *classNameWithPrefix = [kGULSceneDelegatePrefix stringByAppendingString:className];
|
|
350
|
+
NSString *newClassName =
|
|
351
|
+
[NSString stringWithFormat:@"%@-%@", classNameWithPrefix, [NSUUID UUID].UUIDString];
|
|
352
|
+
|
|
353
|
+
if (NSClassFromString(newClassName)) {
|
|
354
|
+
GULLogError(
|
|
355
|
+
kGULLoggerSwizzler, NO,
|
|
356
|
+
[NSString
|
|
357
|
+
stringWithFormat:@"I-SWZ%06ld",
|
|
358
|
+
(long)
|
|
359
|
+
kGULSwizzlerMessageCodeSceneDelegateSwizzlingInvalidSceneDelegate],
|
|
360
|
+
@"Cannot create a proxy for Scene Delegate. Subclass already exists. Original Class"
|
|
361
|
+
@": %@, subclass: %@",
|
|
362
|
+
className, newClassName);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
// Register the new class as subclass of the real one. Do not allocate more than the real class
|
|
367
|
+
// size.
|
|
368
|
+
Class sceneDelegateSubClass = objc_allocateClassPair(realClass, newClassName.UTF8String, 0);
|
|
369
|
+
if (sceneDelegateSubClass == Nil) {
|
|
370
|
+
GULLogError(
|
|
371
|
+
kGULLoggerSwizzler, NO,
|
|
372
|
+
[NSString
|
|
373
|
+
stringWithFormat:@"I-SWZ%06ld",
|
|
374
|
+
(long)
|
|
375
|
+
kGULSwizzlerMessageCodeSceneDelegateSwizzlingInvalidSceneDelegate],
|
|
376
|
+
@"Cannot create a proxy for Scene Delegate. Subclass already exists. Original Class"
|
|
377
|
+
@": %@, subclass: Nil",
|
|
378
|
+
className);
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
NSMutableDictionary<NSString *, NSValue *> *realImplementationsBySelector =
|
|
383
|
+
[[NSMutableDictionary alloc] init];
|
|
384
|
+
|
|
385
|
+
// For scene:openURLContexts:
|
|
386
|
+
SEL openURLContextsSEL = @selector(scene:openURLContexts:);
|
|
387
|
+
[self proxyDestinationSelector:openURLContextsSEL
|
|
388
|
+
implementationsFromSourceSelector:openURLContextsSEL
|
|
389
|
+
fromClass:[GULSceneDelegateSwizzler class]
|
|
390
|
+
toClass:sceneDelegateSubClass
|
|
391
|
+
realClass:realClass
|
|
392
|
+
storeDestinationImplementationTo:realImplementationsBySelector];
|
|
393
|
+
|
|
394
|
+
// Store original implementations to a fake property of the original delegate.
|
|
395
|
+
objc_setAssociatedObject(scene.delegate, &kGULRealIMPBySelectorKey,
|
|
396
|
+
[realImplementationsBySelector copy], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
|
397
|
+
objc_setAssociatedObject(scene.delegate, &kGULRealClassKey, realClass,
|
|
398
|
+
OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
|
399
|
+
|
|
400
|
+
// The subclass size has to be exactly the same size with the original class size. The subclass
|
|
401
|
+
// cannot have more ivars/properties than its superclass since it will cause an offset in memory
|
|
402
|
+
// that can lead to overwriting the isa of an object in the next frame.
|
|
403
|
+
if (class_getInstanceSize(realClass) != class_getInstanceSize(sceneDelegateSubClass)) {
|
|
404
|
+
GULLogError(
|
|
405
|
+
kGULLoggerSwizzler, NO,
|
|
406
|
+
[NSString
|
|
407
|
+
stringWithFormat:@"I-SWZ%06ld",
|
|
408
|
+
(long)
|
|
409
|
+
kGULSwizzlerMessageCodeSceneDelegateSwizzlingInvalidSceneDelegate],
|
|
410
|
+
@"Cannot create subclass of Scene Delegate, because the created subclass is not the "
|
|
411
|
+
@"same size. %@",
|
|
412
|
+
className);
|
|
413
|
+
NSAssert(NO, @"Classes must be the same size to swizzle isa");
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// Make the newly created class to be the subclass of the real Scene Delegate class.
|
|
418
|
+
objc_registerClassPair(sceneDelegateSubClass);
|
|
419
|
+
if (object_setClass(scene.delegate, sceneDelegateSubClass)) {
|
|
420
|
+
GULLogDebug(
|
|
421
|
+
kGULLoggerSwizzler, NO,
|
|
422
|
+
[NSString
|
|
423
|
+
stringWithFormat:@"I-SWZ%06ld",
|
|
424
|
+
(long)
|
|
425
|
+
kGULSwizzlerMessageCodeSceneDelegateSwizzlingInvalidSceneDelegate],
|
|
426
|
+
@"Successfully created Scene Delegate Proxy automatically. To disable the "
|
|
427
|
+
@"proxy, set the flag %@ to NO (Boolean) in the Info.plist",
|
|
428
|
+
[GULSceneDelegateSwizzler correctSceneDelegateProxyKey]);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
+ (NSString *)correctSceneDelegateProxyKey {
|
|
433
|
+
return NSClassFromString(@"FIRCore") ? kGULFirebaseSceneDelegateProxyEnabledPlistKey
|
|
434
|
+
: kGULGoogleUtilitiesSceneDelegateProxyEnabledPlistKey;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
#endif // UISCENE_SUPPORTED
|
|
438
|
+
|
|
439
|
+
@end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2018 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
#import "GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h"
|
|
19
|
+
#import "GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h"
|
|
20
|
+
|
|
21
|
+
@class GULApplication;
|
|
22
|
+
|
|
23
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
24
|
+
|
|
25
|
+
@interface GULAppDelegateSwizzler ()
|
|
26
|
+
|
|
27
|
+
/** ISA Swizzles the given appDelegate as the original app delegate would be.
|
|
28
|
+
*
|
|
29
|
+
* @param appDelegate The object that needs to be isa swizzled. This should conform to the
|
|
30
|
+
* application delegate protocol.
|
|
31
|
+
*/
|
|
32
|
+
+ (void)proxyAppDelegate:(id<GULApplicationDelegate>)appDelegate;
|
|
33
|
+
|
|
34
|
+
/** Returns a dictionary containing interceptor IDs mapped to a GULZeroingWeakContainer.
|
|
35
|
+
*
|
|
36
|
+
* @return A dictionary of the form {NSString : GULZeroingWeakContainer}, where the NSString is
|
|
37
|
+
* the interceptorID.
|
|
38
|
+
*/
|
|
39
|
+
+ (GULMutableDictionary *)interceptors;
|
|
40
|
+
|
|
41
|
+
/** Deletes all the registered interceptors. */
|
|
42
|
+
+ (void)clearInterceptors;
|
|
43
|
+
|
|
44
|
+
/** Resets the token that prevents the app delegate proxy from being isa swizzled multiple times. */
|
|
45
|
+
+ (void)resetProxyOriginalDelegateOnceToken;
|
|
46
|
+
|
|
47
|
+
/** Returns the original app delegate that was proxied.
|
|
48
|
+
*
|
|
49
|
+
* @return The original app delegate instance that was proxied.
|
|
50
|
+
*/
|
|
51
|
+
+ (id<GULApplicationDelegate>)originalDelegate;
|
|
52
|
+
|
|
53
|
+
@end
|
|
54
|
+
|
|
55
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2019 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
#import "GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h"
|
|
19
|
+
#import "GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h"
|
|
20
|
+
|
|
21
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
22
|
+
|
|
23
|
+
@interface GULSceneDelegateSwizzler ()
|
|
24
|
+
|
|
25
|
+
#if UISCENE_SUPPORTED
|
|
26
|
+
|
|
27
|
+
/** Returns a dictionary containing interceptor IDs mapped to a GULZeroingWeakContainer.
|
|
28
|
+
*
|
|
29
|
+
* @return A dictionary of the form {NSString : GULZeroingWeakContainer}, where the NSString is
|
|
30
|
+
* the interceptorID.
|
|
31
|
+
*/
|
|
32
|
+
+ (GULMutableDictionary *)interceptors;
|
|
33
|
+
|
|
34
|
+
/** Deletes all the registered interceptors. */
|
|
35
|
+
+ (void)clearInterceptors;
|
|
36
|
+
|
|
37
|
+
/** ISA Swizzles the given appDelegate as the original app delegate would be.
|
|
38
|
+
*
|
|
39
|
+
* @param scene The scene whose delegate needs to be isa swizzled. This should conform to the
|
|
40
|
+
* scene delegate protocol.
|
|
41
|
+
*/
|
|
42
|
+
+ (void)proxySceneDelegateIfNeeded:(UIScene *)scene API_AVAILABLE(ios(13.0), tvos(13.0));
|
|
43
|
+
|
|
44
|
+
#endif // UISCENE_SUPPORTED
|
|
45
|
+
|
|
46
|
+
@end
|
|
47
|
+
|
|
48
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2018 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
|
|
19
|
+
#import "GULApplication.h"
|
|
20
|
+
|
|
21
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
22
|
+
|
|
23
|
+
typedef NSString *const GULAppDelegateInterceptorID;
|
|
24
|
+
|
|
25
|
+
/** This class contains methods that isa swizzle the app delegate. */
|
|
26
|
+
@interface GULAppDelegateSwizzler : NSProxy
|
|
27
|
+
|
|
28
|
+
/** Registers an app delegate interceptor whose methods will be invoked as they're invoked on the
|
|
29
|
+
* original app delegate.
|
|
30
|
+
*
|
|
31
|
+
* @param interceptor An instance of a class that conforms to the application delegate protocol.
|
|
32
|
+
* The interceptor is NOT retained.
|
|
33
|
+
* @return A unique GULAppDelegateInterceptorID if interceptor was successfully registered; nil
|
|
34
|
+
* if it fails.
|
|
35
|
+
*/
|
|
36
|
+
+ (nullable GULAppDelegateInterceptorID)registerAppDelegateInterceptor:
|
|
37
|
+
(id<GULApplicationDelegate>)interceptor;
|
|
38
|
+
|
|
39
|
+
/** Unregisters an interceptor with the given ID if it exists.
|
|
40
|
+
*
|
|
41
|
+
* @param interceptorID The object that was generated when the interceptor was registered.
|
|
42
|
+
*/
|
|
43
|
+
+ (void)unregisterAppDelegateInterceptorWithID:(GULAppDelegateInterceptorID)interceptorID;
|
|
44
|
+
|
|
45
|
+
/** This method ensures that the original app delegate has been proxied. Call this before
|
|
46
|
+
* registering your interceptor. This method is safe to call multiple times (but it only proxies
|
|
47
|
+
* the app delegate once).
|
|
48
|
+
*
|
|
49
|
+
* This method doesn't proxy APNS related methods:
|
|
50
|
+
* @code
|
|
51
|
+
* - application:didRegisterForRemoteNotificationsWithDeviceToken:
|
|
52
|
+
* - application:didFailToRegisterForRemoteNotificationsWithError:
|
|
53
|
+
* - application:didReceiveRemoteNotification:fetchCompletionHandler:
|
|
54
|
+
* - application:didReceiveRemoteNotification:
|
|
55
|
+
* @endcode
|
|
56
|
+
*
|
|
57
|
+
* To proxy these methods use +[GULAppDelegateSwizzler
|
|
58
|
+
* proxyOriginalDelegateIncludingAPNSMethods]. The methods have to be proxied separately to
|
|
59
|
+
* avoid potential warnings from Apple review about missing Push Notification Entitlement (e.g.
|
|
60
|
+
* https://github.com/firebase/firebase-ios-sdk/issues/2807)
|
|
61
|
+
*
|
|
62
|
+
* The method has no effect for extensions.
|
|
63
|
+
*
|
|
64
|
+
* @see proxyOriginalDelegateIncludingAPNSMethods
|
|
65
|
+
*/
|
|
66
|
+
+ (void)proxyOriginalDelegate;
|
|
67
|
+
|
|
68
|
+
/** This method ensures that the original app delegate has been proxied including APNS related
|
|
69
|
+
* methods. Call this before registering your interceptor. This method is safe to call multiple
|
|
70
|
+
* times (but it only proxies the app delegate once) or
|
|
71
|
+
* after +[GULAppDelegateSwizzler proxyOriginalDelegate]
|
|
72
|
+
*
|
|
73
|
+
* This method calls +[GULAppDelegateSwizzler proxyOriginalDelegate] under the hood.
|
|
74
|
+
* After calling this method the following App Delegate methods will be proxied in addition to
|
|
75
|
+
* the methods proxied by proxyOriginalDelegate:
|
|
76
|
+
* @code
|
|
77
|
+
* - application:didRegisterForRemoteNotificationsWithDeviceToken:
|
|
78
|
+
* - application:didFailToRegisterForRemoteNotificationsWithError:
|
|
79
|
+
* - application:didReceiveRemoteNotification:fetchCompletionHandler:
|
|
80
|
+
* - application:didReceiveRemoteNotification:
|
|
81
|
+
* @endcode
|
|
82
|
+
*
|
|
83
|
+
* The method has no effect for extensions.
|
|
84
|
+
*
|
|
85
|
+
* @see proxyOriginalDelegate
|
|
86
|
+
*/
|
|
87
|
+
+ (void)proxyOriginalDelegateIncludingAPNSMethods;
|
|
88
|
+
|
|
89
|
+
/** Indicates whether app delegate proxy is explicitly disabled or enabled. Enabled by default.
|
|
90
|
+
*
|
|
91
|
+
* @return YES if AppDelegateProxy is Enabled, NO otherwise.
|
|
92
|
+
*/
|
|
93
|
+
+ (BOOL)isAppDelegateProxyEnabled;
|
|
94
|
+
|
|
95
|
+
/** Returns the current sharedApplication.
|
|
96
|
+
*
|
|
97
|
+
* @return the current application instance if in an app, or nil if in extension or if it doesn't
|
|
98
|
+
* exist.
|
|
99
|
+
*/
|
|
100
|
+
+ (nullable GULApplication *)sharedApplication;
|
|
101
|
+
|
|
102
|
+
/** Do not initialize this class. */
|
|
103
|
+
- (instancetype)init NS_UNAVAILABLE;
|
|
104
|
+
|
|
105
|
+
NS_ASSUME_NONNULL_END
|
|
106
|
+
|
|
107
|
+
@end
|