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

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.
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,531 +0,0 @@
1
- /*
2
- * Copyright 2019 Google
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 "FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.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 <GoogleUtilities/GULKeychainStorage.h>
26
- #import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h"
27
-
28
- #import "FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.h"
29
- #import "FirebaseInstallations/Source/Library/FIRInstallationsItem.h"
30
- #import "FirebaseInstallations/Source/Library/FIRInstallationsLogger.h"
31
- #import "FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.h"
32
- #import "FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.h"
33
- #import "FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.h"
34
- #import "FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.h"
35
- #import "FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h"
36
- #import "FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.h"
37
-
38
- #import "FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h"
39
- #import "FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.h"
40
-
41
- const NSNotificationName FIRInstallationIDDidChangeNotification =
42
- @"FIRInstallationIDDidChangeNotification";
43
- NSString *const kFIRInstallationIDDidChangeNotificationAppNameKey =
44
- @"FIRInstallationIDDidChangeNotification";
45
-
46
- NSTimeInterval const kFIRInstallationsTokenExpirationThreshold = 60 * 60; // 1 hour.
47
-
48
- static NSString *const kKeychainService = @"com.firebase.FIRInstallations.installations";
49
-
50
- @interface FIRInstallationsIDController ()
51
- @property(nonatomic, readonly) NSString *appID;
52
- @property(nonatomic, readonly) NSString *appName;
53
-
54
- @property(nonatomic, readonly) FIRInstallationsStore *installationsStore;
55
- @property(nonatomic, readonly) FIRInstallationsIIDStore *IIDStore;
56
- @property(nonatomic, readonly) FIRInstallationsIIDTokenStore *IIDTokenStore;
57
-
58
- @property(nonatomic, readonly) FIRInstallationsAPIService *APIService;
59
-
60
- @property(nonatomic, readonly) id<FIRInstallationsBackoffControllerProtocol> backoffController;
61
-
62
- @property(nonatomic, readonly) FIRInstallationsSingleOperationPromiseCache<FIRInstallationsItem *>
63
- *getInstallationPromiseCache;
64
- @property(nonatomic, readonly)
65
- FIRInstallationsSingleOperationPromiseCache<FIRInstallationsItem *> *authTokenPromiseCache;
66
- @property(nonatomic, readonly) FIRInstallationsSingleOperationPromiseCache<FIRInstallationsItem *>
67
- *authTokenForcingRefreshPromiseCache;
68
- @property(nonatomic, readonly)
69
- FIRInstallationsSingleOperationPromiseCache<NSNull *> *deleteInstallationPromiseCache;
70
- @end
71
-
72
- @implementation FIRInstallationsIDController
73
-
74
- - (instancetype)initWithGoogleAppID:(NSString *)appID
75
- appName:(NSString *)appName
76
- APIKey:(NSString *)APIKey
77
- projectID:(NSString *)projectID
78
- GCMSenderID:(NSString *)GCMSenderID
79
- accessGroup:(nullable NSString *)accessGroup {
80
- NSString *serviceName = [FIRInstallationsIDController keychainServiceWithAppID:appID];
81
- GULKeychainStorage *secureStorage = [[GULKeychainStorage alloc] initWithService:serviceName];
82
- FIRInstallationsStore *installationsStore =
83
- [[FIRInstallationsStore alloc] initWithSecureStorage:secureStorage accessGroup:accessGroup];
84
-
85
- FIRInstallationsAPIService *apiService =
86
- [[FIRInstallationsAPIService alloc] initWithAPIKey:APIKey projectID:projectID];
87
-
88
- FIRInstallationsIIDStore *IIDStore = [[FIRInstallationsIIDStore alloc] init];
89
- FIRInstallationsIIDTokenStore *IIDCheckingStore =
90
- [[FIRInstallationsIIDTokenStore alloc] initWithGCMSenderID:GCMSenderID];
91
-
92
- FIRInstallationsBackoffController *backoffController =
93
- [[FIRInstallationsBackoffController alloc] init];
94
-
95
- return [self initWithGoogleAppID:appID
96
- appName:appName
97
- installationsStore:installationsStore
98
- APIService:apiService
99
- IIDStore:IIDStore
100
- IIDTokenStore:IIDCheckingStore
101
- backoffController:backoffController];
102
- }
103
-
104
- /// The initializer is supposed to be used by tests to inject `installationsStore`.
105
- - (instancetype)initWithGoogleAppID:(NSString *)appID
106
- appName:(NSString *)appName
107
- installationsStore:(FIRInstallationsStore *)installationsStore
108
- APIService:(FIRInstallationsAPIService *)APIService
109
- IIDStore:(FIRInstallationsIIDStore *)IIDStore
110
- IIDTokenStore:(FIRInstallationsIIDTokenStore *)IIDTokenStore
111
- backoffController:
112
- (id<FIRInstallationsBackoffControllerProtocol>)backoffController {
113
- self = [super init];
114
- if (self) {
115
- _appID = appID;
116
- _appName = appName;
117
- _installationsStore = installationsStore;
118
- _APIService = APIService;
119
- _IIDStore = IIDStore;
120
- _IIDTokenStore = IIDTokenStore;
121
- _backoffController = backoffController;
122
-
123
- __weak FIRInstallationsIDController *weakSelf = self;
124
-
125
- _getInstallationPromiseCache = [[FIRInstallationsSingleOperationPromiseCache alloc]
126
- initWithNewOperationHandler:^FBLPromise *_Nonnull {
127
- FIRInstallationsIDController *strongSelf = weakSelf;
128
- return [strongSelf createGetInstallationItemPromise];
129
- }];
130
-
131
- _authTokenPromiseCache = [[FIRInstallationsSingleOperationPromiseCache alloc]
132
- initWithNewOperationHandler:^FBLPromise *_Nonnull {
133
- FIRInstallationsIDController *strongSelf = weakSelf;
134
- return [strongSelf installationWithValidAuthTokenForcingRefresh:NO];
135
- }];
136
-
137
- _authTokenForcingRefreshPromiseCache = [[FIRInstallationsSingleOperationPromiseCache alloc]
138
- initWithNewOperationHandler:^FBLPromise *_Nonnull {
139
- FIRInstallationsIDController *strongSelf = weakSelf;
140
- return [strongSelf installationWithValidAuthTokenForcingRefresh:YES];
141
- }];
142
-
143
- _deleteInstallationPromiseCache = [[FIRInstallationsSingleOperationPromiseCache alloc]
144
- initWithNewOperationHandler:^FBLPromise *_Nonnull {
145
- FIRInstallationsIDController *strongSelf = weakSelf;
146
- return [strongSelf createDeleteInstallationPromise];
147
- }];
148
- }
149
- return self;
150
- }
151
-
152
- #pragma mark - Get Installation.
153
-
154
- - (FBLPromise<FIRInstallationsItem *> *)getInstallationItem {
155
- return [self.getInstallationPromiseCache getExistingPendingOrCreateNewPromise];
156
- }
157
-
158
- - (FBLPromise<FIRInstallationsItem *> *)createGetInstallationItemPromise {
159
- FIRLogDebug(kFIRLoggerInstallations,
160
- kFIRInstallationsMessageCodeNewGetInstallationOperationCreated, @"%s, appName: %@",
161
- __PRETTY_FUNCTION__, self.appName);
162
-
163
- FBLPromise<FIRInstallationsItem *> *installationItemPromise =
164
- [self getStoredInstallation].recover(^id(NSError *error) {
165
- return [self createAndSaveFID];
166
- });
167
-
168
- // Initiate registration process on success if needed, but return the installation without waiting
169
- // for it.
170
- installationItemPromise.then(^id(FIRInstallationsItem *installation) {
171
- [self getAuthTokenForcingRefresh:NO];
172
- return nil;
173
- });
174
-
175
- return installationItemPromise;
176
- }
177
-
178
- - (FBLPromise<FIRInstallationsItem *> *)getStoredInstallation {
179
- return [self.installationsStore installationForAppID:self.appID appName:self.appName].validate(
180
- ^BOOL(FIRInstallationsItem *installation) {
181
- NSError *validationError;
182
- BOOL isValid = [installation isValid:&validationError];
183
-
184
- if (!isValid) {
185
- FIRLogWarning(
186
- kFIRLoggerInstallations, kFIRInstallationsMessageCodeCorruptedStoredInstallation,
187
- @"Stored installation validation error: %@", validationError.localizedDescription);
188
- }
189
-
190
- return isValid;
191
- });
192
- }
193
-
194
- - (FBLPromise<FIRInstallationsItem *> *)createAndSaveFID {
195
- return [self migrateOrGenerateInstallation]
196
- .then(^FBLPromise<FIRInstallationsItem *> *(FIRInstallationsItem *installation) {
197
- return [self saveInstallation:installation];
198
- })
199
- .then(^FIRInstallationsItem *(FIRInstallationsItem *installation) {
200
- [self postFIDDidChangeNotification];
201
- return installation;
202
- });
203
- }
204
-
205
- - (FBLPromise<FIRInstallationsItem *> *)saveInstallation:(FIRInstallationsItem *)installation {
206
- return [self.installationsStore saveInstallation:installation].then(
207
- ^FIRInstallationsItem *(NSNull *result) {
208
- return installation;
209
- });
210
- }
211
-
212
- /**
213
- * Tries to migrate IID data stored by FirebaseInstanceID SDK or generates a new Installation ID if
214
- * not found.
215
- */
216
- - (FBLPromise<FIRInstallationsItem *> *)migrateOrGenerateInstallation {
217
- if (![self isDefaultApp]) {
218
- // Existing IID should be used only for default FirebaseApp.
219
- FIRInstallationsItem *installation =
220
- [self createInstallationWithFID:[FIRInstallationsItem generateFID] IIDDefaultToken:nil];
221
- return [FBLPromise resolvedWith:installation];
222
- }
223
-
224
- return [[[FBLPromise
225
- all:@[ [self.IIDStore existingIID], [self.IIDTokenStore existingIIDDefaultToken] ]]
226
- then:^id _Nullable(NSArray *_Nullable results) {
227
- NSString *existingIID = results[0];
228
- NSString *IIDDefaultToken = results[1];
229
-
230
- return [self createInstallationWithFID:existingIID IIDDefaultToken:IIDDefaultToken];
231
- }] recover:^id _Nullable(NSError *_Nonnull error) {
232
- return [self createInstallationWithFID:[FIRInstallationsItem generateFID] IIDDefaultToken:nil];
233
- }];
234
- }
235
-
236
- - (FIRInstallationsItem *)createInstallationWithFID:(NSString *)FID
237
- IIDDefaultToken:(nullable NSString *)IIDDefaultToken {
238
- FIRInstallationsItem *installation = [[FIRInstallationsItem alloc] initWithAppID:self.appID
239
- firebaseAppName:self.appName];
240
- installation.firebaseInstallationID = FID;
241
- installation.IIDDefaultToken = IIDDefaultToken;
242
- installation.registrationStatus = FIRInstallationStatusUnregistered;
243
- return installation;
244
- }
245
-
246
- #pragma mark - FID registration
247
-
248
- - (FBLPromise<FIRInstallationsItem *> *)registerInstallationIfNeeded:
249
- (FIRInstallationsItem *)installation {
250
- switch (installation.registrationStatus) {
251
- case FIRInstallationStatusRegistered:
252
- // Already registered. Do nothing.
253
- return [FBLPromise resolvedWith:installation];
254
-
255
- case FIRInstallationStatusUnknown:
256
- case FIRInstallationStatusUnregistered:
257
- // Registration required. Proceed.
258
- break;
259
- }
260
-
261
- // Check for backoff.
262
- if (![self.backoffController isNextRequestAllowed]) {
263
- return [FIRInstallationsErrorUtil
264
- rejectedPromiseWithError:[FIRInstallationsErrorUtil backoffIntervalWaitError]];
265
- }
266
-
267
- return [self.APIService registerInstallation:installation]
268
- .catch(^(NSError *_Nonnull error) {
269
- [self updateBackoffWithSuccess:NO APIError:error];
270
-
271
- if ([self doesRegistrationErrorRequireConfigChange:error]) {
272
- FIRLogError(kFIRLoggerInstallations,
273
- kFIRInstallationsMessageCodeInvalidFirebaseConfiguration,
274
- @"Firebase Installation registration failed for app with name: %@, error:\n"
275
- @"%@\nPlease make sure you use valid GoogleService-Info.plist",
276
- self.appName, error.userInfo[NSLocalizedFailureReasonErrorKey]);
277
- }
278
- })
279
- .then(^id(FIRInstallationsItem *registeredInstallation) {
280
- [self updateBackoffWithSuccess:YES APIError:nil];
281
- return [self saveInstallation:registeredInstallation];
282
- })
283
- .then(^FIRInstallationsItem *(FIRInstallationsItem *registeredInstallation) {
284
- // Server may respond with a different FID if the sent one cannot be accepted.
285
- if (![registeredInstallation.firebaseInstallationID
286
- isEqualToString:installation.firebaseInstallationID]) {
287
- [self postFIDDidChangeNotification];
288
- }
289
- return registeredInstallation;
290
- });
291
- }
292
-
293
- - (BOOL)doesRegistrationErrorRequireConfigChange:(NSError *)error {
294
- FIRInstallationsHTTPError *HTTPError = (FIRInstallationsHTTPError *)error;
295
- if (![HTTPError isKindOfClass:[FIRInstallationsHTTPError class]]) {
296
- return NO;
297
- }
298
-
299
- switch (HTTPError.HTTPResponse.statusCode) {
300
- // These are the errors that require Firebase configuration change.
301
- case FIRInstallationsRegistrationHTTPCodeInvalidArgument:
302
- case FIRInstallationsRegistrationHTTPCodeAPIKeyToProjectIDMismatch:
303
- case FIRInstallationsRegistrationHTTPCodeProjectNotFound:
304
- return YES;
305
-
306
- default:
307
- return NO;
308
- }
309
- }
310
-
311
- #pragma mark - Auth Token
312
-
313
- - (FBLPromise<FIRInstallationsItem *> *)getAuthTokenForcingRefresh:(BOOL)forceRefresh {
314
- if (forceRefresh || [self.authTokenForcingRefreshPromiseCache getExistingPendingPromise] != nil) {
315
- return [self.authTokenForcingRefreshPromiseCache getExistingPendingOrCreateNewPromise];
316
- } else {
317
- return [self.authTokenPromiseCache getExistingPendingOrCreateNewPromise];
318
- }
319
- }
320
-
321
- - (FBLPromise<FIRInstallationsItem *> *)installationWithValidAuthTokenForcingRefresh:
322
- (BOOL)forceRefresh {
323
- FIRLogDebug(kFIRLoggerInstallations, kFIRInstallationsMessageCodeNewGetAuthTokenOperationCreated,
324
- @"-[FIRInstallationsIDController installationWithValidAuthTokenForcingRefresh:%@], "
325
- @"appName: %@",
326
- @(forceRefresh), self.appName);
327
-
328
- return [self getInstallationItem]
329
- .then(^FBLPromise<FIRInstallationsItem *> *(FIRInstallationsItem *installation) {
330
- return [self registerInstallationIfNeeded:installation];
331
- })
332
- .then(^id(FIRInstallationsItem *registeredInstallation) {
333
- BOOL isTokenExpiredOrExpiresSoon =
334
- [registeredInstallation.authToken.expirationDate timeIntervalSinceDate:[NSDate date]] <
335
- kFIRInstallationsTokenExpirationThreshold;
336
- if (forceRefresh || isTokenExpiredOrExpiresSoon) {
337
- return [self refreshAuthTokenForInstallation:registeredInstallation];
338
- } else {
339
- return registeredInstallation;
340
- }
341
- })
342
- .recover(^id(NSError *error) {
343
- return [self regenerateFIDOnRefreshTokenErrorIfNeeded:error];
344
- });
345
- }
346
-
347
- - (FBLPromise<FIRInstallationsItem *> *)refreshAuthTokenForInstallation:
348
- (FIRInstallationsItem *)installation {
349
- // Check for backoff.
350
- if (![self.backoffController isNextRequestAllowed]) {
351
- return [FIRInstallationsErrorUtil
352
- rejectedPromiseWithError:[FIRInstallationsErrorUtil backoffIntervalWaitError]];
353
- }
354
-
355
- return [[[self.APIService refreshAuthTokenForInstallation:installation]
356
- then:^id _Nullable(FIRInstallationsItem *_Nullable refreshedInstallation) {
357
- [self updateBackoffWithSuccess:YES APIError:nil];
358
- return [self saveInstallation:refreshedInstallation];
359
- }] recover:^id _Nullable(NSError *_Nonnull error) {
360
- // Pass the error to the backoff controller.
361
- [self updateBackoffWithSuccess:NO APIError:error];
362
- return error;
363
- }];
364
- }
365
-
366
- - (id)regenerateFIDOnRefreshTokenErrorIfNeeded:(NSError *)error {
367
- if (![error isKindOfClass:[FIRInstallationsHTTPError class]]) {
368
- // No recovery possible. Return the same error.
369
- return error;
370
- }
371
-
372
- FIRInstallationsHTTPError *HTTPError = (FIRInstallationsHTTPError *)error;
373
- switch (HTTPError.HTTPResponse.statusCode) {
374
- case FIRInstallationsAuthTokenHTTPCodeInvalidAuthentication:
375
- case FIRInstallationsAuthTokenHTTPCodeFIDNotFound:
376
- // The stored installation was damaged or blocked by the server.
377
- // Delete the stored installation then generate and register a new one.
378
- return [self getInstallationItem]
379
- .then(^FBLPromise<NSNull *> *(FIRInstallationsItem *installation) {
380
- return [self deleteInstallationLocally:installation];
381
- })
382
- .then(^FBLPromise<FIRInstallationsItem *> *(id result) {
383
- return [self installationWithValidAuthTokenForcingRefresh:NO];
384
- });
385
-
386
- default:
387
- // No recovery possible. Return the same error.
388
- return error;
389
- }
390
- }
391
-
392
- #pragma mark - Delete FID
393
-
394
- - (FBLPromise<NSNull *> *)deleteInstallation {
395
- return [self.deleteInstallationPromiseCache getExistingPendingOrCreateNewPromise];
396
- }
397
-
398
- - (FBLPromise<NSNull *> *)createDeleteInstallationPromise {
399
- FIRLogDebug(kFIRLoggerInstallations,
400
- kFIRInstallationsMessageCodeNewDeleteInstallationOperationCreated, @"%s, appName: %@",
401
- __PRETTY_FUNCTION__, self.appName);
402
-
403
- // Check for ongoing requests first, if there is no a request, then check local storage for
404
- // existing installation.
405
- FBLPromise<FIRInstallationsItem *> *currentInstallationPromise =
406
- [self mostRecentInstallationOperation] ?: [self getStoredInstallation];
407
-
408
- return currentInstallationPromise
409
- .then(^id(FIRInstallationsItem *installation) {
410
- return [self sendDeleteInstallationRequestIfNeeded:installation];
411
- })
412
- .then(^id(FIRInstallationsItem *installation) {
413
- // Remove the installation from the local storage.
414
- return [self deleteInstallationLocally:installation];
415
- });
416
- }
417
-
418
- - (FBLPromise<NSNull *> *)deleteInstallationLocally:(FIRInstallationsItem *)installation {
419
- return [self.installationsStore removeInstallationForAppID:installation.appID
420
- appName:installation.firebaseAppName]
421
- .then(^FBLPromise<NSNull *> *(NSNull *result) {
422
- return [self deleteExistingIIDIfNeeded];
423
- })
424
- .then(^NSNull *(NSNull *result) {
425
- [self postFIDDidChangeNotification];
426
- return result;
427
- });
428
- }
429
-
430
- - (FBLPromise<FIRInstallationsItem *> *)sendDeleteInstallationRequestIfNeeded:
431
- (FIRInstallationsItem *)installation {
432
- switch (installation.registrationStatus) {
433
- case FIRInstallationStatusUnknown:
434
- case FIRInstallationStatusUnregistered:
435
- // The installation is not registered, so it is safe to be deleted as is, so return early.
436
- return [FBLPromise resolvedWith:installation];
437
- break;
438
-
439
- case FIRInstallationStatusRegistered:
440
- // Proceed to de-register the installation on the server.
441
- break;
442
- }
443
-
444
- return [self.APIService deleteInstallation:installation].recover(^id(NSError *APIError) {
445
- if ([FIRInstallationsErrorUtil isAPIError:APIError withHTTPCode:404]) {
446
- // The installation was not found on the server.
447
- // Return success.
448
- return installation;
449
- } else {
450
- // Re-throw the error otherwise.
451
- return APIError;
452
- }
453
- });
454
- }
455
-
456
- - (FBLPromise<NSNull *> *)deleteExistingIIDIfNeeded {
457
- if ([self isDefaultApp]) {
458
- return [self.IIDStore deleteExistingIID];
459
- } else {
460
- return [FBLPromise resolvedWith:[NSNull null]];
461
- }
462
- }
463
-
464
- - (nullable FBLPromise<FIRInstallationsItem *> *)mostRecentInstallationOperation {
465
- return [self.authTokenForcingRefreshPromiseCache getExistingPendingPromise]
466
- ?: [self.authTokenPromiseCache getExistingPendingPromise]
467
- ?: [self.getInstallationPromiseCache getExistingPendingPromise];
468
- }
469
-
470
- #pragma mark - Backoff
471
-
472
- - (void)updateBackoffWithSuccess:(BOOL)success APIError:(nullable NSError *)APIError {
473
- if (success) {
474
- [self.backoffController registerEvent:FIRInstallationsBackoffEventSuccess];
475
- } else if ([APIError isKindOfClass:[FIRInstallationsHTTPError class]]) {
476
- FIRInstallationsHTTPError *HTTPResponseError = (FIRInstallationsHTTPError *)APIError;
477
- NSInteger statusCode = HTTPResponseError.HTTPResponse.statusCode;
478
-
479
- if (statusCode == FIRInstallationsAuthTokenHTTPCodeInvalidAuthentication ||
480
- statusCode == FIRInstallationsAuthTokenHTTPCodeFIDNotFound) {
481
- // These errors are explicitly excluded because they are handled by FIS SDK itself so don't
482
- // require backoff.
483
- } else if (statusCode == 400 || statusCode == 403) { // Explicitly unrecoverable errors.
484
- [self.backoffController registerEvent:FIRInstallationsBackoffEventUnrecoverableFailure];
485
- } else if (statusCode == 429 ||
486
- (statusCode >= 500 && statusCode < 600)) { // Explicitly recoverable errors.
487
- [self.backoffController registerEvent:FIRInstallationsBackoffEventRecoverableFailure];
488
- } else { // Treat all unknown errors as recoverable.
489
- [self.backoffController registerEvent:FIRInstallationsBackoffEventRecoverableFailure];
490
- }
491
- }
492
-
493
- // If the error class is not `FIRInstallationsHTTPError` it indicates a connection error. Such
494
- // errors should not change backoff interval.
495
- }
496
-
497
- #pragma mark - Notifications
498
-
499
- - (void)postFIDDidChangeNotification {
500
- [[NSNotificationCenter defaultCenter]
501
- postNotificationName:FIRInstallationIDDidChangeNotification
502
- object:nil
503
- userInfo:@{kFIRInstallationIDDidChangeNotificationAppNameKey : self.appName}];
504
- }
505
-
506
- #pragma mark - Default App
507
-
508
- - (BOOL)isDefaultApp {
509
- return [self.appName isEqualToString:kFIRDefaultAppName];
510
- }
511
-
512
- #pragma mark - Keychain
513
-
514
- + (NSString *)keychainServiceWithAppID:(NSString *)appID {
515
- #if TARGET_OS_MACCATALYST || TARGET_OS_OSX
516
- // We need to keep service name unique per application on macOS.
517
- // Applications on macOS may request access to Keychain items stored by other applications. It
518
- // means that when the app looks up for a relevant Keychain item in the service scope it will
519
- // request user password to grant access to the Keychain if there are other Keychain items from
520
- // other applications stored under the same Keychain Service.
521
- return [kKeychainService stringByAppendingFormat:@".%@", appID];
522
- #else
523
- // Use a constant Keychain service for non-macOS because:
524
- // 1. Keychain items cannot be shared between apps until configured specifically so the service
525
- // name collisions are not a concern
526
- // 2. We don't want to change the service name to avoid doing a migration.
527
- return kKeychainService;
528
- #endif
529
- }
530
-
531
- @end
@@ -1,58 +0,0 @@
1
- /*
2
- * Copyright 2019 Google
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
- @class FBLPromise<ValueType>;
20
-
21
- NS_ASSUME_NONNULL_BEGIN
22
-
23
- /**
24
- * The class makes sure the a single operation (represented by a promise) is performed at a time. If
25
- * there is an ongoing operation, then its existing corresponding promise will be returned instead
26
- * of starting a new operation.
27
- */
28
- @interface FIRInstallationsSingleOperationPromiseCache<__covariant ResultType> : NSObject
29
-
30
- - (instancetype)init NS_UNAVAILABLE;
31
-
32
- /**
33
- * The designated initializer.
34
- * @param newOperationHandler The block that must return a new promise representing the
35
- * single-at-a-time operation. The promise should be fulfilled when the operation is completed. The
36
- * factory block will be used to create a new promise when needed.
37
- */
38
- - (instancetype)initWithNewOperationHandler:
39
- (FBLPromise<ResultType> *_Nonnull (^)(void))newOperationHandler NS_DESIGNATED_INITIALIZER;
40
-
41
- /**
42
- * Creates a new promise or returns an existing pending one.
43
- * @return Returns and existing pending promise if exists. If the pending promise does not exist
44
- * then a new one will be created using the `factory` block passed in the initializer. Once the
45
- * pending promise gets resolved, it is removed, so calling the method again will lead to creating
46
- * and caching another promise.
47
- */
48
- - (FBLPromise<ResultType> *)getExistingPendingOrCreateNewPromise;
49
-
50
- /**
51
- * Returns an existing pending promise or `nil`.
52
- * @return Returns an existing pending promise if there is one or `nil` otherwise.
53
- */
54
- - (nullable FBLPromise<ResultType> *)getExistingPendingPromise;
55
-
56
- @end
57
-
58
- NS_ASSUME_NONNULL_END
@@ -1,75 +0,0 @@
1
- /*
2
- * Copyright 2019 Google
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 "FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h"
18
-
19
- #if __has_include(<FBLPromises/FBLPromises.h>)
20
- #import <FBLPromises/FBLPromises.h>
21
- #else
22
- #import "FBLPromises.h"
23
- #endif
24
-
25
- @interface FIRInstallationsSingleOperationPromiseCache <ResultType>()
26
- @property(nonatomic, readonly) FBLPromise *_Nonnull (^newOperationHandler)(void);
27
- @property(nonatomic, nullable) FBLPromise *pendingPromise;
28
- @end
29
-
30
- @implementation FIRInstallationsSingleOperationPromiseCache
31
-
32
- - (instancetype)initWithNewOperationHandler:
33
- (FBLPromise<id> *_Nonnull (^)(void))newOperationHandler {
34
- if (newOperationHandler == nil) {
35
- [NSException raise:NSInvalidArgumentException
36
- format:@"`newOperationHandler` must not be `nil`."];
37
- }
38
-
39
- self = [super init];
40
- if (self) {
41
- _newOperationHandler = [newOperationHandler copy];
42
- }
43
- return self;
44
- }
45
-
46
- - (FBLPromise *)getExistingPendingOrCreateNewPromise {
47
- @synchronized(self) {
48
- if (!self.pendingPromise) {
49
- self.pendingPromise = self.newOperationHandler();
50
-
51
- self.pendingPromise
52
- .then(^id(id result) {
53
- @synchronized(self) {
54
- self.pendingPromise = nil;
55
- return nil;
56
- }
57
- })
58
- .catch(^void(NSError *error) {
59
- @synchronized(self) {
60
- self.pendingPromise = nil;
61
- }
62
- });
63
- }
64
-
65
- return self.pendingPromise;
66
- }
67
- }
68
-
69
- - (nullable FBLPromise *)getExistingPendingPromise {
70
- @synchronized(self) {
71
- return self.pendingPromise;
72
- }
73
- }
74
-
75
- @end