添加到iCloud驱动器与UIActivityViewController
问题描述:
我想用UIActivityViewController的“添加到iCloud驱动器”图为行动上载我存储的iOS设备上的文件:添加到iCloud驱动器与UIActivityViewController
目前在我的自定义UIActivityItemProvider类我有我的 - (id)项目方法返回此: [NSURL fileURLWithPath:fullPath];
FullPath是我创建并希望上传到iCloud驱动器的文件的路径。当我点击“添加到便笺”,邮件活动或我的自定义活动时它工作,但它不适用于iCloud驱动器。它不是使用此文件,而是使用我用于“附加为文件”的电子邮件活动的主题创建默认文件。作为文件内容。这里是我用来呈现UIActivityViewController的代码:
CustomActivity * customActivity = [[CustomActivity alloc]init];
CustomItemProvider *itemProvider = [[CustomItemProvider alloc] initWithPlaceholderItem:_itemsArray];
NSArray *activityItems = [NSArray arrayWithObjects:itemProvider, NSLocalizedString(@"Attached is a file.", nil), nil];
UIActivityViewController *avc = [[UIActivityViewController alloc]
initWithActivityItems:activityItems
applicationActivities:@[customActivity]];
float iOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (iOSVersion < 9.0)
{
avc.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypeAirDrop, UIActivityTypeCopyToPasteboard, UIActivityTypeMessage, UIActivityTypePostToFlickr, UIActivityTypePostToTwitter, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypePostToTencentWeibo,UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList];
}
else
{
avc.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypeAirDrop, UIActivityTypeCopyToPasteboard, UIActivityTypeMessage, UIActivityTypePostToFlickr, UIActivityTypePostToTwitter, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypePostToTencentWeibo,UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList, UIActivityTypeOpenInIBooks];
}
[self presentViewController:avc animated:YES completion:nil];
答
代码似乎是正确的。但是,iCloud的选项将被添加,只有当:
用户必须在iCloud中登录的设置。
你有一些有效的信息可以上传到iCloud上。 (如果您使用的是共享的任何网址,然后在ActivityController未显示的iCloud选项)
它支持这些类型的数据,它可以允许你上传,如笔记,照片,联系人,日历事件,等
我已经试过这样:
NSString *strTextToShare = @"Hi... Friends";
UIImage *imgToShare = [UIImage imageNamed:@"wall1.png"];
NSURL *urlToShare = [NSURL URLWithString:@"https://www.apple.com"];
UIActivityViewController *shareController = [[UIActivityViewController alloc] initWithActivityItems:@[strTextToShare, /*imgToShare, urlToShare*/] applicationActivities:nil];
[self presentViewController:shareController animated: YES completion: nil];
在上面,如果我尝试添加URL,然后iCloud中未显示。
注意:一次只共享一个项目,那么只有iCloud会显示。
我希望能够上传文件到iCloud Drive。它目前显示这个iCloud选项与我的自定义提供程序返回一个NSURL和我的活动项目是该自定义提供程序和字符串 – HawkEye1194
在真实设备上显示 – HawkEye1194