标签: uiactivityviewcontroller

iOS:警告"尝试呈现其视图不在窗口层次结构中的ViewController"

当我尝试在导航控制器上呈现ActivityController时,我收到以下警告,

Attempt to present <UIActivityViewController: 0x15be1d60> on <UINavigationController: 0x14608e80> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)

我试图通过以下代码呈现视图控制器,

UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
    activityController.excludedActivityTypes = excludeActivities;

    UIViewController *vc = self.view.window.rootViewController;
    [vc presentViewController: activityController animated: YES completion:nil];

    [activityController setCompletionHandler:^(NSString *activityType, BOOL completed) {
        NSLog(@"completed");

    }];
Run Code Online (Sandbox Code Playgroud)

这里出了什么问题?

objective-c ios uiview-hierarchy uiactivityviewcontroller presentviewcontroller

39
推荐指数
2
解决办法
7万
查看次数

iOS 8.3:UIActivityViewController显示无关的行

我有一个UIActivityViewController我已经排除(使用excludedActivityTypes)所有UIActivityCategoryAction活动类型的.

在iOS 8.2中,活动类型UIActivityViewController只显示一行UIActivityCategoryShare.

在iOS 8.3中,我得到一个空行UIActivityCategoryAction.请参阅下面的屏幕截图,其中第二行只有"更多".

我如何删除UIActivityCategoryActionUIActivityViewControlleriOS中8.3〜

在此输入图像描述

ios uiactivityviewcontroller ios8.3

39
推荐指数
1
解决办法
3404
查看次数

在 SwiftUI 中显示“UIActivityViewController”

我想让用户能够共享位置,但我不知道如何UIActivityViewController在 SwiftUI 中显示。

uiactivityviewcontroller swiftui xcode11

38
推荐指数
7
解决办法
1万
查看次数

为UIActivityViewController Swift设置不同的活动项目

我有UIActivityViewController4个选项:消息/邮件/ TW/FB.我想为每个选项发送不同的活动!

对于例如:在iMessage表,我需要把:String,NSURL,和UIImage.在Mail中,我需要在主题字段中放置字符串,然后在正文中放置字符串,UIImage以及NSURL.在TW/FB 我想放置图片像社交帖子做了它,也有一些字符串和NSURL.

你知道在iOS8中是否可以使用Swift吗?

我搜索了很多代码,但没有找到最适合我的代码.

ios uiactivityviewcontroller swift

34
推荐指数
2
解决办法
2万
查看次数

如何在iOS 6中为UIActivityViewController设置收件人?

UIActivityViewController在iOS6中使用新类为用户提供各种共享选项.您可以将一系列参数传递给它,例如文本,链接和图像,剩下的就完成了.

如何定义收件人?例如,通过邮件或短信共享应该能够接受收件人,但我无法弄清楚如何调用此行为.

我不想必须单独使用MFMessageComposeViewController,UIActivityViewController因为这只会破坏共享控制器的目的.

有什么建议?

UIActivityViewController类参考

编辑:现在已经提交了Apple,并随后与重复的错误报告合并.

关于OpenRadar的错误报告

iphone objective-c ios6 uiactivityviewcontroller

32
推荐指数
4
解决办法
2万
查看次数

当tweet失败时,UIActivityViewController完成处理程序返回成功

我正在使用UIActivityViewController来显示共享表,以便用户可以共享我的应用程序.我正在测试推文,我得到了一些意想不到的结果.在第一次发推文时,一切顺利.在第二次,我得到一个重复的推文错误消息,这是预期的.问题是completionWithItemsHandler返回成功:Bool为true!

我希望能够向用户显示我自己的个性化消息,而不是当前返回的大量消息.

这是我的代码:

