* Comment out UIApplication variables
* remove the legacy tests to see if there is something else going on
* added no-cache for testing
* Get legacy tests to work
* Add the current Bouncer unit tests to StripeScan
* Update bundle info
* remove commented out code and instead removed from test target
* Set up tests for StripeScan
* Comment out UIApplication variables
* remove the legacy tests to see if there is something else going on
* added no-cache for testing
* Get legacy tests to work
* Incrementing the example app version number from 1.0 -> 2.0 so build numbers don't conflict with Xcode Cloud
* Remove Fastlane lanes that were added to push to App Store Connect
- Added `StripeIdentity` as a product in `Package.swift` (this allows it to be installed using SPM)
- Updated Cocoapods to latest (1.10.2) to make installation tests happy
- Created a second set of SPM installation tests with a swift-only project so we could test `StripeIdentity` (since it's is swift-only)
- Updated Cocoapods, SPM, and Carthage projects to test StripeIdentity
Added an entry to the fastfile for the Identity example app so we could upload new builds to TestFlight using Fastlane.
Also updated the project's Info.plist to:
- Include app icons (otherwise App Store Connect rejects the build)
- Added `ITSAppUsesNonExemptEncryption` so we wouldn't need to fill out the encryption survey with every build upload
- Updated the build number using `fastlane ios store` command so it matches what's in App Store Connect
StripeCore tests:
- Migrated tests specific to classes in `StripeCore` to `StripeCoreTests`
- Created a `StripeCoreTestUtils` target to contain `MockAnalyticsClient` so the mock can be included in test targets for multiple SDKs
- Added StripeCore tests to `Fastfile` & `circleci/config.yml` so they'll run on our CI
- Updated the [Configure Tests](https://confluence.corp.stripe.com/display/~mludowise/%5BWIP%5D+iOS+SDK+Runbook%3A+Adding+a+new+module#id-[WIP]iOSSDKRunbook:Addinganewmodule-ConfigureTests) portion of our runbook for adding a new module to match the steps taken in this PR
Cleanup:
- Renamed `main_tests` and `standard-tests` to `stripeios-tests` in the Fastfile & circle yml so our test names match the module they're testing
- Added `DEFAULT_TEST_DEVICE` and `DEFAULT_TEST_VERSION` consts to our Fastfile to help ensure consistent testing platforms across our tests as we add more modules
Tried a few things to speed up our CI. It's 35% less expensive to run, and we can use this workspace-caching stuff to add more complex integration tests in the future.
The dynamic .xcframework can't be imported by Carthage, and requires that manual users embed Stripe3DS2.xcframework separately. Fix this by using the static Stripe3DS2.xcframework to create a combined Stripe.xcframework, like we distribute in the existing Objective-C version.