数分後にフリーズが止まる場合もあれば、10分待ってから強制終了する場合もあります。スレッド呼び出しを停止して調べると、NSUbiquitouskeyValueStore _forceSynchronize メソッドからのセマフォ トラップが表示されます。
3 に答える
これはAppleが述べていることです:
NSUbiquitousKeyValueStoreクラスは、 iCloudに少量の構成データを保存するためのプログラム インターフェイスを提供します。このクラスを使用して、同じユーザーが所有する異なるデバイスで実行されているアプリケーションのインスタンス間で情報を同期します。このクラスは、アプリケーションのインスタンス間で設定などの重要でないデータを共有するために使用する必要があります。アプリケーションの動作の中心となるデータを格納するために使用することは避けてください。
このクラスは、プロパティ リスト オブジェクト タイプ ( NSNumber、NSString、NSDate、NSData、NSArray、または NSDictionary)を使用して少量のデータのみを格納することを目的としています。. このデータを使用して、ユーザーにとってよりシームレスなエクスペリエンスを作成できます。たとえば、複数のデバイスで実行されている雑誌アプリケーションでは、雑誌のどの版が読まれているか、ユーザーが現在どのページを読んでいるかを保存できます。キー値ストアを使用して、一般的なアプリケーション データや頻繁な更新が必要なデータを格納しないでください。アプリケーションのキー値ストアで使用可能なスペースの合計は、1 MB に制限されています。(キーごとの制限もあり、現在は 1 MB に設定されており、最大 1024 個のキーが許可されています。) これらのクォータを超えるデータを書き込もうとすると、書き込みの試行は失敗し、古い値 ( any) はそのまま残ります。
いくつかの質問:
- それはシミュレーター、デバイス、またはOS Xにありますか?
- 例外をキャッチしようとしているときにデバッグしましたか? (またはより一般的には、例外がないことを確認しましたか)?
- 最後に: ハングの完全なバックトレースを投稿できますか?