All Projects → johnfairh → TMLPersistentContainer

johnfairh / TMLPersistentContainer

Licence: ISC license
Shortest-path multi-step Core Data migrations in Swift

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to TMLPersistentContainer

Cloudcore
Framework that enables syncing between iCloud (CloudKit) and Core Data
Stars: ✭ 146 (+873.33%)
Mutual labels:  cloudkit, coredata
Synckit
Automatic CloudKit synchronization
Stars: ✭ 280 (+1766.67%)
Mutual labels:  cloudkit, coredata
Jotify
Sticky notes reimagined - written in Swift
Stars: ✭ 79 (+426.67%)
Mutual labels:  cloudkit, coredata
Ricloud
Python client for Reincubate's ricloud API. Yes, it works with iOS 14 & iPhone 12 backups!
Stars: ✭ 71 (+373.33%)
Mutual labels:  cloudkit
Basecomponents
BaseComponents aims to provide easily reusable and understandable components to increase productivity with UIKit and Foundation APIs
Stars: ✭ 92 (+513.33%)
Mutual labels:  cloudkit
Seam3
Cloudkit based persistent store for Core Data
Stars: ✭ 207 (+1280%)
Mutual labels:  cloudkit
ios-conference
iOS.Conf by Taxibeat app ⌚️📱
Stars: ✭ 14 (-6.67%)
Mutual labels:  cloudkit
Notetaker
A simple note taking app for macOS and iOS which uses Realm and CloudKit for syncing
Stars: ✭ 156 (+940%)
Mutual labels:  cloudkit
Arek
AREK is a clean and easy way to request any kind of iOS permission (with some nifty features 🤖)
Stars: ✭ 947 (+6213.33%)
Mutual labels:  cloudkit
Cloudkit Demo.objective C
Stars: ✭ 133 (+786.67%)
Mutual labels:  cloudkit
Skiathos
A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Objective-C flavour.
Stars: ✭ 19 (+26.67%)
Mutual labels:  coredata
Mistkit
Swift Package for Server-Side and Command-Line Access to CloudKit Web Services
Stars: ✭ 129 (+760%)
Mutual labels:  cloudkit
Todolist
A simple ToDoList written in Swift
Stars: ✭ 100 (+566.67%)
Mutual labels:  cloudkit
Crdt Playground
Stars: ✭ 215 (+1333.33%)
Mutual labels:  cloudkit
iOSSwiftStarter
A sample iOS app written in Swift using the VIPER architecture.
Stars: ✭ 73 (+386.67%)
Mutual labels:  coredata
Cirrus
☁️ Simple CloudKit sync for Codable Swift models
Stars: ✭ 65 (+333.33%)
Mutual labels:  cloudkit
Cloudkitgdpr
Framework for allowing users to manage data stored in iCloud
Stars: ✭ 126 (+740%)
Mutual labels:  cloudkit
iOS-Developer-Nanodegree
Learn how to program apps for the iPhone and iPad
Stars: ✭ 20 (+33.33%)
Mutual labels:  coredata
podcatcher
Podcast App
Stars: ✭ 21 (+40%)
Mutual labels:  coredata
Project17-C-Map
Map SDK를 활용한 POI Clustering Interaction Dev.
Stars: ✭ 41 (+173.33%)
Mutual labels:  coredata

TMLPersistentContainer

CI codecov Pod Carthage compatible Platforms License

Automatic shortest-path multi-step Core Data migrations in Swift.

logo

A set of Swift extensions to Core Data's NSPersistentContainer and NSPersistentCloudKitContainer that automatically detect and perform multi-step store migration using the shortest valid sequence of migrations. The library supports both light-weight and heavy-weight migrations, multiple stores, progress reporting, and configurable logging.

Example

Minimally replace the call to NSPersistentContainer.init or NSPersistentCloudKitContainer:

container = PersistentCloudKitContainer(name: "MyStore",
                                        managedObjectModel: model)

Additional parameters optionally enable more features:

container = PersistentContainer(name: "MyStore",
                                managedObjectModel: model,
                                bundles: [Bundle.main, myResBundle],
                                modelVersionOrder: .list("V_One", "V_Two", "V_Six"),
                                logMessageHandler: myLogHandler)
container.migrationDelegate = self

All migrations happen as part of NSPersistentContainer.loadPersistentStores.

Documentation

Requirements

Swift 5 or later, Xcode 10.2 or later.

  • See the swift31 branch for a Swift 31 version.
  • See the swift4 branch for a Swift 4 version.
  • See the swift41 branch for a Swift 4.1 version.

The library is based on NSPersistentContainer so requires a minimum deployment target of iOS 10.0, macOS 10.12, tvOS 10.0, or watchOS 3.0.

The PersistentCloudKitContainer class is based on NSPersistentCloudKitContainer so further requires a minimum deployment target of iOS 13.0, macOS 10.15, tvOS 13.0, or watchOS 6.0.`

No additional software dependencies.

Installation

CocoaPods:

pod 'TMLPersistentContainer'

Swift package manager:

.Package(url: "https://github.com/johnfairh/TMLPersistentContainer/", majorVersion: 5)

Carthage:

github "johnfairh/TMLPersistentContainer"

Contributions

Contributions and feedback welcome: open an issue / [email protected] / twitter @johnfairh

License

Distributed under the ISC license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].