cocoapods-catalyst-validator 0.1.0.beta.1 → 0.1.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (513) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cocoapods-catalyst-validator/gem_version.rb +1 -1
  3. metadata +2 -514
  4. data/.gitignore +0 -3
  5. data/Gemfile +0 -5
  6. data/Gemfile.lock +0 -107
  7. data/LICENSE.txt +0 -22
  8. data/README.md +0 -18
  9. data/Rakefile +0 -13
  10. data/cocoapods-catalyst-validator.gemspec +0 -23
  11. data/examples/AExample/AExample/AExample.entitlements +0 -10
  12. data/examples/AExample/AExample/AppDelegate.h +0 -14
  13. data/examples/AExample/AExample/AppDelegate.m +0 -40
  14. data/examples/AExample/AExample/Assets.xcassets/AccentColor.colorset/Contents.json +0 -11
  15. data/examples/AExample/AExample/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
  16. data/examples/AExample/AExample/Assets.xcassets/Contents.json +0 -6
  17. data/examples/AExample/AExample/Base.lproj/LaunchScreen.storyboard +0 -25
  18. data/examples/AExample/AExample/Base.lproj/Main.storyboard +0 -24
  19. data/examples/AExample/AExample/Info.plist +0 -25
  20. data/examples/AExample/AExample/SceneDelegate.h +0 -15
  21. data/examples/AExample/AExample/SceneDelegate.m +0 -57
  22. data/examples/AExample/AExample/ViewController.h +0 -14
  23. data/examples/AExample/AExample/ViewController.m +0 -22
  24. data/examples/AExample/AExample/main.m +0 -18
  25. data/examples/AExample/AExample.xcodeproj/project.pbxproj +0 -664
  26. data/examples/AExample/AExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  27. data/examples/AExample/AExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  28. data/examples/AExample/AExample.xcodeproj/project.xcworkspace/xcuserdata/xuzhongping.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  29. data/examples/AExample/AExample.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
  30. data/examples/AExample/AExample.xcworkspace/contents.xcworkspacedata +0 -10
  31. data/examples/AExample/AExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  32. data/examples/AExample/AExample.xcworkspace/xcuserdata/xuzhongping.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  33. data/examples/AExample/AExampleCP/AppDelegate.h +0 -14
  34. data/examples/AExample/AExampleCP/AppDelegate.m +0 -40
  35. data/examples/AExample/AExampleCP/Assets.xcassets/AccentColor.colorset/Contents.json +0 -11
  36. data/examples/AExample/AExampleCP/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
  37. data/examples/AExample/AExampleCP/Assets.xcassets/Contents.json +0 -6
  38. data/examples/AExample/AExampleCP/Base.lproj/LaunchScreen.storyboard +0 -25
  39. data/examples/AExample/AExampleCP/Base.lproj/Main.storyboard +0 -24
  40. data/examples/AExample/AExampleCP/Info.plist +0 -25
  41. data/examples/AExample/AExampleCP/SceneDelegate.h +0 -15
  42. data/examples/AExample/AExampleCP/SceneDelegate.m +0 -57
  43. data/examples/AExample/AExampleCP/ViewController.h +0 -14
  44. data/examples/AExample/AExampleCP/ViewController.m +0 -22
  45. data/examples/AExample/AExampleCP/main.m +0 -18
  46. data/examples/AExample/Podfile +0 -24
  47. data/examples/AExample/Podfile.lock +0 -112
  48. data/examples/AExample/Pods/Bugly/Bugly.framework/Bugly +0 -0
  49. data/examples/AExample/Pods/Bugly/Bugly.framework/Headers/Bugly.h +0 -163
  50. data/examples/AExample/Pods/Bugly/Bugly.framework/Headers/BuglyConfig.h +0 -149
  51. data/examples/AExample/Pods/Bugly/Bugly.framework/Headers/BuglyLog.h +0 -78
  52. data/examples/AExample/Pods/Bugly/Bugly.framework/Modules/module.modulemap +0 -12
  53. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/Info.plist +0 -97
  54. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  55. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +0 -62
  56. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +0 -33
  57. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +0 -142
  58. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIREventNames.h +0 -495
  59. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +0 -731
  60. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +0 -29
  61. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +0 -6
  62. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Info.plist +0 -20
  63. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_armv7/FirebaseAnalytics.framework/Modules/module.modulemap +0 -13
  64. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  65. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +0 -62
  66. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +0 -33
  67. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +0 -142
  68. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h +0 -495
  69. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +0 -731
  70. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +0 -29
  71. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +0 -6
  72. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Info.plist +0 -20
  73. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_i386_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap +0 -13
  74. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  75. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +0 -62
  76. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +0 -33
  77. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +0 -142
  78. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIREventNames.h +0 -495
  79. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +0 -731
  80. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +0 -29
  81. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +0 -6
  82. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Info.plist +0 -20
  83. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/ios-arm64_x86_64-maccatalyst/FirebaseAnalytics.framework/Modules/module.modulemap +0 -13
  84. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  85. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +0 -62
  86. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +0 -33
  87. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +0 -142
  88. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIREventNames.h +0 -495
  89. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +0 -731
  90. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +0 -29
  91. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +0 -6
  92. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Info.plist +0 -20
  93. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/macos-arm64_x86_64/FirebaseAnalytics.framework/Modules/module.modulemap +0 -13
  94. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  95. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +0 -62
  96. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +0 -33
  97. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +0 -142
  98. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIREventNames.h +0 -495
  99. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +0 -731
  100. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +0 -29
  101. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +0 -6
  102. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Info.plist +0 -20
  103. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64/FirebaseAnalytics.framework/Modules/module.modulemap +0 -12
  104. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/FirebaseAnalytics +0 -0
  105. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h +0 -62
  106. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics+Consent.h +0 -33
  107. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRAnalytics.h +0 -142
  108. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIREventNames.h +0 -495
  109. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRParameterNames.h +0 -731
  110. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h +0 -29
  111. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h +0 -6
  112. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Info.plist +0 -20
  113. data/examples/AExample/Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.xcframework/tvos-arm64_x86_64-simulator/FirebaseAnalytics.framework/Modules/module.modulemap +0 -12
  114. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAnalyticsConfiguration.h +0 -56
  115. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAnalyticsConfiguration.m +0 -62
  116. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRApp.m +0 -856
  117. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAppAssociationRegistration.h +0 -49
  118. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRAppAssociationRegistration.m +0 -47
  119. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRBundleUtil.h +0 -53
  120. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRBundleUtil.m +0 -79
  121. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponent.m +0 -65
  122. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainer.m +0 -214
  123. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainerInternal.h +0 -49
  124. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentType.m +0 -28
  125. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRConfiguration.m +0 -46
  126. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRConfigurationInternal.h +0 -29
  127. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRCoreDiagnosticsConnector.m +0 -61
  128. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRDependency.m +0 -44
  129. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRDiagnosticsData.h +0 -35
  130. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRDiagnosticsData.m +0 -66
  131. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRFirebaseUserAgent.h +0 -36
  132. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRFirebaseUserAgent.m +0 -107
  133. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRHeartbeatInfo.m +0 -72
  134. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRLogger.m +0 -174
  135. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIROptions.m +0 -498
  136. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/FIRVersion.m +0 -32
  137. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRAppInternal.h +0 -153
  138. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRComponent.h +0 -91
  139. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRComponentContainer.h +0 -41
  140. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRComponentType.h +0 -34
  141. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRCoreDiagnosticsConnector.h +0 -35
  142. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRDependency.h +0 -45
  143. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRHeartbeatInfo.h +0 -39
  144. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRLibrary.h +0 -44
  145. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIRLogger.h +0 -146
  146. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FIROptionsInternal.h +0 -115
  147. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Private/FirebaseCoreInternal.h +0 -28
  148. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRApp.h +0 -127
  149. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h +0 -45
  150. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h +0 -38
  151. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h +0 -126
  152. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h +0 -25
  153. data/examples/AExample/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FirebaseCore.h +0 -21
  154. data/examples/AExample/Pods/FirebaseCore/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h +0 -61
  155. data/examples/AExample/Pods/FirebaseCore/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h +0 -34
  156. data/examples/AExample/Pods/FirebaseCore/LICENSE +0 -202
  157. data/examples/AExample/Pods/FirebaseCore/README.md +0 -319
  158. data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/FIRCoreDiagnostics.m +0 -551
  159. data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/Protogen/nanopb/firebasecore.nanopb.c +0 -60
  160. data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/Protogen/nanopb/firebasecore.nanopb.h +0 -193
  161. data/examples/AExample/Pods/FirebaseCoreDiagnostics/Firebase/CoreDiagnostics/FIRCDLibrary/Public/FIRCoreDiagnostics.h +0 -18
  162. data/examples/AExample/Pods/FirebaseCoreDiagnostics/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsData.h +0 -61
  163. data/examples/AExample/Pods/FirebaseCoreDiagnostics/Interop/CoreDiagnostics/Public/FIRCoreDiagnosticsInterop.h +0 -34
  164. data/examples/AExample/Pods/FirebaseCoreDiagnostics/LICENSE +0 -202
  165. data/examples/AExample/Pods/FirebaseCoreDiagnostics/README.md +0 -319
  166. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRAppInternal.h +0 -153
  167. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRComponent.h +0 -91
  168. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRComponentContainer.h +0 -41
  169. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRComponentType.h +0 -34
  170. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRCoreDiagnosticsConnector.h +0 -35
  171. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRDependency.h +0 -45
  172. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRHeartbeatInfo.h +0 -39
  173. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRLibrary.h +0 -44
  174. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIRLogger.h +0 -146
  175. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FIROptionsInternal.h +0 -115
  176. data/examples/AExample/Pods/FirebaseInstallations/FirebaseCore/Sources/Private/FirebaseCoreInternal.h +0 -28
  177. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.h +0 -65
  178. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.m +0 -145
  179. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h +0 -53
  180. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.m +0 -79
  181. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallations.m +0 -282
  182. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResult.m +0 -30
  183. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResultInternal.h +0 -27
  184. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsItem.h +0 -93
  185. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsItem.m +0 -161
  186. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsLogger.h +0 -52
  187. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/FIRInstallationsLogger.m +0 -50
  188. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.h +0 -48
  189. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.m +0 -242
  190. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.h +0 -36
  191. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.m +0 -158
  192. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.h +0 -62
  193. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.m +0 -380
  194. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.h +0 -53
  195. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.m +0 -142
  196. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.h +0 -27
  197. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.m +0 -23
  198. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.h +0 -54
  199. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.m +0 -132
  200. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.h +0 -44
  201. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.m +0 -531
  202. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h +0 -58
  203. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.m +0 -75
  204. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsStatus.h +0 -35
  205. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.h +0 -71
  206. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.m +0 -126
  207. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.h +0 -58
  208. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.m +0 -77
  209. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.h +0 -51
  210. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.m +0 -80
  211. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Private/FirebaseInstallationsInternal.h +0 -19
  212. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallations.h +0 -127
  213. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsAuthTokenResult.h +0 -33
  214. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsErrors.h +0 -34
  215. data/examples/AExample/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FirebaseInstallations.h +0 -19
  216. data/examples/AExample/Pods/FirebaseInstallations/LICENSE +0 -202
  217. data/examples/AExample/Pods/FirebaseInstallations/README.md +0 -319
  218. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/Info.plist +0 -97
  219. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
  220. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Info.plist +0 -20
  221. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_armv7/GoogleAppMeasurement.framework/Modules/module.modulemap +0 -10
  222. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
  223. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist +0 -20
  224. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurement.framework/Modules/module.modulemap +0 -10
  225. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
  226. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Info.plist +0 -20
  227. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurement.framework/Modules/module.modulemap +0 -10
  228. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
  229. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Info.plist +0 -20
  230. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/macos-arm64_x86_64/GoogleAppMeasurement.framework/Modules/module.modulemap +0 -10
  231. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
  232. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Info.plist +0 -20
  233. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64/GoogleAppMeasurement.framework/Modules/module.modulemap +0 -10
  234. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/GoogleAppMeasurement +0 -0
  235. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Info.plist +0 -20
  236. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurement.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurement.framework/Modules/module.modulemap +0 -10
  237. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/Info.plist +0 -97
  238. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
  239. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Info.plist +0 -20
  240. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_armv7/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +0 -5
  241. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
  242. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist +0 -20
  243. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_i386_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +0 -5
  244. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
  245. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Info.plist +0 -20
  246. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/ios-arm64_x86_64-maccatalyst/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +0 -5
  247. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
  248. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Info.plist +0 -20
  249. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/macos-arm64_x86_64/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +0 -5
  250. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
  251. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Info.plist +0 -20
  252. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +0 -5
  253. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/GoogleAppMeasurementIdentitySupport +0 -0
  254. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Info.plist +0 -20
  255. data/examples/AExample/Pods/GoogleAppMeasurement/Frameworks/GoogleAppMeasurementIdentitySupport.xcframework/tvos-arm64_x86_64-simulator/GoogleAppMeasurementIdentitySupport.framework/Modules/module.modulemap +0 -5
  256. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTCompressionHelper.m +0 -95
  257. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m +0 -270
  258. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTUploadOperation.m +0 -573
  259. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCCTUploader.m +0 -210
  260. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/GDTCOREvent+GDTCCTSupport.m +0 -240
  261. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTCompressionHelper.h +0 -40
  262. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h +0 -128
  263. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploadOperation.h +0 -76
  264. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploader.h +0 -45
  265. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.c +0 -128
  266. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h +0 -281
  267. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCCTLibrary/Public/GDTCOREvent+GDTCCTSupport.h +0 -51
  268. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORAssert.m +0 -36
  269. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORClock.m +0 -178
  270. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORConsoleLogger.m +0 -55
  271. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORDirectorySizeTracker.m +0 -101
  272. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCOREndpoints.m +0 -92
  273. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCOREvent.m +0 -153
  274. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORFlatFileStorage+Promises.m +0 -104
  275. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORFlatFileStorage.m +0 -826
  276. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORLifecycle.m +0 -119
  277. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m +0 -604
  278. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORReachability.m +0 -125
  279. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORRegistrar.m +0 -157
  280. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorageEventSelector.m +0 -39
  281. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORTransformer.m +0 -111
  282. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORTransport.m +0 -92
  283. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORUploadBatch.m +0 -30
  284. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORUploadCoordinator.m +0 -176
  285. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORAssert.h +0 -95
  286. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORDirectorySizeTracker.h +0 -66
  287. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORLifecycle.h +0 -63
  288. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORPlatform.h +0 -225
  289. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORReachability.h +0 -31
  290. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORRegistrar.h +0 -50
  291. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageEventSelector.h +0 -61
  292. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageProtocol.h +0 -171
  293. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Internal/GDTCORUploader.h +0 -59
  294. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCOREndpoints_Private.h +0 -27
  295. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCOREvent_Private.h +0 -33
  296. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORFlatFileStorage+Promises.h +0 -28
  297. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORFlatFileStorage.h +0 -158
  298. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORReachability_Private.h +0 -30
  299. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORRegistrar_Private.h +0 -35
  300. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransformer.h +0 -57
  301. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransformer_Private.h +0 -37
  302. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransport_Private.h +0 -39
  303. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadBatch.h +0 -37
  304. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadCoordinator.h +0 -68
  305. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORClock.h +0 -66
  306. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORConsoleLogger.h +0 -144
  307. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREndpoints.h +0 -36
  308. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREvent.h +0 -87
  309. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREventDataObject.h +0 -36
  310. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREventTransformer.h +0 -38
  311. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORTargets.h +0 -40
  312. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORTransport.h +0 -92
  313. data/examples/AExample/Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GoogleDataTransport.h +0 -24
  314. data/examples/AExample/Pods/GoogleDataTransport/LICENSE +0 -202
  315. data/examples/AExample/Pods/GoogleDataTransport/README.md +0 -231
  316. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m +0 -1070
  317. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/GULSceneDelegateSwizzler.m +0 -439
  318. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Internal/GULAppDelegateSwizzler_Private.h +0 -55
  319. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h +0 -48
  320. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h +0 -107
  321. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULApplication.h +0 -50
  322. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h +0 -76
  323. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Common/GULLoggerCodes.h +0 -56
  324. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/GULHeartbeatDateStorage.m +0 -153
  325. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/GULHeartbeatDateStorageUserDefaults.m +0 -68
  326. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/GULSecureCoding.m +0 -103
  327. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h +0 -60
  328. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorable.h +0 -40
  329. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorage.h +0 -54
  330. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorageUserDefaults.h +0 -51
  331. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainStorage.h +0 -79
  332. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainUtils.h +0 -61
  333. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULSecureCoding.h +0 -36
  334. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/GULURLSessionDataResponse.h +0 -31
  335. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/Public/GoogleUtilities/NSURLSession+GULPromises.h +0 -37
  336. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m +0 -192
  337. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/SecureStorage/GULKeychainUtils.m +0 -113
  338. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/URLSessionPromiseWrapper/GULURLSessionDataResponse.m +0 -30
  339. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/URLSessionPromiseWrapper/NSURLSession+GULPromises.m +0 -46
  340. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Environment/third_party/GULAppEnvironmentUtil.m +0 -333
  341. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Logger/GULLogger.m +0 -215
  342. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h +0 -159
  343. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Logger/Public/GoogleUtilities/GULLoggerLevel.h +0 -37
  344. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/MethodSwizzler/GULSwizzler.m +0 -153
  345. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULOriginalIMPConvenienceMacros.h +0 -207
  346. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULSwizzler.h +0 -71
  347. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/NSData+zlib/GULNSData+zlib.m +0 -207
  348. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/NSData+zlib/Public/GoogleUtilities/GULNSData+zlib.h +0 -49
  349. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULMutableDictionary.m +0 -101
  350. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetwork.m +0 -390
  351. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetworkConstants.m +0 -41
  352. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetworkInternal.h +0 -24
  353. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/GULNetworkURLSession.m +0 -766
  354. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h +0 -46
  355. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetwork.h +0 -87
  356. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkConstants.h +0 -71
  357. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkLoggerProtocol.h +0 -49
  358. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkMessageCode.h +0 -47
  359. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkURLSession.h +0 -62
  360. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/GULReachabilityChecker+Internal.h +0 -48
  361. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/GULReachabilityChecker.m +0 -263
  362. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/GULReachabilityMessageCode.h +0 -29
  363. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/Reachability/Public/GoogleUtilities/GULReachabilityChecker.h +0 -79
  364. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/UserDefaults/GULUserDefaults.m +0 -213
  365. data/examples/AExample/Pods/GoogleUtilities/GoogleUtilities/UserDefaults/Public/GoogleUtilities/GULUserDefaults.h +0 -110
  366. data/examples/AExample/Pods/GoogleUtilities/LICENSE +0 -247
  367. data/examples/AExample/Pods/GoogleUtilities/README.md +0 -189
  368. data/examples/AExample/Pods/Manifest.lock +0 -112
  369. data/examples/AExample/Pods/Pods.xcodeproj/project.pbxproj +0 -3670
  370. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseAnalytics.xcscheme +0 -58
  371. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseCore.xcscheme +0 -58
  372. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseCoreDiagnostics.xcscheme +0 -58
  373. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/FirebaseInstallations.xcscheme +0 -58
  374. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/GoogleAppMeasurement.xcscheme +0 -58
  375. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/GoogleDataTransport.xcscheme +0 -58
  376. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/GoogleUtilities.xcscheme +0 -58
  377. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/Pods-AExample-AExampleCP.xcscheme +0 -58
  378. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/Pods-AExample.xcscheme +0 -58
  379. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/PromisesObjC.xcscheme +0 -58
  380. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/nanopb.xcscheme +0 -58
  381. data/examples/AExample/Pods/Pods.xcodeproj/xcuserdata/xuzhongping.xcuserdatad/xcschemes/xcschememanagement.plist +0 -66
  382. data/examples/AExample/Pods/PromisesObjC/LICENSE +0 -202
  383. data/examples/AExample/Pods/PromisesObjC/README.md +0 -60
  384. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+All.m +0 -86
  385. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Always.m +0 -58
  386. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Any.m +0 -112
  387. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Async.m +0 -70
  388. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Await.m +0 -48
  389. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Catch.m +0 -55
  390. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Delay.m +0 -59
  391. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Do.m +0 -59
  392. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Race.m +0 -65
  393. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Recover.m +0 -54
  394. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Reduce.m +0 -61
  395. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Retry.m +0 -128
  396. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Testing.m +0 -55
  397. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Then.m +0 -50
  398. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Timeout.m +0 -64
  399. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Validate.m +0 -56
  400. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise+Wrap.m +0 -420
  401. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromise.m +0 -299
  402. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/FBLPromiseError.m +0 -19
  403. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+All.h +0 -63
  404. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Always.h +0 -54
  405. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Any.h +0 -69
  406. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Async.h +0 -60
  407. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Await.h +0 -32
  408. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Catch.h +0 -59
  409. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Delay.h +0 -59
  410. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Do.h +0 -55
  411. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Race.h +0 -62
  412. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Recover.h +0 -60
  413. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Reduce.h +0 -71
  414. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Retry.h +0 -165
  415. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Testing.h +0 -57
  416. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Then.h +0 -63
  417. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Timeout.h +0 -57
  418. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Validate.h +0 -60
  419. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise+Wrap.h +0 -316
  420. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromise.h +0 -93
  421. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromiseError.h +0 -43
  422. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromisePrivate.h +0 -66
  423. data/examples/AExample/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromises.h +0 -32
  424. data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks-input-files.xcfilelist +0 -2
  425. data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks-output-files.xcfilelist +0 -1
  426. data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks.sh +0 -109
  427. data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics.debug.xcconfig +0 -13
  428. data/examples/AExample/Pods/Target Support Files/FirebaseAnalytics/FirebaseAnalytics.release.xcconfig +0 -13
  429. data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore-Info.plist +0 -26
  430. data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore-dummy.m +0 -5
  431. data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore-umbrella.h +0 -22
  432. data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore.debug.xcconfig +0 -16
  433. data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore.modulemap +0 -6
  434. data/examples/AExample/Pods/Target Support Files/FirebaseCore/FirebaseCore.release.xcconfig +0 -16
  435. data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics-Info.plist +0 -26
  436. data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics-dummy.m +0 -5
  437. data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics-umbrella.h +0 -17
  438. data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.debug.xcconfig +0 -17
  439. data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.modulemap +0 -6
  440. data/examples/AExample/Pods/Target Support Files/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.release.xcconfig +0 -17
  441. data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist +0 -26
  442. data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-dummy.m +0 -5
  443. data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations-umbrella.h +0 -20
  444. data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations.debug.xcconfig +0 -15
  445. data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap +0 -6
  446. data/examples/AExample/Pods/Target Support Files/FirebaseInstallations/FirebaseInstallations.release.xcconfig +0 -15
  447. data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-input-files.xcfilelist +0 -3
  448. data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-output-files.xcfilelist +0 -2
  449. data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks.sh +0 -110
  450. data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement.debug.xcconfig +0 -13
  451. data/examples/AExample/Pods/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement.release.xcconfig +0 -13
  452. data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist +0 -26
  453. data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport-dummy.m +0 -5
  454. data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport-umbrella.h +0 -25
  455. data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport.debug.xcconfig +0 -16
  456. data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap +0 -6
  457. data/examples/AExample/Pods/Target Support Files/GoogleDataTransport/GoogleDataTransport.release.xcconfig +0 -16
  458. data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist +0 -26
  459. data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities-dummy.m +0 -5
  460. data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities-umbrella.h +0 -41
  461. data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities.debug.xcconfig +0 -15
  462. data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities.modulemap +0 -6
  463. data/examples/AExample/Pods/Target Support Files/GoogleUtilities/GoogleUtilities.release.xcconfig +0 -15
  464. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-Info.plist +0 -26
  465. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-acknowledgements.markdown +0 -1316
  466. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-acknowledgements.plist +0 -1396
  467. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-dummy.m +0 -5
  468. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Debug-input-files.xcfilelist +0 -8
  469. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Debug-output-files.xcfilelist +0 -7
  470. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Release-input-files.xcfilelist +0 -8
  471. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks-Release-output-files.xcfilelist +0 -7
  472. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-frameworks.sh +0 -198
  473. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample-umbrella.h +0 -16
  474. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample.debug.xcconfig +0 -12
  475. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample.modulemap +0 -6
  476. data/examples/AExample/Pods/Target Support Files/Pods-AExample/Pods-AExample.release.xcconfig +0 -12
  477. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-Info.plist +0 -26
  478. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-acknowledgements.markdown +0 -1316
  479. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-acknowledgements.plist +0 -1396
  480. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-dummy.m +0 -5
  481. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Debug-input-files.xcfilelist +0 -8
  482. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Debug-output-files.xcfilelist +0 -7
  483. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Release-input-files.xcfilelist +0 -8
  484. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks-Release-output-files.xcfilelist +0 -7
  485. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-frameworks.sh +0 -198
  486. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP-umbrella.h +0 -16
  487. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP.debug.xcconfig +0 -12
  488. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP.modulemap +0 -6
  489. data/examples/AExample/Pods/Target Support Files/Pods-AExample-AExampleCP/Pods-AExample-AExampleCP.release.xcconfig +0 -12
  490. data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC-Info.plist +0 -26
  491. data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC-dummy.m +0 -5
  492. data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC-umbrella.h +0 -36
  493. data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC.debug.xcconfig +0 -12
  494. data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC.modulemap +0 -6
  495. data/examples/AExample/Pods/Target Support Files/PromisesObjC/PromisesObjC.release.xcconfig +0 -12
  496. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-Info.plist +0 -26
  497. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-dummy.m +0 -5
  498. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-prefix.pch +0 -12
  499. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb-umbrella.h +0 -26
  500. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb.debug.xcconfig +0 -11
  501. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb.modulemap +0 -6
  502. data/examples/AExample/Pods/Target Support Files/nanopb/nanopb.release.xcconfig +0 -11
  503. data/examples/AExample/Pods/nanopb/LICENSE.txt +0 -20
  504. data/examples/AExample/Pods/nanopb/README.md +0 -71
  505. data/examples/AExample/Pods/nanopb/pb.h +0 -599
  506. data/examples/AExample/Pods/nanopb/pb_common.c +0 -97
  507. data/examples/AExample/Pods/nanopb/pb_common.h +0 -42
  508. data/examples/AExample/Pods/nanopb/pb_decode.c +0 -1564
  509. data/examples/AExample/Pods/nanopb/pb_decode.h +0 -178
  510. data/examples/AExample/Pods/nanopb/pb_encode.c +0 -913
  511. data/examples/AExample/Pods/nanopb/pb_encode.h +0 -170
  512. data/spec/command/validator_spec.rb +0 -12
  513. data/spec/spec_helper.rb +0 -50
