运维开发网

objective-C语言 iCloud:获取文件的现有公共URL

运维开发网 https://www.qedev.com 2020-03-05 14:45 出处:网络 作者:运维开发网整理
我的OS X Lion应用程序允许用户将iCloud文件提供给公众.我使用URLForPublishingUbiquitousItemAtURL. 我可以在调用该方法后向用户显示该URL.但是,在文件发布(而不是更改)后,是否还有一种方法可以获得相同的URL?例如,如果用户想在另一台设备上看到该URL? 是的我可以再次调用URLForPublishingUbiquitousItemAtURL,但我
我的OS X Lion应用程序允许用户将iCloud文件提供给公众.我使用URLForPublishingUbiquitousItemAtURL.

我可以在调用该方法后向用户显示该URL.但是,在文件发布(而不是更改)后,是否还有一种方法可以获得相同的URL?例如,如果用户想在另一台设备上看到该URL?

是的我可以再次调用URLForPublishingUbiquitousItemAtURL,但我怎么知道文件是否已经发布?

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

谢谢!

丹尼尔

如果我正确理解您的问题,您想要在iCloud中检索或创建文件的公共URL.

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

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

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

参数:

> url – 指定云中要使用的项目的URL

分享. URL必须以从中返回的基本URL作为前缀

URLForUbiquityContainerIdentifier :(第61页)对应的方法

到项目的位置.

> outDate – 输入时,指向日期对象变量的指针.上

输出,此参数包含项目为no之后的日期

返回的URL可用的时间更长.您可以为此指定nil

参数如果您对日期不感兴趣

> error – 输入时,指向NSError对象的变量的指针.如果

发生错误时,此指针设置为包含的NSError对象

有关错误的信息.您可以为此参数指定nil

如果您不想要错误信息.

回报价值

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

讨论

此方法创建指定文件的快照,并将该副本放在临时iCloud位置

其他用户可以使用返回的URL访问它.快照反映了文件的内容

生成URL的时间,并且在对原始文件进行后续更改时不会更新

用户的iCloud存储.快照文件在指定的URL中保持可用,直到指定的日期为止

outDate参数,之后会自动删除.

您的应用程序必须能够访问网络才能成功进行此调用.

因此,如果您说,您需要检查它是否已成功发布,请检查错误.

资料来源:NSFileManagerClass @ Developer.Apple.com

0

精彩评论

暂无评论...
验证码 换一张
取 消