| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
iOS base is a boilerplate project created by Rootstrap for new projects using Swift 5. The main objective is helping any new projects jump start into feature development by providing a handful of functionalities.
This template comes with:
To manage user and session persistence after the original sign in/up we store that information in the native UserDefaults. The parameters that we save are due to the usage of Devise Token Auth for authentication on the server side. Suffice to say that this can be modified to be on par with the server authentication of your choice.
We have developed other libraries that can be helpful and you could integrate with the dependency manager of your choice.
In order for the project to run, you have to follow these steps:
See the Firebase documentation for more information.
In order to meet the required code quality standards, this project runs SwiftLint during the build phase and reports warnings/errors directly through XCode.
NOTE: It's needed to install SwiftLint into your local machine to report warnings/errors.
The current SwiftLint rule configuration is based on Rootstrap's Swift style guides and is synced with the CodeCliemate's configuration file.
NOTE: Make sure you have SwiftLint version 0.35.0 or greater installed to avoid known false-positives with some of the rules.
We strongly recommend that all private keys be added to a secrets.xcconfig file that will remain locally and not be committed to your project repo.
Note: The setup-env script will fill in the secrets.xcconfig for Staging and Release builds. Use secrets.dev.xcconfig for the Debug Build Configuration.
We recommend using AWS S3 for storing .xcconfig files containing all secrets, as well as any other sensitive files. Alternatively when not using Fastlane Match (eg might not be compatible with some CICD systems), AWS S3 can also be used for storing Certificates, Private Keys and Profiles required for app signing. The CICD code examples (described below) make use of the AWS CLI to download any files relevant for our project from a predefined bucket and folder
Another alternative for managing sensitive files whithin the repo using Git-Secret can be found in the feature/git-secret branch
We are going to start using a tool called Bitrise to configure de CI/CD pipelines for mobiles apps.
--> For iOS apps you can find how to do it in this link: https://www.notion.so/rootstrap/iOS-CI-CD-01e00409a0144f5b85212bf889c627dd
We use Fastlane to automate code signing, building and release to TestFlight.
See details in Fastlane folder.
We recommend GitHub Actions for integrating Fastlane into a CI/CD pipeline. You can find two workflows in the GitHub workflows folder:
Alternatively you can merge branch feature/jenkins for some equivalent CICD boilerplate with Jenkins.
On both alternatives we assume usage of Fastlane match for managing signing Certificates and Profiles, and AWS S3 for storing other files containing third-party keys
iOS-Base is available under the MIT license. See the LICENSE file for more info.
NOTE: Remove the free LICENSE file for private projects or replace it with the corresponding license.
iOS Base is maintained by Rootstrap with the help of our contributors.
| Back | FazBrowse Home | New Git URL |