* Adding error handling and returning correct error codes
* * Handling auth cancellation a few other error cases
* Adding some logging for EAP (Using NSLogs temporarily. DONOT MERGE)
* Add in a setter for clientID to allow overrides (#5514)
* Add in a setter for clientID to allow overrides
* Update styling
* Adding some result parsing logs
* Fixing code hash logging
* Add FirebaseAppDistribution to ZipBuilder
* * Making sure keychain is accesible after first unlock even if app is backgrounded (#5563)
* Fix auth persistence logging and invalid type casting (#5631)
* Logging app id requesting releases (#5655)
* AppDistribution keychain access fixes (#5683)
* Using the GULKeychainUtils instead of custom keychain utility. Also added better logging
* Updating keychain name and fixing tests
* Code review feedback updates
* Making serviceID unique per app
* Adding gmp app id to the keychain along with the bundle id
* Moving Keychain Utility functions in the AuthPersistence class and deleting the utility class
* Lazy initialize auth state (#5755)
* Lazy initialize auth state
* Making sure we dont log an error is auth state is not persisted in the keychain
* Switch from NSLog to FIRFADLogger (#5756)
* Add FIRLogger
* Switch from NSLog to FIRFADLogger
* * Use FIS Auth for authenticating the tester
* Remove AppAuth and start wiring up interceptor to do sign in
* Extracting registration flow UI in interceptor
* Adding support for iOS 9 and 10
* Create app distribution api service to handle tester api calls. (#6060)
* Pull out calls to the FAD API to make them reuseable
* Fix tests and run styl updates
* Uncomment FIRFADLog Statements
* Use [] accessor rather than . accessor
* Re-running style updates
* Trying to get these checks to pass the first time around
* App distribution signin persist (#6063)
* Pull out calls to the FAD API to make them reuseable
* Fix tests and run styl updates
* Add in UserDefaults storage after a tester has signed in
* Add testing for the main AppDistribution file
* Ran style.sh
* Remove FIRFADLocalStorage and call GULUserDefaults directly. Update tests to stop mocking on teardown.
* Add support for dynamic url schemes and fix two crashes (#6081)
* Add support for dynamic url schemes and fix two crashes
* Add support for dynamic url schemes in the format appdistribution-<app id without colons>
* Fix crash when launching an app directly via a URL scheme
* Fix a crash on iOS 10 simulator caused by calling NSLogv twice
* Remove uses of NSLog
* Fix warnings
* Switch encodedAppId to be a class method
* Fix styles
* Create changelog and readme in preparation for release. (#6095)
Just changing markdown files so will not wait for gha checks.
* Change slices property from copy to strong (#6097)
Fix lint warning
* Change error handlers to return bool values instead of void (#6101)
* Mapping sign in flow errors to app distribution errors. Also renaming AppDelegateInterceptor to FIRAppDistributionUIService (#6099)
* Add github action for App Distribution (#6094)
* Updating app distribution deployment target to iOS 9 (#6118)
* Making sure we return granular errors during sign in persistence. Also fixing some naming and comment issues (#6117)
* Encoding colons to dashes in the app id (#6119)
* Move Internal headers to Sources (#6106)
* Move Internal headers to Sources/ folder
* PR feedback
* Remove appDistribution from zip builder
* Respond to code review feedback (#6138)
* Initializing UIWindow using initWithWindowScene for ios 13 and removing UI code from main FIRAppDistribution.m (#6144)
* Initializing UIWindow using initWithWindowScene for ios 13. Also making sure we only reset window in the App delegate if a registration flow is in progress.
* Remove UI code from main class, add unit tests, and clean up UIService
* stylish
* Remove defines in favor of solely 'if (@available(iOS 13.0, *))'
* Respond to code review feedback
Co-authored-by: Cleo Schneider <cleoschneider@google.com>
Co-authored-by: Pranav Rajgopal <pranavrajgopal@google.com>
Co-authored-by: Cleo Schneider <cleoschneider@google.com>
* Add initial code hash generation implementation
* Adding auth state to iOS keychain
* Cleanup logging and error handling for initial auth persistence implementation (#5413)
* Cleanup logging and error handling for initial auth persistence implementation
* Update Nullability of error fields and reformat
* Move the error domain and enum into the AuthPersistence file
* Format Mach files
* Externalize handling of nullable error and greedily return on error
* Add initial code hash generation implementation
* Adding auth state to iOS keychain
* Cleanup logging and error handling for initial auth persistence implementation (#5413)
* Cleanup logging and error handling for initial auth persistence implementation
* Update Nullability of error fields and reformat
* Move the error domain and enum into the AuthPersistence file
* Format Mach files
* Externalize handling of nullable error and greedily return on error
* Add unittests for AppDistribution auth persistence
* Split out the keychain calls from control flow and error handling
* Add mocking and tests for auth persistence tests
* Remove debug logging
* Update styling
* Re-add resources to podspec and break out block for readability
Co-authored-by: Jeremy Durham <jeremydurham@google.com>
Co-authored-by: Pranav Rajgopal <pranavrajgopal@google.com>
Add initial code hash generation implementation
Generate a code hash by getting the architecture and uuids for the app, sorting the list lexicographically by architecture, concatenating the uuids and generate a hash using SHA1 (for legacy purposes). We then use the code hash to verify against a hash returned from the server to determine whether the current running version is the latest version.
* Initial commit for Firebase App Distribution New Build Alerts SDK
* Added public header and implemented the public methods
* Added App Delegate swizzling for the App Auth library
Co-authored-by: Jeremy Durham <jeremydurham@google.com>