あなたの質問を正しく理解できれば、iCloud 内のファイルのパブリック URL を取得または作成する必要があります。
その場合は、URLForPublishingUbiquitousItemAtURL:expirationDate:error: を使用します。
ファイルをダウンロードするためにユーザーに電子メールで送信できる URL を返します。
- (NSURL *)URLForPublishingUbiquitousItemAtURL:(NSURL *)url expirationDate:(NSDate
**)outDate error:(NSError **)error
パラメーター:
url - 共有するクラウド内のアイテムの URL を指定します。URL には、アイテムの場所に対応する URLForUbiquityContainerIdentifier: (page 61) メソッドから返されたベース URL をプレフィックスとして付ける必要があります。
outDate - 入力時、日付オブジェクトの変数へのポインター。出力では、このパラメーターには、返された URL でアイテムが利用できなくなる日付が含まれます。日付に関心がない場合は、このパラメータに nil を指定できます
error - 入力時、NSError オブジェクトの変数へのポインタ。エラーが発生した場合、このポインターは、エラーに関する情報を含む NSError オブジェクトに設定されます。エラー情報が必要ない場合は、このパラメータに nil を指定できます。
戻り値
ユーザーが url でアイテムのコピーをダウンロードできる URL。何らかの理由で URL を作成できなかった場合は nil を返します。
討論
このメソッドは、指定されたファイルのスナップショットを作成し、返された URL を使用して他のユーザーがアクセスできる一時的な iCloud の場所にそのコピーを配置します。スナップショットは、URL が生成された時点でのファイルの内容を反映しており、その後ユーザーの iCloud ストレージ内の元のファイルに変更が加えられても更新されません。スナップショット ファイルは、outDate パラメーターで指定された日付まで、指定された URL で引き続き使用できます。その後、自動的に削除されます。この呼び出しを成功させるには、アプリケーションがネットワークにアクセスできる必要があります。
それで、あなたが言うように、それが正常に公開されたかどうかを確認する必要がある場合は、エラーを確認してください。
ソース: NSFileManagerClass @ Developer.Apple.com