@@ -1,573 +0,0 @@
1
- /*
2
- * Copyright 2020 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 "GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploadOperation.h"
18
-
19
- #if __has_include(<FBLPromises/FBLPromises.h>)
20
- #import <FBLPromises/FBLPromises.h>
21
- #else
22
- #import "FBLPromises.h"
23
- #endif
24
-
25
- #import "GoogleDataTransport/GDTCORLibrary/Internal/GDTCORPlatform.h"
26
- #import "GoogleDataTransport/GDTCORLibrary/Internal/GDTCORRegistrar.h"
27
- #import "GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageProtocol.h"
28
- #import "GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadBatch.h"
29
- #import "GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORConsoleLogger.h"
30
- #import "GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREvent.h"
31
-
32
- #import <nanopb/pb.h>
33
- #import <nanopb/pb_decode.h>
34
- #import <nanopb/pb_encode.h>
35
-
36
- #import <GoogleUtilities/GULURLSessionDataResponse.h>
37
- #import <GoogleUtilities/NSURLSession+GULPromises.h>
38
- #import "GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTCompressionHelper.h"
39
- #import "GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h"
40
-
41
- #import "GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h"
42
-
43
- NS_ASSUME_NONNULL_BEGIN
44
-
45
- #ifdef GDTCOR_VERSION
46
- #define STR(x) STR_EXPAND(x)
47
- #define STR_EXPAND(x) #x
48
- static NSString *const kGDTCCTSupportSDKVersion = @STR(GDTCOR_VERSION);
49
- #else
50
- static NSString *const kGDTCCTSupportSDKVersion = @"UNKNOWN";
51
- #endif // GDTCOR_VERSION
52
-
53
- typedef void (^GDTCCTUploaderURLTaskCompletion)(NSNumber *batchID,
54
- NSSet<GDTCOREvent *> *_Nullable events,
55
- NSData *_Nullable data,
56
- NSURLResponse *_Nullable response,
57
- NSError *_Nullable error);
58
-
59
- typedef void (^GDTCCTUploaderEventBatchBlock)(NSNumber *_Nullable batchID,
60
- NSSet<GDTCOREvent *> *_Nullable events);
61
-
62
- @interface GDTCCTUploadOperation () <NSURLSessionDelegate>
63
-
64
- /// The properties to store parameters passed in the initializer. See the initialized docs for
65
- /// details.
66
- @property(nonatomic, readonly) GDTCORTarget target;
67
- @property(nonatomic, readonly) GDTCORUploadConditions conditions;
68
- @property(nonatomic, readonly) NSURL *uploadURL;
69
- @property(nonatomic, readonly) id<GDTCORStoragePromiseProtocol> storage;
70
- @property(nonatomic, readonly) id<GDTCCTUploadMetadataProvider> metadataProvider;
71
-
72
- /** The URL session that will attempt upload. */
73
- @property(nonatomic) NSURLSession *uploaderSession;
74
-
75
- /// NSOperation state properties implementation.
76
- @property(nonatomic, readwrite, getter=isExecuting) BOOL executing;
77
- @property(nonatomic, readwrite, getter=isFinished) BOOL finished;
78
-
79
- @property(nonatomic, readwrite) BOOL uploadAttempted;
80
-
81
- @end
82
-
83
- @implementation GDTCCTUploadOperation
84
-
85
- - (instancetype)initWithTarget:(GDTCORTarget)target
86
- conditions:(GDTCORUploadConditions)conditions
87
- uploadURL:(NSURL *)uploadURL
88
- queue:(dispatch_queue_t)queue
89
- storage:(id<GDTCORStoragePromiseProtocol>)storage
90
- metadataProvider:(id<GDTCCTUploadMetadataProvider>)metadataProvider {
91
- self = [super init];
92
- if (self) {
93
- _uploaderQueue = queue;
94
- _target = target;
95
- _conditions = conditions;
96
- _uploadURL = uploadURL;
97
- _storage = storage;
98
- _metadataProvider = metadataProvider;
99
- }
100
- return self;
101
- }
102
-
103
- - (NSURLSession *)uploaderSessionCreateIfNeeded {
104
- if (_uploaderSession == nil) {
105
- NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
106
- _uploaderSession = [NSURLSession sessionWithConfiguration:config
107
- delegate:self
108
- delegateQueue:nil];
109
- }
110
- return _uploaderSession;
111
- }
112
-
113
- - (void)uploadTarget:(GDTCORTarget)target withConditions:(GDTCORUploadConditions)conditions {
114
- __block GDTCORBackgroundIdentifier backgroundTaskID = GDTCORBackgroundIdentifierInvalid;
115
-
116
- dispatch_block_t backgroundTaskCompletion = ^{
117
- // End the background task if there was one.
118
- if (backgroundTaskID != GDTCORBackgroundIdentifierInvalid) {
119
- [[GDTCORApplication sharedApplication] endBackgroundTask:backgroundTaskID];
120
- backgroundTaskID = GDTCORBackgroundIdentifierInvalid;
121
- }
122
- };
123
-
124
- backgroundTaskID = [[GDTCORApplication sharedApplication]
125
- beginBackgroundTaskWithName:@"GDTCCTUploader-upload"
126
- expirationHandler:^{
127
- if (backgroundTaskID != GDTCORBackgroundIdentifierInvalid) {
128
- // Cancel the upload and complete delivery.
129
- [self.currentTask cancel];
130
-
131
- // End the background task.
132
- backgroundTaskCompletion();
133
- }
134
- }];
135
-
136
- id<GDTCORStoragePromiseProtocol> storage = self.storage;
137
-
138
- // 1. Check if the conditions for the target are suitable.
139
- [self isReadyToUploadTarget:target conditions:conditions]
140
- .thenOn(self.uploaderQueue,
141
- ^id(id result) {
142
- // 2. Remove previously attempted batches
143
- return [storage removeAllBatchesForTarget:target deleteEvents:NO];
144
- })
145
- .thenOn(self.uploaderQueue,
146
- ^FBLPromise<NSNumber *> *(id result) {
147
- // There may be a big amount of events stored, so creating a batch may be an
148
- // expensive operation.
149
-
150
- // 3. Do a lightweight check if there are any events for the target first to
151
- // finish early if there are no.
152
- return [storage hasEventsForTarget:target];
153
- })
154
- .validateOn(self.uploaderQueue,
155
- ^BOOL(NSNumber *hasEvents) {
156
- // Stop operation if there are no events to upload.
157
- return hasEvents.boolValue;
158
- })
159
- .thenOn(self.uploaderQueue,
160
- ^FBLPromise<GDTCORUploadBatch *> *(id result) {
161
- if (self.isCancelled) {
162
- return nil;
163
- }
164
-
165
- // 4. Fetch events to upload.
166
- GDTCORStorageEventSelector *eventSelector = [self eventSelectorTarget:target
167
- withConditions:conditions];
168
- return [storage batchWithEventSelector:eventSelector
169
- batchExpiration:[NSDate dateWithTimeIntervalSinceNow:600]];
170
- })
171
- .validateOn(self.uploaderQueue,
172
- ^BOOL(GDTCORUploadBatch *batch) {
173
- // 5. Validate batch.
174
- return batch.batchID != nil && batch.events.count > 0;
175
- })
176
- .thenOn(self.uploaderQueue,
177
- ^FBLPromise *(GDTCORUploadBatch *batch) {
178
- // A non-empty batch has been created, consider it as an upload attempt.
179
- self.uploadAttempted = YES;
180
-
181
- // 6. Perform upload URL request.
182
- return [self sendURLRequestWithBatch:batch target:target storage:storage];
183
- })
184
- .thenOn(self.uploaderQueue,
185
- ^id(id result) {
186
- // 7. Finish operation.
187
- [self finishOperation];
188
- backgroundTaskCompletion();
189
- return nil;
190
- })
191
- .catchOn(self.uploaderQueue, ^(NSError *error) {
192
- // TODO: Maybe report the error to the client.
193
- [self finishOperation];
194
- backgroundTaskCompletion();
195
- });
196
- }
197
-
198
- #pragma mark - Upload implementation details
199
-
200
- /** Sends URL request to upload the provided batch and handle the response. */
201
- - (FBLPromise<NSNull *> *)sendURLRequestWithBatch:(GDTCORUploadBatch *)batch
202
- target:(GDTCORTarget)target
203
- storage:(id<GDTCORStoragePromiseProtocol>)storage {
204
- NSNumber *batchID = batch.batchID;
205
-
206
- // 1. Send URL request.
207
- return [self sendURLRequestWithBatch:batch target:target]
208
- .thenOn(
209
- self.uploaderQueue,
210
- ^FBLPromise<NSNull *> *(GULURLSessionDataResponse *response) {
211
- // 2. Parse response and update the next upload time if can.
212
- [self updateNextUploadTimeWithResponse:response forTarget:target];
213
-
214
- // 3. Cleanup batch.
215
-
216
- // Only retry if one of these codes is returned:
217
- // 429 - Too many requests;
218
- // 5xx - Server errors.
219
- NSInteger statusCode = response.HTTPResponse.statusCode;
220
- if (statusCode == 429 || (statusCode >= 500 && statusCode < 600)) {
221
- // Move the events back to the main storage to be uploaded on the next attempt.
222
- return [storage removeBatchWithID:batchID deleteEvents:NO];
223
- } else {
224
- if (statusCode >= 200 && statusCode <= 300) {
225
- GDTCORLogDebug(@"CCT: batch %@ delivered", batchID);
226
- } else {
227
- GDTCORLogDebug(
228
- @"CCT: batch %@ was rejected by the server and will be deleted with all events",
229
- batchID);
230
- }
231
-
232
- // The events are either delivered or unrecoverable broken, so remove the batch with
233
- // events.
234
- return [storage removeBatchWithID:batch.batchID deleteEvents:YES];
235
- }
236
- })
237
- .recoverOn(self.uploaderQueue, ^id(NSError *error) {
238
- // In the case of a network error move the events back to the main storage to be uploaded on
239
- // the next attempt.
240
- return [storage removeBatchWithID:batchID deleteEvents:NO];
241
- });
242
- }
243
-
244
- /** Composes and sends URL request. */
245
- - (FBLPromise<GULURLSessionDataResponse *> *)sendURLRequestWithBatch:(GDTCORUploadBatch *)batch
246
- target:(GDTCORTarget)target {
247
- return [FBLPromise
248
- onQueue:self.uploaderQueue
249
- do:^NSURLRequest * {
250
- // 1. Prepare URL request.
251
- NSData *requestProtoData = [self constructRequestProtoWithEvents:batch.events];
252
- NSData *gzippedData = [GDTCCTCompressionHelper gzippedData:requestProtoData];
253
- BOOL usingGzipData =
254
- gzippedData != nil && gzippedData.length < requestProtoData.length;
255
- NSData *dataToSend = usingGzipData ? gzippedData : requestProtoData;
256
- NSURLRequest *request = [self constructRequestWithURL:self.uploadURL
257
- forTarget:target
258
- data:dataToSend];
259
- GDTCORLogDebug(@"CTT: request containing %lu events for batch: %@ for target: "
260
- @"%ld created: %@",
261
- (unsigned long)batch.events.count, batch.batchID, (long)target,
262
- request);
263
- return request;
264
- }]
265
- .thenOn(self.uploaderQueue,
266
- ^FBLPromise<GULURLSessionDataResponse *> *(NSURLRequest *request) {
267
- // 2. Send URL request.
268
- return
269
- [[self uploaderSessionCreateIfNeeded] gul_dataTaskPromiseWithRequest:request];
270
- })
271
- .thenOn(self.uploaderQueue,
272
- ^GULURLSessionDataResponse *(GULURLSessionDataResponse *response) {
273
- // Invalidate session to release the delegate (which is `self`) to break the retain
274
- // cycle.
275
- [self.uploaderSession finishTasksAndInvalidate];
276
- return response;
277
- })
278
- .recoverOn(self.uploaderQueue, ^id(NSError *error) {
279
- // Invalidate session to release the delegate (which is `self`) to break the retain cycle.
280
- [self.uploaderSession finishTasksAndInvalidate];
281
- // Re-throw the error.
282
- return error;
283
- });
284
- }
285
-
286
- /** Parses server response and update next upload time for the specified target based on it. */
287
- - (void)updateNextUploadTimeWithResponse:(GULURLSessionDataResponse *)response
288
- forTarget:(GDTCORTarget)target {
289
- GDTCORClock *futureUploadTime;
290
- if (response.HTTPBody) {
291
- NSError *decodingError;
292
- gdt_cct_LogResponse logResponse = GDTCCTDecodeLogResponse(response.HTTPBody, &decodingError);
293
- if (!decodingError && logResponse.has_next_request_wait_millis) {
294
- GDTCORLogDebug(@"CCT: The backend responded asking to not upload for %lld millis from now.",
295
- logResponse.next_request_wait_millis);
296
- futureUploadTime =
297
- [GDTCORClock clockSnapshotInTheFuture:logResponse.next_request_wait_millis];
298
- } else if (decodingError) {
299
- GDTCORLogDebug(@"There was a response decoding error: %@", decodingError);
300
- }
301
- pb_release(gdt_cct_LogResponse_fields, &logResponse);
302
- }
303
-
304
- // If no futureUploadTime was parsed from the response body, then check
305
- // [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header.
306
- if (!futureUploadTime) {
307
- NSString *retryAfterHeader = response.HTTPResponse.allHeaderFields[@"Retry-After"];
308
- if (retryAfterHeader.length > 0) {
309
- NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
310
- formatter.numberStyle = NSNumberFormatterDecimalStyle;
311
- NSNumber *retryAfterSeconds = [formatter numberFromString:retryAfterHeader];
312
- if (retryAfterSeconds != nil) {
313
- uint64_t retryAfterMillis = retryAfterSeconds.unsignedIntegerValue * 1000u;
314
- futureUploadTime = [GDTCORClock clockSnapshotInTheFuture:retryAfterMillis];
315
- }
316
- }
317
- }
318
-
319
- if (!futureUploadTime) {
320
- GDTCORLogDebug(@"%@", @"CCT: The backend response failed to parse, so the next request "
321
- @"won't occur until 15 minutes from now");
322
- // 15 minutes from now.
323
- futureUploadTime = [GDTCORClock clockSnapshotInTheFuture:15 * 60 * 1000];
324
- }
325
-
326
- [self.metadataProvider setNextUploadTime:futureUploadTime forTarget:target];
327
- }
328
-
329
- #pragma mark - Private helper methods
330
-
331
- /** @return A resolved promise if is ready and a rejected promise if not. */
332
- - (FBLPromise<NSNull *> *)isReadyToUploadTarget:(GDTCORTarget)target
333
- conditions:(GDTCORUploadConditions)conditions {
334
- FBLPromise<NSNull *> *promise = [FBLPromise pendingPromise];
335
- if ([self readyToUploadTarget:target conditions:conditions]) {
336
- [promise fulfill:[NSNull null]];
337
- } else {
338
- NSString *reason =
339
- [NSString stringWithFormat:@"Target %ld is not ready to upload with condition: %ld",
340
- (long)target, (long)conditions];
341
- [promise reject:[self genericRejectedPromiseErrorWithReason:reason]];
342
- }
343
- return promise;
344
- }
345
-
346
- // TODO: Move to a separate class/extension/file when needed in other files.
347
- /** Returns an error object with the specified failure reason. */
348
- - (NSError *)genericRejectedPromiseErrorWithReason:(NSString *)reason {
349
- return [NSError errorWithDomain:@"GDTCCTUploader"
350
- code:-1
351
- userInfo:@{NSLocalizedFailureReasonErrorKey : reason}];
352
- }
353
-
354
- /** Returns if the specified target is ready to be uploaded based on the specified conditions. */
355
- - (BOOL)readyToUploadTarget:(GDTCORTarget)target conditions:(GDTCORUploadConditions)conditions {
356
- // Not ready to upload with no network connection.
357
- // TODO: Reconsider using reachability to prevent an upload attempt.
358
- // See https://developer.apple.com/videos/play/wwdc2019/712/ (49:40) for more details.
359
- if (conditions & GDTCORUploadConditionNoNetwork) {
360
- GDTCORLogDebug(@"%@", @"CCT: Not ready to upload without a network connection.");
361
- return NO;
362
- }
363
-
364
- // Upload events with no additional conditions if high priority.
365
- if ((conditions & GDTCORUploadConditionHighPriority) == GDTCORUploadConditionHighPriority) {
366
- GDTCORLogDebug(@"%@", @"CCT: a high priority event is allowing an upload");
367
- return YES;
368
- }
369
-
370
- // Check next upload time for the target.
371
- BOOL isAfterNextUploadTime = YES;
372
- GDTCORClock *nextUploadTime = [self.metadataProvider nextUploadTimeForTarget:target];
373
- if (nextUploadTime) {
374
- isAfterNextUploadTime = [[GDTCORClock snapshot] isAfter:nextUploadTime];
375
- }
376
-
377
- if (isAfterNextUploadTime) {
378
- GDTCORLogDebug(@"CCT: can upload to target %ld because the request wait time has transpired",
379
- (long)target);
380
- } else {
381
- GDTCORLogDebug(@"CCT: can't upload to target %ld because the backend asked to wait",
382
- (long)target);
383
- }
384
-
385
- return isAfterNextUploadTime;
386
- }
387
-
388
- /** Constructs data given an upload package.
389
- *
390
- * @param events The events used to construct the request proto bytes.
391
- * @return Proto bytes representing a gdt_cct_LogRequest object.
392
- */
393
- - (nonnull NSData *)constructRequestProtoWithEvents:(NSSet<GDTCOREvent *> *)events {
394
- // Segment the log events by log type.
395
- NSMutableDictionary<NSString *, NSMutableSet<GDTCOREvent *> *> *logMappingIDToLogSet =
396
- [[NSMutableDictionary alloc] init];
397
- [events enumerateObjectsUsingBlock:^(GDTCOREvent *_Nonnull event, BOOL *_Nonnull stop) {
398
- NSMutableSet *logSet = logMappingIDToLogSet[event.mappingID];
399
- logSet = logSet ? logSet : [[NSMutableSet alloc] init];
400
- [logSet addObject:event];
401
- logMappingIDToLogSet[event.mappingID] = logSet;
402
- }];
403
-
404
- gdt_cct_BatchedLogRequest batchedLogRequest =
405
- GDTCCTConstructBatchedLogRequest(logMappingIDToLogSet);
406
-
407
- NSData *data = GDTCCTEncodeBatchedLogRequest(&batchedLogRequest);
408
- pb_release(gdt_cct_BatchedLogRequest_fields, &batchedLogRequest);
409
- return data ? data : [[NSData alloc] init];
410
- }
411
-
412
- /** Constructs a request to the given URL and target with the specified request body data.
413
- *
414
- * @param target The target backend to send the request to.
415
- * @param data The request body data.
416
- * @return A new NSURLRequest ready to be sent to FLL.
417
- */
418
- - (nullable NSURLRequest *)constructRequestWithURL:(NSURL *)URL
419
- forTarget:(GDTCORTarget)target
420
- data:(NSData *)data {
421
- if (data == nil || data.length == 0) {
422
- GDTCORLogDebug(@"There was no data to construct a request for target %ld.", (long)target);
423
- return nil;
424
- }
425
-
426
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
427
- NSString *targetString;
428
- switch (target) {
429
- case kGDTCORTargetCCT:
430
- targetString = @"cct";
431
- break;
432
-
433
- case kGDTCORTargetFLL:
434
- targetString = @"fll";
435
- break;
436
-
437
- case kGDTCORTargetCSH:
438
- targetString = @"csh";
439
- break;
440
- case kGDTCORTargetINT:
441
- targetString = @"int";
442
- break;
443
-
444
- default:
445
- targetString = @"unknown";
446
- break;
447
- }
448
- NSString *userAgent =
449
- [NSString stringWithFormat:@"datatransport/%@ %@support/%@ apple/", kGDTCORVersion,
450
- targetString, kGDTCCTSupportSDKVersion];
451
-
452
- [request setValue:[self.metadataProvider APIKeyForTarget:target]
453
- forHTTPHeaderField:@"X-Goog-Api-Key"];
454
-
455
- if ([GDTCCTCompressionHelper isGzipped:data]) {
456
- [request setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"];
457
- }
458
- [request setValue:@"application/x-protobuf" forHTTPHeaderField:@"Content-Type"];
459
- [request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
460
- [request setValue:userAgent forHTTPHeaderField:@"User-Agent"];
461
- request.HTTPMethod = @"POST";
462
- [request setHTTPBody:data];
463
- return request;
464
- }
465
-
466
- /** Creates and returns a storage event selector for the specified target and conditions. */
467
- - (GDTCORStorageEventSelector *)eventSelectorTarget:(GDTCORTarget)target
468
- withConditions:(GDTCORUploadConditions)conditions {
469
- if ((conditions & GDTCORUploadConditionHighPriority) == GDTCORUploadConditionHighPriority) {
470
- return [GDTCORStorageEventSelector eventSelectorForTarget:target];
471
- }
472
- NSMutableSet<NSNumber *> *qosTiers = [[NSMutableSet alloc] init];
473
- if (conditions & GDTCORUploadConditionWifiData) {
474
- [qosTiers addObjectsFromArray:@[
475
- @(GDTCOREventQoSFast), @(GDTCOREventQoSWifiOnly), @(GDTCOREventQosDefault),
476
- @(GDTCOREventQoSTelemetry), @(GDTCOREventQoSUnknown)
477
- ]];
478
- }
479
- if (conditions & GDTCORUploadConditionMobileData) {
480
- [qosTiers addObjectsFromArray:@[ @(GDTCOREventQoSFast), @(GDTCOREventQosDefault) ]];
481
- }
482
-
483
- return [[GDTCORStorageEventSelector alloc] initWithTarget:target
484
- eventIDs:nil
485
- mappingIDs:nil
486
- qosTiers:qosTiers];
487
- }
488
-
489
- #pragma mark - NSURLSessionDelegate
490
-
491
- - (void)URLSession:(NSURLSession *)session
492
- task:(NSURLSessionTask *)task
493
- willPerformHTTPRedirection:(NSHTTPURLResponse *)response
494
- newRequest:(NSURLRequest *)request
495
- completionHandler:(void (^)(NSURLRequest *_Nullable))completionHandler {
496
- if (!completionHandler) {
497
- return;
498
- }
499
- if (response.statusCode == 302 || response.statusCode == 301) {
500
- NSURLRequest *newRequest = [self constructRequestWithURL:request.URL
501
- forTarget:kGDTCORTargetCCT
502
- data:task.originalRequest.HTTPBody];
503
- completionHandler(newRequest);
504
- } else {
505
- completionHandler(request);
506
- }
507
- }
508
-
509
- #pragma mark - NSOperation methods
510
-
511
- @synthesize executing = _executing;
512
- @synthesize finished = _finished;
513
-
514
- - (BOOL)isFinished {
515
- @synchronized(self) {
516
- return _finished;
517
- }
518
- }
519
-
520
- - (BOOL)isExecuting {
521
- @synchronized(self) {
522
- return _executing;
523
- }
524
- }
525
-
526
- - (BOOL)isAsynchronous {
527
- return YES;
528
- }
529
-
530
- - (void)startOperation {
531
- @synchronized(self) {
532
- [self willChangeValueForKey:@"isExecuting"];
533
- [self willChangeValueForKey:@"isFinished"];
534
- self->_executing = YES;
535
- self->_finished = NO;
536
- [self didChangeValueForKey:@"isExecuting"];
537
- [self didChangeValueForKey:@"isFinished"];
538
- }
539
- }
540
-
541
- - (void)finishOperation {
542
- @synchronized(self) {
543
- [self willChangeValueForKey:@"isExecuting"];
544
- [self willChangeValueForKey:@"isFinished"];
545
- self->_executing = NO;
546
- self->_finished = YES;
547
- [self didChangeValueForKey:@"isExecuting"];
548
- [self didChangeValueForKey:@"isFinished"];
549
- }
550
- }
551
-
552
- - (void)start {
553
- [self startOperation];
554
-
555
- GDTCORLogDebug(@"Upload operation started: %@", self);
556
- [self uploadTarget:self.target withConditions:self.conditions];
557
- }
558
-
559
- - (void)cancel {
560
- @synchronized(self) {
561
- [super cancel];
562
-
563
- // If the operation hasn't been started we can set `isFinished = YES` straight away.
564
- if (!_executing) {
565
- _executing = NO;
566
- _finished = YES;
567
- }
568
- }
569
- }
570
-
571
- @end
572
-
573
- NS_ASSUME_NONNULL_END