問題タブ [icloud]

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 投票する
0 に答える
1309 参照

ios - NSMetadataQueryUbiquitousDocumentsScope を使用した iCloud クエリが更新に失敗する

2 つのアプリ (1 つは iOS、もう 1 つは Mac) の間で動作するセットアップがあり、どちらもユビキタス コンテナーにファイルを配置し、NSMetadataQuery を使用してそのコンテナーを監視します。ほとんどの場合、ディレクトリでファイルが setUbiquitous:YES に設定された直後にクエリが更新されます。

ただし、同期時にコンテナーが完全に空になる可能性がある別の厄介な iCloud バグに関連して (アプリやユーザーによってではなく、自動的に)、アプリ間の「クリーンセットアップ」がバグによって破損すると、クエリ - iPhone 側のみ - 更新されなくなりました。

iPhone のコンテナーにファイルを追加すると、Mac はそれらをすぐに認識します。しかし、Mac 側でファイルを追加すると、iPhone は更新されません。タイマーとファイル マネージャーを使用してコンテナーをスキャンすると、コンテンツにファイルが一覧表示されていることを確認できます。それらを認識しないのはクエリです。

これはコードの問題ではないと思いますが、ここに含めておきます。これは「iCloud はベータ版 (せいぜい)」の問題だと思いますが、誰かがこの質問に答えられるかどうか疑問に思っています:アプリを終了して再起動するとクエリが正しく更新されるため、NSMetadataQuery を強制的にアップデート? それを削除して別のものを作成しても何も起こりません。

クエリ コードは次のとおりです (どの NSNotification モニターにも正しく報告されます)。

ポーリングコードは次のとおりです(フォルダーにファイルがあると言っています):

ここでクエリを監視します(システムがホースになった場合を除いて結果を取得します):

さて、あなたは「あなたはそれがホースであると言っています、なぜ最初からやり直さないのですか?」と言っているかもしれません. 私が答える - 両方のデバイスから両方のアプリを削除し、iCloud をオフにし、両方のコンピューターの [設定] の [ドキュメントとデータ] からアプリを削除し、両方のアプリを再ダウンロードする必要があることをユーザーに伝えることはできません。またいつでも」。アプリに主要な冗長性を構築しようとしています。

ありがとう!

0 投票する
3 に答える
6391 参照

iphone - NSUbiquitousKeyValueStoreとNSUserDefaultsを一緒に使用する方法

NSUbiquitousKeyValueStoreエッジケースでの使用方法に関するドキュメントは明確ではありません。

値を設定したい場合は、iCloudが無効になる可能性があるため、両方NSUserDefaultsに値を設定する必要があることを理解しています。NSUbiquitousKeyValueStoreただし、私のテストでは[NSUbiquitousKeyValueStore defaultStore]、iCloudが無効になっている場合でも有効なオブジェクトが返されます(Mac OSでテスト済み)。

また、私の理解では、iCloudが有効になっている場合、NSUbiquitousKeyValueStoreの値はディスクに保存されます(そしてオフラインで利用できます)。データが64KB未満であることが確実な場合、NSUserDefaultsを使用する理由は何ですか?

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

iphone - iCloudでsqliteを処理する方法

アプリにSample.sqliteデータベースがあります。アプリの Sample.sqlite を iCloud に保存する方法と、その SQLite ファイルを iCloud からダウンロードしてアプリで処理する方法について教えてください。

提案をありがとう。


閉じたデータベースをiCloudに保存するというアイデアを実装しようとしていますが、次のエラーが返されます

エラー Domain=NSPOSIXErrorDomain Code=1 「操作を完了できませんでした。操作は許可されていません」 UserInfo=0x299bb0 {NSDescription=名前を変更できません '/var/mobile/Applications/98E15712-5A98-439B-BED1-82A5A548CB15/Sample.app /Sample.sqlite' から '/private/var/mobile/Library/Mobile Documents/TV8M2M4B6L~com~companyName~sam/Documents/Sample.sqlite'.}

//マイコード

0 投票する
2 に答える
5326 参照

iphone - iCloudのアプリからバックアップを防ぐ

Documentsディレクトリ(ファイル、データベース、およびある種のアプリ関連のもの)からほとんどのデータを維持しているため、アップルのストレージガイドラインが私にとってより多くの問題を引き起こしています.最近、バイナリファイルをアプリストアにアップロードしましたが、拒否されましたアップルはApple 拒否レポート、この時点に従ってレポートを提供してくれました。コードを以下のように変更します

私の質問:

1. addSkipBackupAttributeToItemAtURL: メソッドをドキュメント ディレクトリに直接使用して、ドキュメント ディレクトリ内のすべてのファイルの iCloud バックアップを防止できますか。

