問題タブ [nspersistentcloudkitcontainer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - CloudKit コンテナーの適切な使用
私は、iCloud Sync に NSPersistentCloudKitContainer を使用するアプリを持っています。それを必要とするユーザーは、すべてのプラットフォーム (iPhone/iPad/Mac) で動作します。しかし今、Apple Watch のサポートを追加しようとして、CloudKit をずっと間違って実装していた可能性があることに気付きました。
コード:
私が気づいたこと:
テスト デバイスには 10 個のアイテムしかありません。時計アプリを起動してコンソールを見ると、これまでに行ったアイテムの追加と削除のすべての履歴がすべて処理されているように見え、実際に持っている 10 個のアイテムをダウンロードするのに時間がかかります。左。
iCloudストレージを調べたところ、10個のアイテムがいくつかの文字列が添付された単なるエンティティである場合、アプリが多くのスペース(48 MB)を占有していることがわかりました
リサーチ:
多くの調査を行った結果、ユーザーが iCloud Sync を使用していない場合にのみ NSPersistentHistoryTrackingKey を設定したことが原因である可能性があることがわかりました。しかし、iCloud ユーザーに対しても NSPersistentHistoryTrackingKey を有効にすると、時計アプリが 10 個のアイテムをダウンロードするのに非常に長い時間がかかります。
Core Data は扱いにくい場合がpersistentStoreDescriptions
あり、コンテナーの属性の変更またはその他の属性は、既存のユーザーにとってアプリを壊すバグになる可能性があることを知っています。そのため、新規および既存のユーザーに役立つものが必要です。
聞く:
この問題を解決する方法を知っている人、または同様の問題を抱えている人はいますか? 私はこれを1週間近く理解しようとしてきましたが、どんな助けも大歓迎です!
swift - データが Core Data に書き込まれているときにインターネットが失われました。NSPersistentCloudKitContainer を使用しているにもかかわらず、自動同期はありません
アプリの Core Data に保存されたデータを作成しました。このコードはデータを作成し、アプリの Core Data に保存します。
アプリのインターネット接続が切断されたため、iCloud にデータがアップロードされませんでした。インターネットが復元され、アプリが再起動されたときに同期が行われるかどうかを確認できるように、意図的にインターネットを切断しました。ただし、同期は行われませんでした。(はい、NSPersistentCloudKitContainer を使用しました。)
アプリの Core Data と iCloud の不一致をアプリに手動でチェックしてもらい、手動で同期させる機能はありますか?
ios - iOS15 B4 NSPersistentCloudKitContainer「アカウントが一時的に利用できません」エラー
iOS15 ベータ 4 で NSPersistentCloudKitContainer を使用して、デバイス間でコア データを同期しています。デバイスで起動し、iCloud にログインすると、ログに次のエラーが表示されます。
<NSCloudKitMirroringResult: 0x28167ae60> 成功: 0 madeChanges: 0 エラー: <CKError 0x2818a94d0: "アカウントは一時的に利用できません" (1028/2011); 「認証トークンが正しくないか見つからないため、アカウントが一時的に利用できません」
次のコードがあります。
core-data - 新しい Core Data Schema を iCloud プロダクションにリリース
私は App Store にアプリを公開しており、軽量の移行に取り組んでいます (新しい属性と新しいエンティティを追加し、何も削除しません)。広範な調査の結果、現在のコア データ モデルの新しいバージョンをローカル バージョンのデータ モデルに追加する必要があることがわかりました。アプリを更新してローカル データのみを使用するユーザーは、自動的に移行されます。
ただし、(icloud.developer.apple.com から) iCloud スキーマを更新するとどうなるかについては何もわかりません。主に、古いバージョンのアプリを使用していて、iCloud を使用しているユーザーが心配です。iCloud Web サイトでスキーマを更新すると、古いバージョンのアプリを使用しているユーザーは、ローカル スキーマが iCloud のものとは異なるため、現在のデータを失うか、データを同期できなくなりますか?
また、NSPersistentCloudKitContainer
Core Data を CloudKit と同期するために を使用しています。
誰のデータも台無しにしたくないので、どんな助けも大歓迎です!