Emerald iOS Components
A framework containing Basic UI classes following the Emerald styleguide.
📚
Documentation The documentation on how to use the Framework in your application can be found in this project Wiki.
🤝
Contributing Want to help us make this SDK even better? You can find our contributing guide here.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes
Requirements
To run this project on your machine you'll need the latest version of:
Xcode
The default IDE for macOS and iOS, you can download it for free on the Mac App Store.
CocoaPods
A dependency manager for Cocoa projects. You can install it with the following command:
$ [sudo] gem install cocoapods
Git
The versioning system used on the project, its latest version can be downloaded here.
Installation
- Clone the project to your machine.
- Inside the project folder, run
$ pod install
on your terminal. - Open the
EmeraldComponents.xcworkspace
file with Xcode.
✅
Testing To be able to manually test the project and check for code coverage, execute the following steps:
- Open the
EmeraldComponents.xcworkspace
file. - Press
⌘
+U
. - Open the
Report navigator(⌘ + 9)
tab in the left Navigator. - Select the
{} Coverage
option on the list. - A coverage for the whole project and classes should be seen.
When opening a file the Editor Screen displays a green, red or stripped color on its left side of all executable code, showing which part of the code is being covered by tests. It doesn't mean that the method was indeed tested, it just indicates that a test method passed through that line of code while executing.
If you don't see that indication, enable it by going to Editor > Show Code Coverage
.
Code Quality
In order to always maintain the best quality of code and make sure of our code maintainability we use a couple of premises in our development and distribution pipelines.
SwiftLint
We use SwifLint as our linter to make sure we won't have structural problems or any bad practices on the code, you can find the rules applied to the project on our lint file here.
Coverage
Xcode already provides us code coverage information, we use it to automatically block any pull request that'd drop the project's coverage percentage to bellow 80.0%. Remember to always test your classes and methods.
License
This project is licensed under the Apache License - see the LICENSE.md file for details