The iOS application of the OpenWallet. Support iOS 15.0 or later.
OpenWallet is a mobile application that serves as an open platform for digital assets.
This project use XcodeGen to generate the Xcode project using the folder structure and a project spec.
- Install XcodeGen, for example, with Homebrew
- Run
brew install xcodegen
in terminal. Note: you may need to upgrade Homebrew to3.5.2
or later version. - Run
xcodegen --version
in terminal and confirm version2.29.0
or later version has been installed.
- Run
- In terminal, navigate to the project folder, i.e.
openharbor-aesg-ios
folder - Run
xcodegen generate
in terminal, theOpenWallet.xcodeproj
should be generated. - Open the ios app project with Xcode and run the application.
.
├─ config # scheme configuration file (debug, release)
│ ├─ debug.xcconfig
│ ├─ release.xcconfig
├─ Frameworks # local dependecies libraries
├─ OpenWallet # Source files (alternatively `lib` or `app`)
│ ├─ Certificates
│ ├─ **** Server Cert **** # certificate of backend server in production environment for ssl pinning. Note: replace it with your own cert file that matches your backend environment
│ └─ ...
├─ OpenWalletTests # Automated unit test cases
├─ OpenWalletUITests # Automated UI test cases
├─ scripts # scripting files
├─ vendor # vendor libraries, e.g. RASP
├─ README.md # script files
├─ .gitignore
├─ .gitlab-ci.yml # Gitlab CICD pipeline configuration file
├─ .swiftlint.yml # configuration for swift lint
├─ project.yml # configuration file for Xcodegen
├─ LICENSE
└─ README.md
Configure the debug.xcconfig
and release.xcconfig
file to customize the application. Find key configuration options below.
Options:
OW_APP_NAME
# The application nameOW_APP_DISPLAY_NAME
# The display name of the application on the iOS device once installedOW_APP_BUNDLE_ID
# Applicaton Bundle IDOW_HIDE_COVER_SCREEN
# Option to toggle the show/hide of the cover screen. Set toYES
to hide the cover screen,NO
to show.OW_ENABLE_SSL_PINNING
# Option to toggle whether ssl pinning should be enable. Set toYES
to enable, andNO
to disableCODE_SIGNING_ALLOWED
# Code signning setting for building the iOS application. Set toYES
to allow code signning, andNO
to not allowOW_SERVER_CERTIFICATE_FILE_NAME
# name of the certificate of the backend server. Note: this is required for certificate pinning, and is optional for public key pinningOW_SERVER_CERTIFICATE_FILE_EXTENSION
# file extension of the server certificateOW_SERVER_HOST
# Host of the backend server (without http/https protocol)OW_MIDDLE_LAYER_BASE_URL
# Full base url of the backend serverINCLUDE_SERVER_GATEWAY_ACCESS_COOKIE
# Option to turn server gateway access cookie on and off. Set toYES
to turn on,NO
to turn offOW_SERVER_GATEWAY_ACCESS_COOKIE_NAME
# Name of the access cookieOW_SERVER_GATEWAY_ACCESS_COOKIE_VALUE
# Value of the access cookieOW_IPFS_GATEWAY_DOMAIN_URL
# Domain url of the IPFS gateway. Note: currently, nft assets are hosted on IPFSIPFS_TOKEN_URI_PREFIX
# The prefix of URI of tokens hosted on IPFS.