@IBAction func ShareButtonTapped(sender: AnyObject) {
    let textToShare = "I'm using Buzz!  The new way to send emoji's, with sound, it's annoying, funny and amazing"
    var url = NSURL(string: "-Image url masked out-")
    var data = NSData(contentsOfURL: url!)
    let image = UIImage(data: data!)
    if let myWebsite = NSURL(string: "-redirect masked out-")
    {
        let objectsToShare = [textToShare, myWebsite]
        let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
        activityVC.completionWithItemsHandler = {
            (activity, success, items, error) in
            println("Activity: \(activity) Success: \(success) Items: \(items) …
Run Code Online (Sandbox Code Playgroud)

twitter ios uiactivityviewcontroller swift

30
推荐指数
3
解决办法
2万
查看次数

不能从[UIActivityViewController excludedActivityTypes]中排除UIActivityTypePostToFacebook

我希望创建一个UIActivityViewController将排除一些本地共享功能,包括Facebook和Twitter共享.但Facebook的份额仍然可用ShareExtention.

我创建了以下内容:

activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems  applicationActivities:applicationActivities];
Run Code Online (Sandbox Code Playgroud)

并通过设置排除的活动类型排除Facebook.

activityViewController.excludedActivityTypes = @[
                                                 UIActivityTypeAddToReadingList,
                                                 UIActivityTypeAssignToContact,
                                                 UIActivityTypePrint,
                                                 UIActivityTypeSaveToCameraRoll,
                                                 UIActivityTypeCopyToPasteboard,
                                                 UIActivityTypeAirDrop,
                                                 UIActivityTypePostToFacebook,
                                                 UIActivityTypePostToTwitter
                                                 ];
Run Code Online (Sandbox Code Playgroud)

在我的iPhone上运行时,尽管排除了Facebook图标,但仍会显示.

调查这是如何发生的我发现活动控制器的完成处理程序正在返回activityType = com.facebook.Facebook.ShareExtension,而不是UIActivityTypePostToFacebook.此外,当在活动控制器中选择更多按钮时,Facebook的切换与使用共享约定的其他应用程序一样.

为什么Facebook使用的shareExtention时间不是Twitter,为什么我不能使用排除的活动将其排除?

注意:我已经在多个设备上对此进行了测试,但该问题仅存在于运行8.1.3的一台设备上.

谢谢

facebook objective-c uikit ios uiactivityviewcontroller

30
推荐指数
2
解决办法
5344
查看次数

如何使用UIActivityViewController发送PDF文件

我正在尝试使用UIActivityViewController.发送PDF .到目前为止,使用相当基本的方法一切正常,但我遇到的一个问题是,当我选择send by mail选项时,PDF的文件名Attachment-1不是Calculation.PDF我给文件的名称.

我不太介意标题的变化,但是当将文件发送给使用Windows PC的人时,缺少.pdf扩展确实会导致问题,我想解决这个问题.

我看了一下: 使用UIActivityViewController控制UIImage的文件名

但是看不到一个等效的方法:

[mailComposer addAttachmentData: UIImagePNGRepresentation(viewImage) mimeType:@"" fileName:@"myImage.png"];
Run Code Online (Sandbox Code Playgroud)

这将适用于PDF文件.这是没有自定义无法修复的东西,还是这个问题的简单解决方案?

objective-c ios6 uiactivityviewcontroller swift

25
推荐指数
4
解决办法
3万
查看次数

LaunchServices:invalidationHandler被调用 - iOS 8共享表

SLComposeViewController用于打开Twitter或Facebook共享表的时间内,在日志中看到此错误消息,尽管不一致.我没有使用任何新的iOS 8 API,只是测试iOS 8上的现有代码.我看到其他人遇到了这个问题,甚至在使用Cocoa Touch SDK中的其他模态视图控制器时也发生了崩溃.

LaunchServices:invalidationHandler被调用

是否有新的防护措施,与SLComposeViewControllerUIActivityViewControlleriOS中8?还有什么要考虑的吗?

slcomposeviewcontroller uiactivityviewcontroller xcode6 ios8

25
推荐指数
2
解决办法
1万
查看次数

UIActivityViewController Gmail共享主题和正文相同

我正在分享一些内容UIActivityController.

它适用于其他选项.

我能得到subject并且body在默认的邮件应用程序.

但当我用来共享内容时,gmailSubject的邮件已经消失,我Body在Gmail Subject's部分获取内容:

这是我的代码:

    NSString *body = @"I am Body";
NSString *tagLine = @"I am Subject";

   NSArray *objectToShare = [NSArray arrayWithObjects:body, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectToShare applicationActivities:nil];

[activityVC setValue:tagLine forKey:@"subject"];

NSArray *excludeActivities = @[UIActivityTypeAirDrop,
                               UIActivityTypePrint,
                               UIActivityTypeAssignToContact,
                               UIActivityTypeSaveToCameraRoll,
                               UIActivityTypeAddToReadingList,
                               UIActivityTypePostToVimeo];

activityVC.excludedActivityTypes = excludeActivities;

[self presentViewController:activityVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

为了更好的图片这里是截图:

使用默认应用:

在此输入图像描述

使用Gmail: 在此输入图像描述

我也尝试过不同的答案.但它们都不起作用.

gmail objective-c ios uiactivityviewcontroller xcode6

24
推荐指数
1
解决办法
2876
查看次数