noun • [ masculine ] /ali’sɛɾsɪ/
groundwork, foundation, basis
What is it? 🤔
Ever felt that you keep repeating yourself every time you start a new project? That you would like to have all those useful utils and helpers you love already available? We felt that way too! Thus, Alicerce was born. 🏗
Alicerce is a framework that aims to serve as a starting point for iOS applications, by providing the foundations for many of the common functionalities a modern application requires, as well as be a repository for those small utils and helpers that make our life easier.
It is designed with an MVVM architecture in mind, but you'll find most components are architecture agnostic.
Main features ✨
All the documentation can be found in the Documentation folder:
- more coming soon...
Alicerce supports iOS 9.0+ and requires Xcode 10+.
For Xcode 9.3 (Swift 4.0) compatibility, Alicerce 0.3.0 should be used.
If you use CocoaPods to manage your dependencies, simply add Alicerce to your
pod 'Alicerce', '~> 0.4'
If you use Carthage to manage your dependencies, simply add Alicerce to your
github "Mindera/Alicerce" ~> 0.4
If you use Carthage to build your dependencies, make sure you have added
Alicerce.framework to the
"Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build
Swift Package Manager
If you use Swift Package Manager, simply add Alicerce as a dependency of your package in
.Package(url: "https://github.com/Mindera/Alicerce.git", majorVersion: 0, minor: 4),
- Add this repository as a submodule.
- Drag Alicerce.xcodeproj into your project or workspace.
- Link your target against Alicerce.framework.
- If linking against an Application target, ensure the framework gets copied into the bundle. If linking against a Framework target, the application linking to it should also include Alicerce.
Setting up the project for development is simple:
- Clone the repository.
- Retrieve the project dependencies using one of the following commands from the project root directory:
- if you have Carthage installed:
git submodule update --init --recursive
- if you have Carthage installed:
Alicerce is Copyright (c) 2016 - 2018 Mindera and is available under the MIT License. It is free software, and may be redistributed under the terms specified in the LICENSE file.
With ❤️ from Mindera 🤓
Help us keep the lights on
0.4.0 - Nov 7, 2018
- Migrate to Swift 4.2 🚀 (#172)
0.3.0 - Nov 5, 2018
- Add documentation to the network layer 📄 (#142)
antitypical/Resultas a dependency (#144, #146)
- Logging improvements (#145, #147)
- Analytics improvements 📊 (#148, #152)
- Performance Metrics improvements 📈 (#151)
- Implement resource retry mechanisms ♻️ (#153, #160)
- Persistence improvements (#157, #158, #159)
CommonCryptointegration (#164, #165, #166, #169)
UIImageconvenience init from Base64
String.localizedvariant with support for arguments (#154)
- Improve Cancelable and Network cancellation ❌ (#171)
0.2.1 - Jun 18, 2018
- Add missing
- Fix wrong range in HTTP redirection error. (#143)
0.2.0 - May 25, 2018
- Migrate to Swift 4.1 and Xcode 9.3 (#117)
Sequenceutils APIs (#120)
- Add Certificate Pinning (#125)
0.1.0 - Apr 20, 2018
This is the first release of Alicerce 🎉
Since we were essentially the only ones using it (and we didn't publicize it), it was purposedly kept without versioning all this time to avoid the burden of maintaining versions while we were actively developing it. 😅
However, we felt that the time had finally come for Alicerce to follow a "decent" release process, so that we can make breaking changes more safely, while also making way for wider adoption of the framework. 🚀
Thanks to everyone that made it possible! 🙌