【发布时间】:2019-12-27 01:00:50
【问题描述】:
我试图让我的应用程序能够打开 iCloud Drive 文件,当用户在 Apple“文件”应用程序中点击文件并选择我的应用程序来查看它时。一切都设置得很好,例如应用程序被打开,并在用户点击文件时得到通知。但是无法打开文件,错误是应用程序没有权限这样做。
我的应用在Info.plist 中将“支持在适当位置打开文档”设置为“是”。这意味着 URL 指向应用程序外部的 iCloud 目录,这可能是问题的原因。如果我将其设置为 NO,则 URL 是应用程序内文件的副本,并且一切正常。但该应用程序需要该设置为“是”。
我已验证,该文件实际上存在于手机上。
有人知道怎么做吗?
我的openURL: 方法目前看起来像:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
NSLog(@"path=%@", url);
NSError *error = nil;
NSData *data = [[NSData alloc] initWithContentsOfURL:url options:0 error:&error];
NSLog(@"error=%@", error);
}
给出的错误是:
错误域=NSCocoaErrorDomain 代码=257 "文件“Kili.gpx” 无法打开,因为您无权查看。” UserInfo={NSFilePath=/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/Kili.gpx, NSUnderlyingError=0x283ac83f0 {Error Domain=NSPOSIXErrorDomain Code=1 "不允许操作"}}
【问题讨论】:
标签: ios icloud-drive