Configuring iOS Builds
In order to generate the needed files to publish the wallet to the Apple Store several configuration steps are needed. You can read about getting started with iOS apps here.
Enable the iOS build
In the ../build-config.json file set build-ios: true
.
Setup App
Sign up for an Apple Developer account
Create your new app in App Store Connect
Register an App ID
Go to Identifiers
Click on the (+) to add a new Identifier
Select
App Ids
and click ContinueSelect
App
and click ContinueEnable the following Capabilities
iCloud (include CloudKit support)
Push Notifications
Time Sensitive Notifications
Add a Bundle ID (for consistency use the same bundle ID that you used for Android)
Click on Continue
Click on Register
Register an iCloud Container
Go to the iCloud Containers list
If you don't have an iCloud container already registered click on the (+) to add one
The identifier can look like iCloud.com.coolwallet
Assign the iCloud Container to your App ID
Go to the Identifiers list
Select the App ID you created in the previous step
Scroll down to the iCloud capability
Click on the
Configure
(orEdit
) buttonSelect your iCloud Container from the list and click Continue
Configure Push Notifications for your App ID
Go to the Identifiers list
Select the App ID you created above
Scroll down to the Push Notifications capability
Click on
Configure
Note: any time you make a change to your App ID you need to re-run fastlane match
. See instructions below.
Setup Firebase for your app
Sign up for a Firebase account. Note: Android and iOS apps can share the same Firebase account
Register your app as iOS app. You can find your Bundle Identifier here: https://developer.apple.com/account/resources/identifiers/list
Upload Apple Push Notification certificates
Go to
Project Settings
->Cloud Messaging
Scroll down to
Apple app configuration
Expand the
APNs Certificates
sectionUpload the Development and Production SSL certificates you created in the previous step
Go back to Project Settings -> Cloud Messaging and download the
GoogleService-Info.plist
fileReplace the
GoogleService-Info.plist
file in ../ios/GoogleService-Info.plist
Generate Signing Certificates for iOS
iOS requires that all apps be digitally signed with a certificate before they can be installed. In order to distribute your iOS application via Testflight or App Store it needs to be signed with a release key that then needs to be used for all future updates.
To achieve this we are going to use Fastlane actions.
NOTE: This requires access to a computer running MacOS.
Using fastlane match
fastlane match
This command will generate all of your certificates and provisioning profiles needed to build and sign your applications. They are encrypted using OpenSSL via a passphrase.
Do not modify the files generated by this command, as they get overwritten every time you run match.
The files need to be placed in the following folders.
./certs
This directory contains all your certificates with their private keys
profiles
This directory contains all the provisioning profiles
Installation
Make sure you have the latest version of the Xcode command line tools installed:
Install fastlane using
or alternatively using brew install fastlane
Usage
Navigate to your project folder and run
Update packaging.config
Set the following values in the ../packaging.config file.
For more information see the fastlane match git repo
Last updated