Truvera Documentation portal
WebsiteTruvera Workspace
  • Truvera overview
    • Decentralized identity explained
    • Roadmap
    • Subscription plans & billing
  • Solutions
    • Biometric-Bound Credentials
  • Truvera Workspace
    • Create an organization profile (DID)
    • Issue verifiable credentials
      • Filtering, downloading and deleting credentials
    • Verify credentials
    • Create a schema
    • Create a design
    • Team management
      • Inviting a team member
      • Removing a team member
      • Changing team member roles
      • Data retention policies
      • Sub-accounts
    • Revoking credentials
    • Ecosystem Tools
      • Ecosystem set up
      • Ecosystem example
    • Monetizing credentials
      • Setting up monetizable credentials
    • Creating API keys and webhook endpoints
    • Transaction history
    • Custom branded distribution emails
    • Truvera Workspace release notes
      • 2025 Release notes
        • Release notes Q1 2025
      • 2024 Release notes
        • Release Notes February 2024
        • Release Notes March 2024
        • Release Notes April 2024
        • Release Notes May 2024
        • Release Notes June 2024
        • Release Notes July 2024
        • Release Notes August 2024
        • Release Notes September 2024
        • Release Notes October 2024
        • Release notes November 2024
        • Release notes December 2024
  • Truvera API
    • Getting started
    • Webhooks
      • Webhooks API endpoints
    • Sample Postman collections
      • Issue-Store-Verify sample flow
      • Create ecosystems
      • Issue monetizable credentials
      • Create sub-accounts
      • Issue OpenID credentials
    • Truvera Swagger UI
    • DIDs
    • Profiles
    • Credentials
    • Presentations
      • Proof templates
      • Proof requests
      • Other proof endpoints
    • Registries
    • Revocation Status
    • Credential Schemas
    • Jobs
    • Templates
    • Sub-accounts
    • Teams
    • Messaging
    • OpenID
      • OpenID Issuance and Verification Integration Guide
    • iden3comm
    • Ecosystem Tools
      • Trust Registry Integration Guide
      • Creating a Trust Registry
      • Inviting participants
      • Verifiers and Public info
      • Trust Registry Schemas
      • Trust Registry Proof Templates
      • Reports
      • Updating and Deleting Trust Registry
    • Issuing paid credentials (KVAC algorithm integration)
    • Data
    • Verify
    • Keys
    • Schemas
  • System architecture
    • Proposed architecture with Truvera
    • Revocation
    • System scalability
    • Security policies
    • How data is processed and stored
  • Supported standards
    • Interoperability with OpenID
  • Credential wallet
    • Create and manage DIDs in the Truvera Wallet
    • White label wallet
      • Configuration
        • Enabling and Disabling Features
        • Customizing the Styling
        • Configuring for Android Builds
        • Configuring iOS Builds
      • Publishing in App Stores
        • Android Build Testing and Publishing
        • iOS Build Testing and Publishing
    • Wallet SDK
      • Getting started
        • Example Credential
        • Presentation definition
        • Verify credentials
      • Cloud wallet
      • Biometric plugin
      • Ecosystem Tools
    • Download Truvera Wallet
    • Truvera Wallet release notes
      • Release Notes 2025Q1
      • Release Notes 2024Q4
      • Release Notes 2024Q3
        • Release Notes September 2024
        • Release Notes August 2024
        • Release Notes July 2024
      • Release Notes June 2024
      • Release Notes May 2024
      • Release Notes April 2024
  • Open source community
    • Code of Conduct
    • Truvera Credential SDK
    • Blockchain archives
      • DOCK token
        • Migration terms and conditions
  • Support
    • System Status
    • Discord
    • Support services
    • Security policy
Powered by GitBook
On this page
  • Enable the iOS build
  • Setup App
  • Register an App ID
  • Register an iCloud Container
  • Assign the iCloud Container to your App ID
  • Configure Push Notifications for your App ID
  • Setup Firebase for your app
  • Generate Signing Certificates for iOS

Was this helpful?

Edit on GitHub
  1. Credential wallet
  2. White label wallet
  3. Configuration

Configuring iOS Builds

PreviousConfiguring for Android BuildsNextPublishing in App Stores

Last updated 3 months ago

Was this helpful?

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 .

Enable the iOS build

In the ../build-config.json file set build-ios: true.

Setup App

  1. Sign up for an

  2. Create your new app

Register an App ID

  1. Go to

  2. Click on the (+) to add a new Identifier

  3. Select App Ids and click Continue

  4. Select App and click Continue

  5. Enable the following Capabilities

    • iCloud (include CloudKit support)

    • Push Notifications

    • Time Sensitive Notifications

  6. Add a Bundle ID (for consistency use the same bundle ID that you used for Android)

  7. Click on Continue

  8. Click on Register

Register an iCloud Container

  1. 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

  1. Select the App ID you created in the previous step

  2. Scroll down to the iCloud capability

  3. Click on the Configure (or Edit) button

  4. Select your iCloud Container from the list and click Continue

Configure Push Notifications for your App ID

  1. Select the App ID you created above

  2. Scroll down to the Push Notifications capability

  3. 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

  1. Register your app as iOS app. You can find your Bundle Identifier here: https://developer.apple.com/account/resources/identifiers/list

  1. Upload Apple Push Notification certificates

  • Go to Project Settings -> Cloud Messaging

  • Scroll down to Apple app configuration

  • Expand the APNs Certificates section

  • Upload the Development and Production SSL certificates you created in the previous step

  1. Go back to Project Settings -> Cloud Messaging and download the GoogleService-Info.plist file

  2. Replace 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.

NOTE: This requires access to a computer running MacOS.

Using 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

xcode-select --install

Install fastlane using

[sudo] gem install fastlane -NV

or alternatively using brew install fastlane

Usage

Navigate to your project folder and run

# use match to generate the certificates and push to this repo
# IMPORTANT: This is a interactive cli, and will ask you to provide a password to encrypt match certs
# Make sure to save this password, it will be needed later on
# NOTE: these commands assume a Git branch named "dev" is being used
fastlane match appstore --git_branch "dev" --skip_docs
fastlane match development --git_branch "dev" --skip_docs

Update packaging.config

Set the following values in the ../packaging.config file.

# MATCH_PASSWORD is the password you entered during the fastlane command
MATCH_PASSWORD=<use the same password you used running fastlane>
MATCH_REPOSITORY=<this repository name>
FASTLANE_TEAM_ID=<UPDATE WITH YOUR TEAM ID>
IOS_BUNDLE_ID=<generated on https://developer.apple.com/account/resources/identifiers/list>>

Go to the list

Go to the list

Go to the list

Sign up for a . Note: Android and iOS apps can share the same Firebase account

To achieve this we are going to use .

Make sure you have the latest version of the command line tools installed:

For more information see the

here
Apple Developer account
in App Store Connect
Identifiers
iCloud Containers
Identifiers
Identifiers
Firebase account
Fastlane actions
Xcode
fastlane match git repo