Lion iOS
Lion iOS app written in Swift
README last updated July 15, 2021
Requirements
IDE & OS versions
- Xcode 12
- Minimum iOS version of 13.2
Supported Platforms
- iOS – iPhone only due to HealthKit integration
Dependencies
This project uses internal private packages managed through the Swift Package Manager, so access to the following GitHub repositories will also be required in order to build the Xcode project:
NOTE: Xcode will ask for a GitHub personal access token for your user account in order to be able to authentication and download from other private repos. On GitHub > Settings > Developer Settings > Personal Access Tokens, there is an option on your PAC that says “Enable SSO”. You need to enable Evidation’s SSO otherwise you are likely to continue to get authentication issues even after you add you PAC.
There is a git-ignored file called PrivateConfig.plist
that needs to be configured. You can copy the template using the command cp Modules/Lion-App/Lion/PrivateConfigTemplate.plist Modules/Lion-App/Lion/PrivateConfig.plist
from the root of the git repo. Settings in this file are local only and do not get committed to git.
During the build process, Xcode will attempt to create a seed database by pulling app content from the server. In PrivateConfig.plist
, you will need to specify a valid auth token under SeedCreationTokensPerEnvironment
for each environment for which you want to build and include the seed database. Alternatively, you can disable seed database creation by setting the value of ShouldSkipSeedDatabaseCreation
to YES
.
Build & Run
Aside from the package dependencies mentioned above, you will also need a user account per environment to actually use the app. Follow the Onboarding process below to activate an account.
Running different schema
Tha application has a variety of build schema within Xcode.
Schema | Purpose |
---|---|
Lion | [need description] |
Lion-BETA | [need description] |
Lion-DEV | [need description] |
Lion-QA | [need description] |
Lion-Seed | [need description] |
Lion-STAGE | [need description] |
Onboarding – Setting up an account
- Check for an available UINFIN number in this file
- Any available number can be claimed in the
Dev
andQA
environmnents forAlpha
andBeta
consult with the QA team for access
- Any available number can be claimed in the
- From the welcome page of the app choose to Sign up for LumiHealth
- Follow the prompts to reach the Continue with Mock Pass option
- Choose the claimed UINFIN number from the dropdown & Login
- Complete the remaining onboarding steps
Contributing
This repo uses a manual Gitflow workflow for branch management. When working on this project, a typical scenario for contributing would be:
- Have a Jira ticket assigned to you.
- Create a branch in the
feature
folder of the project. - When ready for a code review and for merging your work into the project, issue a PR to the merge your feature branch into
develop
.- At least one reviewer must review and approve your code
- Once approved, [?] will issue the merge manually…[need to complete this]
CI/CD
[need info on the flow for deployment to various environment and who how and when they happen]
Documentation
Main Documentation
Type | Link |
---|---|
Confluence | https://achievements.atlassian.net/wiki/spaces/LION/overview |
Jira | https://achievements.atlassian.net/secure/RapidBoard.jspa?rapidView=123 |
GitHub Wiki | https://github.com/evidation-health/lion-client/wiki (new) |
Additional Links
Team
Product
- Amy Bass
- Kat Messina
Engineering
- Stefan Compton – Lead
- Mel Walker
- Ben Fisher
- Paul Bonneville