Swiftpack.co - Package - Mindera/Alicerce

Alicerce πŸ—

from Portuguese:

noun β€’ [ masculine ] /ali’sΙ›ΙΎsΙͺ/

groundwork, foundation, basis

license release platforms Swift 4.1 Carthage CocoaPods SwiftPM Build Status codecov

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 ✨

  1. Analytics πŸ”
  2. Deep Linking πŸ”—
  3. Logging πŸ“
  4. Network 🌍
  5. Persistence πŸ’Ύ
  6. Performance Metrics πŸ“ˆ
  7. Utils βš™οΈ
  8. UI πŸ“²

Documentation

All the documentation can be found in the Documentation folder:

  1. Network
  2. more coming soon...

Examples πŸ‘€

TODO

Installation πŸ”§

Alicerce supports iOS 9.0+ and requires Xcode 9.3+.

Important note regarding CommonCrypto ⚠️

Since Apple's CommonCrypto isn't directly importable from Swift yet, Alicerce uses a dummy CCommonCrypto framework defined in a custom modulemap.

This modulemap requires that the header /usr/include/CommonCrypto/CommonCrypto.h is available, so please ensure it is present on your machine/CI environment. If not, you should run xcode-select --install to install it.

CocoaPods

If you use CocoaPods to manage your dependencies, simply add Alicerce to your Podfile:

pod 'Alicerce', '~> 0.2'

Carthage

If you use Carthage to manage your dependencies, simply add Alicerce to your Cartfile:

github "Mindera/Alicerce" ~> 0.2

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 phase.

Swift Package Manager

If you use Swift Package Manager, simply add Alicerce as a dependency of your package in Package.swift:

.Package(url: "https://github.com/Mindera/Alicerce.git", majorVersion: 0, minor: 2),

git Submodule

  1. Add this repository as a submodule.
  2. Drag Alicerce.xcodeproj into your project or workspace.
  3. Link your target against Alicerce.framework.
  4. 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.

Contributing πŸ™Œ

See CONTRIBUTING.

With ❀️ from Mindera πŸ€“

Github

link
Stars: 339
Help us keep the lights on

Dependencies

Releases

0.2.1 - Jun 18, 2018

Changes:

  • Add missing public init on BuilderCache (#139)
  • Equatable and Hashable revision (#141)
  • Fix wrong range in HTTP redirection error. (#143)

0.2.0 - May 25, 2018

Changes:

  • Migrate to Swift 4.1 and Xcode 9.3 (#117)
  • Revise Dictionary and Sequence utils APIs (#120)
  • Router and TreeRouter improvements (#127)
  • Add BuilderCache (#128, #134)
  • Logging improvements (#130)
  • 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! πŸ™Œ