* test: migrate away from OCMock
Replace dynamic OCMock mocks with handwritten fake classes across the test suite to improve Swift interoperability, address concurrency issues, and reduce test brittleness. Removed OCMock from podspec and SPM dependencies.
* gemfile
* Remove other files and deps
* Apply suggestion from @ncooke3
* Apply suggestion from @ncooke3
* [v8] Replace read keychain API with completion handler based API (#182)
* [v8] Replace write keychain API with completion handler based API (#183)
* [v8] Replace remove keychain API with completion handler based API (#184)
* [v8] Replace remove keychain API with completion handler based API
* Update GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m
* [v8] Fix tests, docs, and imports following `GULKeychainStorage` API changes (#185)
* [v8] Remove Promises API and dependency specifications (#186)
* [v8] Remove Promises API and dependency specifications
* Remove other header
* [v8] Add changelog for removal of Promises dependency
* [v8] Remove extraneous parameter from removeObject API (#188)
* [Infra] Setup third_party dir. structure
* Alt. approach with third_party dir at root
* Undo accidental target name change
* Fix remaining accidental changes
* Style
* Add import
* Fix syntax error in podspec
* Style, again
* Remove maybe? unneeded import and change order
* Fix warning
* Replace Google copyright in .h and .m
* Rename references from 'third_party/Environment' to 'third_party/IsAppEncrypted'
* Actually rename 'third_party/Environment/ -> third_party/IsAppEncrypted/'
* Add back void
* Remove extra text from LICENSE
* [Release] Update CHANGELOGs for 7.11.4 release
* [Release] Update podspec for 7.11.4 release
* Change punctuation order to be consistent with out entries
* GULHeartbeatDateStorage: use dispatch queue instead of NSFileCoordinator for synchronization
* Concurrency tests
* Adjust concurrency tests
* style
* Use @synchronized(self.class) instead of a dispatch queue
* Fix "unused variable" warnings
* Changelog
* Comment
* Update podspec version
* GULHeartbeatDateStorageTest: Cleanup before testing as well
* Replace expectations with dispatch_barrier_sync to workaround Catalyst test app issue
* style
* Introduce UserDefaults based heartbeat storage.
This can be used on tvOS without fear of losing data between launches.
Clients will need to instantiate the class of their choice, then can use the
`GULHeartbeatDateStorable` protocol if they want to mix and match.
* Fix PR number in CHANGELOG
* Style.sh
* Bump version in podspec.
* Renamed files appropriately
* Copyright fixes
* Move firebase user agent logic to a separate class.
* FIRAppTest: prefix some tests with the tested method names
* FIRAppTest: user agent new fields tests
* New user agent field added.
* Headers
* API docs
* ./scripts/style.sh
* nullability fix
* Move environment info methods to GoogleUtilities
* GULAppEnvironmentUtilTest
* GULAppEnvironmentUtil swift tests
* FirebaseApp user agent swift flag test
* ./scripts/style.sh
* Cleanup CoreDiagnostics
* Nullable device model
* FIRCoreDiagnosticsTest fix
* Merge fixes
* Fix import
* rename
* Cleanup GUL imports (since all headers are public now)