![](/img/trans.png)
[英]How to Remove “Add to iCloud Drive” from UIActivity Controller?
[英]Add to iCloud Drive with UIActivityViewController
我想使用此处显示的 UIActivityViewController 的“添加到 iCloud 驱动器”操作来上传我存储在 iOS 设备上的文件:
目前在我的自定义 UIActivityItemProvider 类中,我的 - (id)item 方法返回了这个:[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。 (如果您在共享中使用任何 url,则 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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.