gpt4 book ai didi

objective-c - iCloud:获取文件的现有公共(public) URL

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:36 25 4
gpt4 key购买 nike

我的 OS X Lion 应用程序允许用户公开 iCloud 文件。为此,我使用 URLForPublishingUbiquitousItemAtURL

我可以在调用该方法后向用户显示该 URL。但是,还有一种方法可以在文件发布(且未更改)后获取相同的 URL 吗?例如,如果用户想在另一台设备上查看该 URL?

是的,我可以再次调用 URLForPublishingUbiquitousItemAtURL,但我如何知道该文件是否已发布?

我的第一个想法是在 iCloud 中创建某种键值数据,其中包含所有文件(具有公共(public) URL)的 URL。但我无法相信没有更简单的方法...

谢谢!丹尼尔

最佳答案

如果我对您的问题的理解正确,您想要检索或创建 iCloud 中文件的公共(public) URL。

如果是这种情况,则使用 URLForPublishingUbiquitousItemAtURL:expirationDate:error:

它返回一个可以通过电子邮件发送给用户以下载文件的 URL。

- (NSURL *)URLForPublishingUbiquitousItemAtURL:(NSURL *)url expirationDate:(NSDate
**)outDate error:(NSError **)error

参数:

  • url - 指定您要访问的云中项目的 URL分享。该 URL 必须以从URLForUbiquityContainerIdentifier:(第 61 页)对应的方法到项目的位置。

  • outDate - 在输入时,指向日期对象变量的指针。在输出,此参数包含该项目没有的日期在返回的 URL 上不再可用。您可以为此指定 nil参数如果你对日期不感兴趣

  • error - 在输入时,指向 NSError 对象变量的指针。如果发生错误,此指针设置为包含以下内容的 NSError 对象有关错误的信息。您可以为此参数指定 nil如果您不想要错误信息。

返回值

一个 URL,用户可以使用该 URL 在 url 下载该项目的副本。如果由于任何原因无法创建 URL,则返回 nil。

讨论

此方法创建指定文件的快照并将副本放置在临时 iCloud 位置其他用户可以使用返回的 URL 访问它。快照反射(reflect)了文件的内容生成 URL 的时间,并且在对源文件中的原始文件进行后续更改时不会更新用户的 iCloud 存储空间。快照文件在指定的 URL 上保持可用,直到在outDate 参数,之后它会自动删除。您的应用程序必须能够访问网络才能使此调用成功。

所以,如果像你说的,需要检查是否发布成功,检查错误。

来源:NSFileManagerClass @ Developer.Apple.com

关于objective-c - iCloud:获取文件的现有公共(public) URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10059051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com