首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加到iCloud驱动器的UIActivityViewController

添加到iCloud驱动器的UIActivityViewController
EN

Stack Overflow用户
提问于 2016-09-28 19:15:47
回答 1查看 1.4K关注 0票数 2

我想使用UIActivityViewController的“添加到iCloud驱动器”操作来上传我存储在iOS设备上的文件:

目前,在我的自定义UIActivityItemProvider类中,我有我的- (id)item方法,返回如下: NSURL :fullPath;

FullPath是我正在创建并希望上传到iCloud驱动器的文件的路径。当我单击“activity”、邮件活动或我的自定义活动时,它可以工作,但是它不适用于iCloud驱动器。它没有使用此文件,而是创建一个默认文件,其中包含我用于电子邮件活动的主题,即“附加是一个文件”。作为文件内容。下面是我用来表示UIActivityViewController的代码:

代码语言:javascript
复制
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];
EN

回答 1

Stack Overflow用户

发布于 2016-09-29 12:09:08

代码似乎是正确的。但是,只有在以下情况下才会添加iCloud选项:

  1. 用户必须在设置中登录iCloud。
  2. 你有一些有效的信息,比如你可以上传到iCloud上。(如果您在共享中使用任何url,那么iCloud选项将不显示在ActivityController中)

它支持那些类型的数据,它可以让你上传,如笔记,照片,联系,日历事件等。

我试过这样做:

代码语言:javascript
复制
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将显示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39755891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档