我正在尝试让我的应用程序打开iCloud驱动器文件,当用户点击苹果“文件”应用程序中的文件,然后选择我的应用程序查看它时。一切都设置得很好,这样应用程序就会被打开,当用户点击文件时就会被通知。但无法打开该文件,错误是应用程序没有这样做的权限。
我的应用程序的
我已经验证过了,这个文件确实存在于手机上。
有人知道怎么做吗?
我的
- (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);
}
给出的错误为:
错误domain=nscocoaerrordomain code=257“无法打开文件kili.gpx,因为您没有查看该文件的权限。”UserInfo=nsFilePath=/private/var/mobile/library/mobile documents/ComAppleCloudDocs/kili.gpx,NsUnderlyingError=0x283AC83F0 Error Domain=nsPosixErrordomain Code=1“不允许操作}
我找到了解决办法。您需要使用
[url startAccessingSecurityScopedResource];
NSError *error = nil;
NSData *data = [[NSData alloc] initWithContentsOfURL:url options:0 error:&error];
[url stopAccessingSecurityScopedResource];