2

iOS アプリでファイルを保存したり、ファイルを開いたり、ファイルを削除したりするための数百行のコードを書いたところですが、コードを書いているときに iCloud を調べて統合する必要があることに気付きました。

iCloud を既存の Documents 構造、クラスなどに統合する方法はありますか? それとも、ほとんどのコードを最初から書き直す必要がありますか?

また、いずれにせよ、iCloud Document Sync を簡単に統合できるiCloud プロジェクト (これに似たもの) はありますか?


私が使用しているいくつかのコードの簡単なサンプル:

//Begin saving file
NSLog(@"Began Saving File");
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:filetitle];

//Get the user's keyword preference
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL enabled = [defaults boolForKey:@"completeFile"];

[[NSString stringWithFormat:@"Message:%@", MessageText] writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];

編集: GitHub でiCloud Document Syncと呼ばれるプロジェクトを作成しました。これにより、開発者は iCloud をドキュメントベースの iOS アプリと簡単に統合できます。問題は、通常の iCloud ファイルが受ける設計/構造に実際に従っていないことです。

  1. iCloudにコピーされたファイル
  2. その後、ファイルはローカルで編集され、変更は iCloud にアップロードされます
  3. どうにかして、ローカル ファイルが iCloud のファイルよりも古いかどうかを確認する必要があります

私の GitHub プロジェクトは、この質問の問題をある程度解決しますが、ローカル ディレクトリからファイルを移動する代わりにコピーする方法がわかりません。私が抱えている2番目の問題は、そのローカルファイルを編集して変更をプッシュする方法を理解することです.クラウド内のファイルに変更をプッシュしようとすると、次のようなCocoaエラーが発生します:

Cocoa エラー 516: ファイルが存在します

最後に、ローカル ファイルとクラウド ファイルの間の不一致や競合を確認する方法がわかりません。問題はコードの設計とフローにあると思いますが、シナリオのためにコードのレイアウトが必要だと思います。


編集:私はこのSOの質問を読みましたが、これは私が求めているものの一部のようですが、より明確で明確な回答のために報奨金を提供したいと思います.

4

1 に答える 1

0

これは何かの助けになるかもしれません。これは、アップルがドキュメントでこれを説明する方法です。https://developer.apple.com/library/mac/#documentation/General/Conceptual/iCloudDesignGuide/Chapters/DesigningForDocumentsIniCloud.html#//apple_ref/doc/uid/TP40012094-CH2-SW1

于 2013-03-04T08:52:55.333 に答える