Commit Graph
13 Commits
Author SHA1 Message Date
Ryan Wilson a60866383f Add AppDistribution to SwiftPM. (#7045)
* Add AppDistribution to SwiftPM.

Tests aren't ported yet due to an import OCMock issue.

* Embed public headers in correct directory

* Fix podspec

* Fixed new header imports.

* Add beta designation to SwiftPM name.

* Enable testing for AppDistro in SwiftPM

* Style

* Style

* Added changelog

* Add unit test scheme.
2020-12-02 11:51:29 -05:00
Jeremy Durham ad9e237e1b [App Distribution] Fix crash caused by response being nil (#7067)
* [App Distribution] Handle response being nil

When an error occurs, the response data will be nil. This causes a crash because we are trying to parse the response as JSON. Instead, return a generic error message if the response data is nil.
2020-12-01 23:10:45 -05:00
Cleo Schneider 6c846756c0 Add check for unauthenticated error and sign out in fetchNewLatestRelease (#6648)
* Add check for unauthenticated error and sign out in fetchNewRelase method

* Update CHANGELOG

* Add check for Tester sign in before calling fetch
2020-10-02 14:36:20 -04:00
Paul Beusterien f2bcd5d82b Make all GoogleUtilities APIs public (#6588) 2020-09-29 07:26:10 -07:00
Cleo Schneider 9bb809ca5a Update the API service to log the returned message from the API (#6458)
* Update the API service to log the raw message from the API

* Update CHANGELOG

* Run style script

* Update log formatting and changelog
2020-09-14 17:51:46 -04:00
Jeremy Durham 130d76a665 [App Distribution] Remove typedefs (#6281)
Stop using typedefs for completion blocks in public APIs so that Xcode is more usable in Swift:
2020-08-17 10:46:29 -04:00
Jeremy Durham d686427cc0 [App Distribution] Show new build alert when version (or build) changes (#6255)
Show new build alert when version (or build) changes
2020-08-12 10:36:38 -04:00
16e062c355 Switch App Distribution SDK from AppAuth to FirebaseInstallations (#6126)
* 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>
2020-07-28 16:39:29 -04:00
Paul Beusterien d653c9584c Update copyright presubmit and fix 2020 copyrights (#5944) 2020-06-29 13:16:19 -07:00
Paul Beusterien d4621a636f Use preserve_paths instead of CocoaPods private (#5758) 2020-06-09 05:21:28 -07:00
ec670ae0bb Persist auth information to the iOS keychain (#5460)
* 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>
2020-04-30 14:29:33 -04:00
Jeremy Durham 7757c73670 App Distribution: Implement code hash generation and verification (#5432)
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.
2020-04-23 13:09:50 -04:00
Pranav RajgopalandJeremy Durham 3fafd8d19a App distribution new build alerts sdk (#5204)
* 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>
2020-04-15 13:51:02 -04:00