問題タブ [uidocument]

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.

0 投票する
1 に答える
171 参照

ios - UIWebViewを使用してiOSアプリでXMLドキュメントを表示および編集できますか

私のアプリがアウトラインスタイルのXMLドキュメントを作成および編集する場合、ドキュメントをUIWebViewでレンダリングし、レンダリング中に同じビューで編集できますか?

0 投票する
4 に答える
953 参照

objective-c - UIDocumentを再び閉じることができませんでしたか?

UIDocumentを閉じると、再び閉じることができますか?再度開いた後、documentStateがUIDocumentStateNormalである場合でも?

私を助けてください。どうもありがとう!

closeWithCompletionHandlerが「例外」マークで呼び出されると、例外がスローされます。

0 投票する
1 に答える
980 参照

daemon - iCloud デーモンがオフラインで行われた変更のアップロードが遅い

デバイスがオンラインのときに変更が行われると、iCloud デーモンは数秒以内に変更を iCloud サーバーにアップロードするようです。ただし、変更がローカルの iCloud コンテナーに対してオフラインで行われ、デバイスがオンラインになると、iCloud デーモンが変更をアップロードするタイミングに一貫性がないことに気付きました。接続を再確立した後、変更が iCloud サーバーにアップロードされ、他のデバイスによって検出されるまでに、数秒から 30 分の遅延が発生しました。これは正常ですか?iCloudデーモンにアップロードを強制するように指示する方法はありますか?

UIDocument のサブクラス (作成、開く、変更、iCloud コンテナーへのファイルの保存) と NSMetadataQuery のみを使用して、変更を検出します。オンラインに戻った後、キー NSURLUbiquitousItemIsUploadedKey のファイル ステータスは false であり、長時間そのままになる可能性があります。ファイルを再保存して、iCloud デーモンに変更を強制的にアップロードさせようとしましたが、効果がないようです。

0 投票する
1 に答える
291 参照

iphone - NSFileVersionのunresolvedConflictVersionsOfItemAtURL:動作

[NSFileVersion unresolvedConflictVersionsOfItemAtURL:]が1つ以上のバージョンを返す場合を誰かが知っていますか?

0 投票する
1 に答える
905 参照

ios - NSCoder + UIDocument: 互換性はありますか?

これはおそらく素朴な質問ですが、私が望むUIDocumentことをしない場合に時間を無駄にしないように再確認したいと思います。