2.上記のコードは、ドキュメント ディレクトリに「バックアップしない」属性が含まれていないために最後のバイナリが拒否された場合に、アプリ ストアでアプリを承認するのに十分です。

0 投票する
5 に答える
16880 参照

iphone - NSUbiquitousKeyValueStoreエラー:有効なcom.apple.developer.ubiquity-kvstore-identifier資格がありません

iCloudとアプリの統合に問題があります。

iCloudの可用性のテストを設定すると、機能の成功を受け取ります

しかし、この直後、私が実行しようとすると:

エラーが発生します

これを修正する方法について何かアイデアはありますか?私のApp.Entitlementsファイルは、デフォルトのマクロ化されたプレフィックスを使用しており、自動生成されたファイルから何も変更されていません。iCloudはiTunesConnectのAppIDで確実に有効になっています。

ありがとう。

0 投票する
5 に答える
6770 参照

objective-c - -[NSFileManager setUbiquitous:itemAtURL:destinationURL:error:] を呼び出しても戻りません

NSDocumentiCloudドキュメントストレージを実装しようとしている単純なベースのMac OS Xアプリがあります。10.7 SDK でビルドしています。

iCloud ドキュメント ストレージ用にアプリをプロビジョニングし、必要な権利を含めました (AFAICT)。アプリは、ローカル ユビキタス コンテナーの Documents ディレクトリを正しくビルド、実行、および作成します (これにはしばらく時間がかかりましたが、すべて機能しているようです)。NSFileCoordinatorAppleが推奨するAPIを使用しています。UbiquityIdentifierAppleが推奨する正しいものを使用していると確信しています(以下では編集されています)。

私は、この WWDC 2011 ビデオの Apple の iCloud ドキュメント ストレージのデモ手順に厳密に従いました。

セッション 107 自動保存と Lion のバージョン

私のコードは、そのデモのコードとほとんど同じに見えます。

ただし、アクションを呼び出して現在のドキュメントをクラウドに移動すると、メソッドを呼び出すときに活性の問題が発生します。-[NSFileManager setUbiquitous:itemAtURL:destinationURL:error:]それは二度と戻りません。

これが私のNSDocumentサブクラスの関連コードです。これは、Apple の WWDC デモ コードとほぼ同じです。これはactionであるため、(Apple のデモ コードが示したように) メイン スレッドで呼び出されます。-setUbiquitous:itemAtURL:destinationURL:error:メソッドが呼び出されると、最後にデッドロックが発生します。バックグラウンド スレッドに移動しようとしましたが、それでも戻りません。

決して到着しないシグナルを待っている間、セマフォがブロックしているようです。

このコードをデバッガーで実行すると、ソース URL と宛先 URL が正しいように見えるので、それらが正しく計算されていることはほぼ確実であり、ディレクトリがディスク上に存在することを確認しました。

私は明らかに間違ったことをしていて、-setUbiquitous二度と戻ってこないのでしょうか?

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

ios - iOS アプリケーションの iCloud サーバースペースの制限

これは一般的な質問
です。アプリケーションが iCloud サーバーにデータを保存するための制限はありますか (一般的に 5 GB の最大制限を超えないでください)。

0 投票する
2 に答える
568 参照

iphone - ファイルの読み込み時に EXC_BAD_ACCESS をキャッチする方法

UIDocument を使用してファイルをロードしています。ファイルを破損して、アプリの動作と動作を確認しました。EXC_BAD_ACCESS でクラッシュするため、このようなシナリオをどのように処理すればよいか疑問に思っていました。ファイルが破損しないことを願うだけですか? UIDocument 以前は、NSEXCEPTION に @try と @catch を使用していましたが、これは EXC_BAD_ACCESS では機能しません。これは、NSZOMBIE を使用するケースですか? 私が他の投稿を理解している限り、NSZombie はデバッグ目的でのみ使用されており、実際には常に依存すべきものではありません。これは、データが破損した場合に EXC_BAD_ACCESS をスローするコード行です。

提案をありがとう。

0 投票する
5 に答える
12369 参照

iphone - iOS 5.0.1:フォルダがiCloudの「バックアップしない」とマークされていることを確認するにはどうすればよいですか?

Do not back upにある自分のフォルダに設定したいDocument Directory

「バックアップしない」のコードを見つけましたが、フォルダがマークされていることを確認するにはどうすればよいですか。

0 投票する
3 に答える
5487 参照

ios - 開発者は Windows アプリで iCloud を使用できますか?

開発者は、Apple の iCloud API を使用して、Mac OS X と iOS 上の異なるバージョンのアプリ間でアプリ データを同期できます。

開発者がアプリの Windows バージョンを持っている場合、このバージョンも iCloud を使用してアプリ データを Mac OS X および iOS 上のアプリのバージョンと同期できますか?