macOSアプリに、ユーザーがカスタマイズできるグローバルキーボードショートカットと、すぐに使える録画UIを追加できるSwiftパッケージです。
JohnEstropia/CoreStore
iOS、macOS、watchOS、tvOSアプリ向けに、AppleのCore Dataを型安全かつ並行処理に安全なAPIでラップするSwiftライブラリ。
- スター
- 4,048
- フォーク
- 257
- 未解決の Issue
- 98
- 最終コミット
- 先月
これは何?
CoreStoreは、AppleのCore DataフレームワークをラップするSwiftライブラリです。NSManagedObjectContext、NSFetchedResultsController、KVOにまつわる定型コードの多くを置き換え、データの取得、クエリ、保存、監視を行うための高水準なAPIを提供します。
書き込みはすべてシリアルなトランザクション(非同期、同期、またはunsafe)を介して行われ、メインコンテキストは読み取り専用のまま保たれます。.xcdatamodeldファイルの代わりに、CoreStoreObjectと型付きの@Fieldプロパティを使ってSwiftだけでモデルを定義でき、バージョンチェーンに基づいて段階的なマイグレーションを実行できます。CombineのPublisherとSwiftUIのプロパティラッパーも用意されています。
Swift 5.9に対応し、iOS 16以降、macOS 13以降、watchOS 9以降、tvOS 16以降を対象としています。CocoaPods、Carthage、Swift Package Managerからインストールできます。
主な機能
- 01すべての書き込みをシリアルトランザクションで実行し、メインコンテキストを読み取り専用に保ちます。
- 02CoreStoreObjectを使い、.xcdatamodeldファイルなしでSwift上に型安全なモデルを定義できます。
- 03モデルバージョンのマイグレーションチェーンに基づいて、段階的なマイグレーションを実行できます。
- 04where、orderBy、集計句を使える、流暢なFetch・クエリAPIを提供します。
- 05リストとオブジェクトを監視でき、差分更新に対応したリストも利用できます。
- 06CombineのPublisherとSwiftUIのプロパティラッパーを利用できます。
ユースケース
- 書き込み時の並行処理をより安全にしたい、Core Dataを使うiOSアプリの開発。
- Xcodeのモデルファイルではなく、SwiftコードだけでCore Dataモデルを定義する。
- 差分スナップショットを使い、永続化データに応じてUITableViewやUICollectionViewを更新する。
- リリース済みの多くのアプリバージョンにまたがるスキーママイグレーションを管理する。
使う前に知っておきたいこと
- Swift 5.9 と新しいOSバージョンが必要です:iOS 16.0以降、macOS 13.0以降、watchOS 9.0以降、tvOS 16.0以降。
収録されている特集
トピック
よくある質問
- CoreStore とは?
- iOS、macOS、watchOS、tvOSアプリ向けに、AppleのCore Dataを型安全かつ並行処理に安全なAPIでラップするSwiftライブラリ。 CoreStoreは、AppleのCore DataフレームワークをラップするSwiftライブラリです。NSManagedObjectContext、NSFetchedResultsController、KVOにまつわる定型コードの多くを置き換え、データの取得、クエリ、保存、監視を行うための高水準なAPIを提供します。
- CoreStore は無料で使えますか?ライセンスは?
- CoreStore は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- CoreStore は今もメンテナンスされていますか?
- 半年以内に更新あり。CoreStore の最終コミットは 2026年10月2日 です。
- CoreStore は何に使えますか?
- 書き込み時の並行処理をより安全にしたい、Core Dataを使うiOSアプリの開発。 Xcodeのモデルファイルではなく、SwiftコードだけでCore Dataモデルを定義する。 差分スナップショットを使い、永続化データに応じてUITableViewやUICollectionViewを更新する。 リリース済みの多くのアプリバージョンにまたがるスキーママイグレーションを管理する。
- CoreStore はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/JohnEstropia/CoreStore
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
生のJSONオブジェクトを型安全でOptionalの扱いが簡潔なAPIでラップし、JSONデータの解析や構築を容易にするSwiftライブラリです。
コンソール、ファイル、カスタムバックエンドなど複数のロガーにログを振り分けられる、Appleプラットフォーム(macOS、iOS、tvOS、watchOS、visionOS)向けのロギングフレームワークです。
複数のXcodeバージョンをGUIからインストールし、切り替えられるmacOSアプリ。
URLSessionを基盤とするSwift向けの洗練されたHTTPネットワークライブラリ。チェーン可能なリクエスト、エンコード、アップロード、ダウンロード、レスポンス検証に対応。
標準ライブラリ、Foundation、UIKit/AppKitの型に便利なメソッドを追加する、500以上のネイティブSwift拡張のコレクション。