背景:ユーザーが作成したドキュメントを として保存するための単純なファイル システムを作成したアプリがありますplists。エンコード/デコードがすべて機能しています。私はいくつかのプリミティブ型を使用しており、適切なエンコーダー メソッドでそれを処理しています。Library命名システムがあり、ユーザーが直接アクセスしてはならないドキュメントであるため、plist をディレクトリ内のカスタム ディレクトリに保存します。(必要に応じて、データをドキュメント ディレクトリにエクスポートできます。

私は「自動保存」について考え始め、それから発見しましたUIDocument- かなり素晴らしいですね。

上記を考えると、私は使用できるようUIDocumentですか?保存したのは、NSObject から派生したカスタム クラスの "Project" インスタンスです。これには、カスタム クラス、NSDictionaries などのインスタンスを含む一連の NSMutable 配列が含まれています。 -part-1しかし、自分のデータなどのために機能しないことを発見したくありません.

アップデート:(家で一緒に読んでいる人のために... ;-)これでいくらか進歩しました。 UIDocument ではNSKeyedArchiverなくNSCoder (間違っています - 以下の回答を参照) を使用しますが、エンコード方法の名前は同じであるため、既に持っていたものを簡単に調整できました。すべてのデータをキャプチャしているように見える plist を保存できましたが、すべてを読み戻そうとするまでわかりません。整理していないエラーが発生します。

NSFileCoordinator: 驚くべきサーバー エラーが通知されました。詳細: 接続が無効です

ローカルに保存しているので、iCloudに接続しようとしている理由がまったくわからないので、それほど驚くことではありません。うまくいけば、私はそれをオフにすることができます。

0 投票する
1 に答える
1162 参照

objective-c - iOS5.1: タスクの同期 (完了を待つ)

openWithCompletionHandler: (UIManagedDocument) をメインのアクティビティと同期する際に基本的な問題があります。

状況: 共有 UIManagedDocument を管理するシングルトン クラスがあります。このクラスは、ドキュメントを通常の状態で配信するメソッドを 1 つ提供します(つまり、必要に応じてドキュメントを作成または開きます)。しかし、openWithCompletionHandler: は主な仕事をバックグラウンドで非同期に行うため、私のプログラムはドキュメントが実際に開かれるまで fetchedResultsController の設定を待つ必要があります。「viewWillAppear」メソッド (現在) は、データベースの準備ができていない場合、有用な出力を生成しません。待っていても大丈夫ですが、通知を受ける方がおそらく良い方法です。実行ループで呼び出されないため、viewWillAppear が setupFetchedResultsController の適切なポイントではないことが判明する可能性があります。

これを達成するための標準的なパターンはありますか?

もう少し背景 (それほど重要ではないと思います) は、CoreData UIManagedDocument を含む小さな iOS 5.1 アプリに取り組んでいます。iTunes-U の昨年秋のスタンフォード コースのレッスン 14 の例に似ていました。UIManagedDocument の処理を​​ UITableViewController クラスから離れて、ドキュメントを処理する別のクラスに配置しようとするまで、すべてが正常に機能していました。元のバージョンでは、FetchedResultsController は完了ハンドラーに設定されていました。

0 投票する
1 に答える
415 参照

objective-c - iCloudNSFileManagerAPI-ゲームスコアストレージ

私は現在、ユーザーがゲームの進行状況をデバイス間で同期できるように、iCloudスコアストレージを有効にしたいiOSアプリケーションを持っています。ユーザーの進行状況は、サンドボックスドキュメントフォルダーの複数のplistファイルに保存されます。私はiCloudとさまざまな「ヘルパークラス」(NSFileManager、UIDocument、NSFileCoordinatorなど)に関するいくつかの記事をオンラインで読みましたが、どれが私にとって正しいものか(NSFileManagerは仕事をしますか、それともUIDocumentをサブクラス化する必要がありますか)少し混乱しています)。

APIはすべて私には少し混乱しています。

0 投票する
1 に答える
408 参照

icloud - バックグラウンドに入ったときに UIDocument を iCloud にアップロードする

UIDocument を使用してデータを管理する iCloud 対応アプリケーションがあります。ドキュメントが開いていて、アプリケーションがバックグラウンド状態になったら、ドキュメントを保存して iCloud にアップロードする必要があります。バックグラウンド状態に入るときにドキュメントを保存することはそのままで問題なく機能しますが、司書に変更を反映させる方法が見つかりません。ドキュメントは、アプリケーションがフォアグラウンドに戻ったときにのみアップロードされます。

他の iCloud 対応アプリ (iWork アプリなど) にもこの動作があることに気付きました。自分のアプリでこれを有効にするにはどうすればよいですか?

beginBackgroundTaskWithExpirationHandler ブロックで手動で自動保存を開始しようとしましたが、これは残念ながら機能しません。

0 投票する
1 に答える
413 参照

cocoa-touch - closeWithCompletionHandlerを呼び出すときの例外:UIDocumentで複数回

UIDocumentの単一のインスタンスを複数回開いたり閉じたりすることはできませんか?ドキュメントを開いたり、閉じたり、再度開いたりできるようですが、closeWithCompletionHandlerを呼び出そうとすると、2回目に例外が発生します。

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'closeWithCompletionHandler called while document is already closing'

呼び出しの前は、documentStateはNormalです。

うまくいけば、私は明らかな何かを見落としているだけです...