3

CoreData と iCloud でウィジェットを使用しています。これらは同じアプリ グループ コンテナーを共有します。少しの間はすべて正常に動作しますが、自発的にウィジェットが絶えずリロードを開始し、デバイス画面とウィジェット ダッシュボード (ウィジェットを検索して追加できる場所) で自分自身をブロックします。

iPhone Simulator (私は iPhone 8 を使用しています) と物理デバイスでも発生します。デバイスでは、より適切に動作します。たとえば、しばらくリロードしてから停止することができます。

つながっていると思いますがNSPersistentContainer、よくわかりません。私は運がないこれらを試しました:

  1. Core DataStack、PersistentContainer など、Core Data に関連するすべてのものを遅延ロードします。
  2. データをより速くcontainer.performBackgroundTask()返すために使用します。getTimeline(in:completion:)1 つのレコードのみでテストしましたが、結果は同じです。
  3. Core Data ですべてを削除し、静的テキストを表示するサンプル コードを配置します。これは機能し、リロードは消えますが、実際のデータを表示する必要があります

別のシナリオでは、次のログ メッセージが表示されます。

1) -[EXSwiftUI_Subsystem beginUsing:withBundle:] unexpectedly called multiple times
2) Bogus event received by listener connection
3) [lifecycle] WARNING: Did not receive handshake message from the host after waiting ~2 seconds. THIS MAY BE A SPURIOUS LAUNCH OF THE PLUGIN due to a message to an XPC endpoint other than the main service endpoint, or the CPU is highly contended and this extension or its host is not getting enough CPU time.

時々クラッシュします

1) signal SIGTERM
2) [NSConcreteFileHandle fileDescriptor]: unknown error

なぜそれが起こるのか分かりません。ときどき動作して Core Data レコードを表示し、タイムラインを正しくリロードするので混乱しますが、ときどきおかしくなります。

ヘルプやガイダンスをいただければ幸いです。

Xcode 12.0.1 (12A7300)

デバイス: iPhone Xs、iOS 14.0.1

4

0 に答える 0