Useful Swift code samples, extensions, functionalities and scripts to cherry-pick and use in your projects.
The idea behind this project is not to be a
pod that users import into their own projects, but rather a collection of useful ideas, well-organized and documented, to cherry-pick as needed into another projects. Every new piece of functionality will have a proper document explaining it’s usage under the
brew install swiftlint
Configure the Git Hooks
git config core.hooksPath .githooks
pod installon the root of the project
SwiftyPick.xcworkspace with Xcode
- Add support for multiple Color Palettes: Easily handle multiple color palettes in your app.
- AutoLayout helper methods: Lightweight classes for declarative auto layout.
- SwiftGen: Get autogenerated instances of colors, images, and localized strings.
// TODO //
- Xcode Test Plans: Configure different test plans in your project in order to test different configurations.
// TODO //
- Danger: Configure Danger and add a Github Action to run the script on every PR.
- Jazzy: Configure Jazzy to get autogenerated
htmlfiles for documentation.
- Fastlane: Configure Fastlane in your project and add a Github Action to run the tests on every PR to
- Run Test Plans on Fastlane: Configure your fastfile to run different test plans.
- Set up PR and Issue templates: How to add a Pull Request or Issue template to your project.
- Github Actions: How to add a Github Actions and make them run on Pull Requests.
- SwiftLint: How to add and configure SwiftLint rules.
- Sort Project files alphabetically: Keep the Xcode project files sorted alphabetically and avoid conflicts in the
This is the list of things I want to add to the project in the near future:
- Logger: Object to log useful information to the console (and to report to analytics/crashlytics)
- NumberFormatter + Regional unit tests (ie: check the
.separator for decimals/thousands depending on the region)
- CurrencyFormatter + Regional unit tests
- DateFormatter + Regional unit tests
- Dynamic Fonts (For accessibility)
- UITests layer using Page Object pattern
- Schemes (prod/dev)
- UserDefaults easy access / FeatureFlags using UserDefaults
- UIView extension with some basic animations
- UITableViewCell/UICollectionViewCell extension for
- Firebase integration (Analytics/Crashlytics/AB Testing/Flags)
- Custom Operators from the
- GraphQL support
- A tableview in the home, where each cell will be the entry point to each feature (ie: color palettes, networking call via http, networking via graphQL, UI components, animations, formatters, etc)
- Settings view: dark mode, color palette, app icon, local feature flags, display backend calls for debug, change accessibility features, etc
Check out the Contribution guide