Enable Identity Example app to be uploaded to TestFlight via Fastlane (#156)

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
This commit is contained in:
Mel 2021-03-24 16:01:08 -07:00
parent 43afb4d9cd
commit 5e61d15907
20 changed files with 48 additions and 20 deletions

View File

@ -321,6 +321,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = Y28TH9SHX7;
INFOPLIST_FILE = "IdentityVerification Example/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
@ -332,6 +333,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
@ -341,6 +343,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = Y28TH9SHX7;
INFOPLIST_FILE = "IdentityVerification Example/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
@ -352,6 +355,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};

View File

@ -1,91 +1,115 @@
{
"images" : [
{
"filename" : "Icon-App-20x20@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "Icon-App-20x20@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"filename" : "Icon-App-29x29@1x.png",
"idiom" : "iphone",
"scale" : "1x",
"size" : "29x29"
},
{
"filename" : "Icon-App-29x29@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "Icon-App-29x29@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"filename" : "Icon-App-40x40@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "Icon-App-40x40@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"filename" : "Icon-App-60x60@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"filename" : "Icon-App-60x60@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"filename" : "Icon-App-20x20@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"filename" : "Icon-App-20x20@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "Icon-App-29x29@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"filename" : "Icon-App-29x29@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "Icon-App-40x40@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"filename" : "Icon-App-40x40@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "Icon-App-76x76@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"filename" : "Icon-App-76x76@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"filename" : "Icon-App-83.5x83.5@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"filename" : "ItunesArtwork@2x.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"

View File

@ -6,6 +6,8 @@
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -31,6 +33,8 @@
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>

View File

@ -25,24 +25,20 @@ SLACK_URL_ENV_VAR = "SLACK_URL"
# * Run `fastlane docs` to regenerate the README.
# * Instructions: https://confluence.corp.stripe.com/pages/viewpage.action?pageId=279069568
APPS = {
# NOTE(mludowise): The following is commented out because the identity example
# app only exists on the `identity-beta` branch.
#
# To add a different example app to TestFlight, duplicate and update the entry
# below.
#
# "identity_example" => {
# # Describes the use of this app. This will be included in the ./fastlane/README.md
# "description" => "Demonstrates capabilities of IdentityVerificationSheet",
# # Path to project
# "project" => "./Example/IdentityVerification Example/IdentityVerification Example.xcodeproj",
# # Bundle identifier for this app. This must be registered in App Store Connect before uploading via fastlane.
# "identifier" => "com.stripe.example.IdentityVerification-Example",
# # Name of the run scheme
# "scheme" => "IdentityVerification Example",
# # Will be used in the git tag for this version (e.g. 'build-2-identity_example')
# "tag_postfix" => "identity_example",
# }
"identity_example" => {
# Describes the use of this app. This will be included in the ./fastlane/README.md
"description" => "Demonstrates capabilities of IdentityVerificationSheet",
# Path to project
"project" => "./Example/IdentityVerification Example/IdentityVerification Example.xcodeproj",
# Path to workspace this project is in
"workspace" => "./Stripe.xcworkspace",
# Bundle identifier for this app. This must be registered in App Store Connect before uploading via fastlane.
"identifier" => "com.stripe.example.IdentityVerification-Example",
# Name of the run scheme
"scheme" => "IdentityVerification Example",
# Will be used in the git tag for this version (e.g. 'build-2-identity_example')
"tag_postfix" => "identity_example",
}
}
# TODO(mludowise|RUN_MOBILESDK-120): Update tests for iOS 14.5 & use

View File

@ -142,7 +142,7 @@ fastlane ios store
#### Options:
| Argument | Description | Expected Value |
| -------- | ----------- | -------------- |
| `app` | The app to build and submit (required). | <ul></ul> |
| `app` | The app to build and submit (required). | <ul><li>`identity_example` Demonstrates capabilities of IdentityVerificationSheet</li></ul> |
| `username` | Your Apple Developer username (required). | {{youruser}}@stripe.com |
### ios store_test
@ -156,7 +156,7 @@ fastlane ios store_test
#### Options:
| Argument | Description | Expected Value |
| -------- | ----------- | -------------- |
| `app` | The app to build and submit (required). | <ul></ul> |
| `app` | The app to build and submit (required). | <ul><li>`identity_example` Demonstrates capabilities of IdentityVerificationSheet</li></ul> |
| `username` | Your Apple Developer username (required). | {{youruser}}@stripe.com |