Swiftpack.co - Package - Mindera/Alicerce

Alicerce πŸ—

from Portuguese:

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

groundwork, foundation, basis

license release platforms Swift 5 Carthage CocoaPods SwiftPM Build Status codecov Join the chat at https://gitter.im/Mindera/Alicerce

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

Compatibility βœ…

0.7.0 (latest) ... master

  • iOS 10.0+
  • Xcode 10.2
  • Swift 5.0

0.6.0

  • iOS 9.0+
  • Xcode 10.2
  • Swift 5.0

0.4.0 ... 0.5.0

  • iOS 9.0+
  • Xcode 10
  • Swift 4.2

0.2.x ... 0.3.0

  • iOS 9.0+
  • Xcode 9.3
  • Swift 4.1

0.1.0

  • iOS 9.0+
  • Xcode 9
  • Swift 4.0

CocoaPods

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

pod 'Alicerce', '~> 0.7'

Carthage

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

github "Mindera/Alicerce" ~> 0.7

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", from: "0.7.0"),

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.

Setup πŸ› 

Setting up the project for development is simple:

  1. Clone the repository.
  2. Open Alicerce.xcworkspace
  3. Build Alicerce scheme

Contributing πŸ™Œ

See CONTRIBUTING.

License βš–οΈ

Alicerce is Copyright (c) 2016 - present Mindera and is available under the MIT License. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About πŸ‘₯

With ❀️ from Mindera πŸ€“

Github

link
Stars: 403
Help us keep the lights on

Dependencies

Used By

Total: 1

Releases

0.7.0 - May 24, 2019

Changes

  • Remove TODO and FIXME placeholders (#198)
  • Remove iOS 9 support πŸ‘‹ (#196)
  • Add _modify accessor to Atomic.value (#199)

0.6.0 - May 4, 2019

Changes

  • Migrate to Swift 5 πŸš€ (#193)
  • Create CocoaPods subspecs πŸ• (#195)

0.5.0 - Apr 26, 2019

Changes

  • Improve cancellation handling in NetworkStore's (#173)
  • Propagate errors on .cancelled network store errors (#174)
  • Propagate URLResponse on NetworkStack (#175)
  • Ignore custom controls in Keyboard Observer (#176)
  • Bump antitypical/Result to 4.1.0 (#180)
  • Make NetworkResource request creation async πŸ“¬ (#179)
  • Add missing CoreData tests and some improvements πŸ›’ (#181)
  • Avoid over-release bug when nesting errors (#182)
  • Add more missing tests, minor improvements πŸ•΅οΈβ€β™‚οΈ (#183)
  • Add finishFetchesAndInvalidateSession to URLSessionNetworkStack (#185)
  • Add configurable internal logger πŸ“ (#186)
  • Make APIError's great again ✊ (#187)
  • Split Resource (and friends) into small protocols πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ (#188)
  • Rename DefaultLogger to MultiLogger πŸ“„ (#189)
  • Fix Network playground 🎳 (#190)
  • NIB Additions to Table and Collection view cells (#184)
  • Multiple clean ups and minor additions 🧹 (#191)

0.4.0 - Nov 7, 2018

Changes:

  • Migrate to Swift 4.2 πŸš€ (#172)

0.3.0 - Nov 5, 2018

Changes:

  • Add documentation to the network layer πŸ“„ (#142)
  • Add antitypical/Result as a dependency (#144, #146)
  • Logging improvements (#145, #147)
  • Analytics improvements πŸ“Š (#148, #152)
  • Performance Metrics improvements πŸ“ˆ (#151)
  • Add Token and Tokenizer (#150)
  • Implement resource retry mechanisms ♻️ (#153, #160)
  • Improve DiskMemoryPersistenceStack πŸ“Ό (#156)
  • Persistence improvements (#157, #158, #159)
  • Make NetworkStack conditionally a NetworkStore (#162)
  • Improve CommonCrypto integration (#164, #165, #166, #169)
  • Add UIImage convenience init from Base64 String (#155)
  • New String.localized variant with support for arguments (#154)
  • Improve Cancelable and Network cancellation ❌ (#171)