标签: uiactivityviewcontroller

UIActivityViewController在iOS 8中不起作用

我正在使用UIActivityViewController为我的应用程序共享一些东西.它适用于iOS8之前的任何设备.问题是文本,图像不会显示在iOS 8设备或模拟器中的电子邮件,推特,Facebook中.

这是我的代码:

    NSString *textObject = @"Test";
    NSString *urlString = @"http://test.com";
    UIImage* image = [UIImage imageNamed:@"logo"];
    NSURL *url = [NSURL URLWithString:urlString];

    NSArray *activityItems = [NSArray arrayWithObjects:textObject, url, image, nil];

    UIActivityViewController *avc = [[UIActivityViewController alloc]
                                     initWithActivityItems:activityItems
                                     applicationActivities:nil];

    avc.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard ];

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

我做错了什么吗?谢谢.

编辑:

新的Xcode 6.1和iOS 8.1无法解决问题.它会导致电子邮件崩溃.以下是一些截图(以电子邮件共享为例):

  1. 在iOS 7中(你可以看到图像)

在此输入图像描述

  1. 在iOS 8(空白屏幕)

在此输入图像描述

应用程序崩溃时出现"MailCompositionService"异常.错误消息的一部分是:

进程:MailCompositionService [3775]路径:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Applications/MailCompositionService.app/MailCompositionService标识符:MailCompositionService版本:
1.0(1.0)代码类型:X86-64(Native)父进程:launchd_sim [3725]负责人:launchd_sim [3725]用户ID:501

发布日期/时间:2014-10-22 10:31:19.064 +0800操作系统版本:
Mac OS X 10.10(14A389)报告版本:11匿名UUID:
B1EC6B56-DD7F-36A3-1506-B8CE84AB3FEB

自启动以来的时间清醒:9800秒

崩溃的线程:0调度队列:com.apple.main-thread

异常类型:EXC_CRASH(SIGABRT)异常代码:
0x0000000000000000,0x0000000000000000

特定于应用程序的信息: *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]:nil参数'以NSException类型的未捕获异常终止abort()名为CoreSimulator 110.4 …

ios-simulator uiactivityviewcontroller xcode6 ios8

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

UIActivityViewController主题不适用于Outlook

敌人设定共享主题,压倒一切

   func activityViewController(activityViewController: UIActivityViewController, subjectForActivityType activityType: String?) -> String {
          return "mySubject"
    }
Run Code Online (Sandbox Code Playgroud)

分享时,不适用于Outlook应用程序.此方法不适用于outlook,适用于其他应用程序,如邮件,Gmail等.

发现一些应用程序像Yelp,Apple地图,谷歌地图能够在outlook中设置主题.如何实现它?

ios uiactivityviewcontroller swift

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

如何在我的应用中接收分享内容?

我想将我的应用程序添加到UIActivityViewController其他应用程序中。如何添加/注册我的应用程序以允许其他应用程序向我的应用程序发送内容?我应该如何接收这些内容?

在此处输入图片说明

ios uiactivityviewcontroller swift

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

UIActivityViewController 隐藏我的应用程序共享扩展

在我的应用程序中,我添加了我的共享扩展程序,它工作正常,但我面临一个问题当我通过邀请应用程序时,UIActivityViewController我会显示我的应用程序扩展程序。如何隐藏我的应用程序扩展我自己的应用程序?

ios uiactivityviewcontroller ios-sharesheet swift3

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

UIActivityViewController错误:无法确定URL是否由文件提供者管理

我将视频记录在我的应用程序中,并将其写入temp目录,以允许用户通过UIActivityViewController共享它。视频可以在应用程序中成功播放,并且可以通过UIActivityViewController成功地通过消息发送,共享到Facebook并保存到相机胶卷中。但是,当我尝试通过WhatsApp分享时,出现以下错误:

Failed to determine whether URL /private/var/mobile/Containers/Data/Application/E7F57458-A5F9-44CB-86FA-ACC4309C7473/tmp/65CB72B3-373E-42F2-8A80-9888E00C2268.mp4 (n) is managed by a file provider

我无法找到有关此错误的更多信息。有谁知道为什么会这样?

avfoundation ios whatsapp uiactivityviewcontroller swift

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

UIActivityViewController excludeActivityTypes 不适用于自定义 UIActivityTypes

我在排除 custom UIActivityTypes 时遇到问题UIActivityViewController

我有…

extension UIActivityType {
    static let fbMessenger = UIActivityType("com.facebook.Messenger.ShareExtension")
    static let telegram = UIActivityType("ph.telegra.Telegraph.Share")
}
Run Code Online (Sandbox Code Playgroud)

进而

let activityController = UIActivityViewController(activityItems: <sharingItems>, applicationActivities: nil)

activityController.excludedActivityTypes = [.postToFacebook, .fbMessenger, .telegram]
present(activityController, animated: true)
Run Code Online (Sandbox Code Playgroud)

使用上面排除的类型,显示的共享表正确排除了 Facebook,但仍显示 2 种自定义类型(M​​essenger 和 Telegraph)

有趣的是,activityTypecompletionWithItemsHandler选择我试图排除的 2 个中的任何一个时检查显示它们确实具有上述原始值。

可以UIActivityType排除customs吗?有没有想过我缺少什么?

ios uiactivityviewcontroller

7
推荐指数
0
解决办法
256
查看次数

Swift 5thumbnailImageForActivityType 方法未调用

这是我的代码,只有thumbnailImageForActivityType 未被调用...

class ShareMovieEvent: NSObject, UIActivityItemSource {
        
    let movieDate: String
    let movieTitle: String
    let movieDescription: String
    let imageHeader: UIImage
    
    init(movieDate: String ,movieTitle:String, movieDescription:String, imageHeader:UIImage) {
        
        self.movieDate = movieDate
        self.movieTitle = movieTitle
        self.movieDescription = movieDescription
        self.imageHeader = imageHeader
        
    }

    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
        return ""
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivity.ActivityType?) -> Any? {
        
        if activityType == UIActivity.ActivityType.message {
            return "\(movieDate) \n\n \(movieTitle) \n\n \(movieDescription)"
        } else if activityType == UIActivity.ActivityType.mail {
            return "\(movieDate) \n\n \(movieTitle) …
Run Code Online (Sandbox Code Playgroud)

uiactivityviewcontroller swift

7
推荐指数
0
解决办法
276
查看次数

使用UIActivityViewController共享多个图像

我试图与UIActivityViewController共享多个图像,但到目前为止,我发现的例子一次只共享1个图像.有什么建议?

objective-c ios uiactivityviewcontroller

6
推荐指数
1
解决办法
4103
查看次数

在UIActivityItemProvider活动期间显示进度指示器

我有一个UIActivityViewController允许用户将他们创建的图像分享到几种活动类型之一(Facebook,Twitter,保存到相机胶卷,打印等).

由于我希望图像以不同的质量水平保存/发送,具体取决于活动(打印的高分辨率,推特的低分辨率),我使用自定义UIActivityItemProvider(duh)提供图像.

渲染高分辨率版本需要一些时间,所以我想在它正在做它的事情时显示一个活动指示器.实际上,苹果文档提到了这样做.

但我似乎无法找出"正确"的地方来显示我的进度指示器...他们应该去哪里?

更新:- (id) activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType方法中尝试以下内容:

[self performSelectorOnMainThread:@selector(startSpinnerWithMessage:) withObject:message waitUntilDone:YES];

self.shareImage = [self.delegate imageForActivityOfType:activityType]; // code that actually generates the image; takes a while.

[self performSelectorOnMainThread:@selector(endSpinner) withObject:nil waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)

......不做这个工作.当我点击活动按钮时,UI会在生成图像时冻结,然后当它完成时,我会看到微调器一瞬间然后消失.

我认为endSpinner调用的定位是有道理的......然而,似乎startSpinner调用需要去其他地方.不知道该怎么做.

objective-c ios uiactivity uiactivityviewcontroller

6
推荐指数
1
解决办法
792
查看次数

无法使用iOS 7.1中的UIActivityViewController在Facebook和Twitter上共享URL

我正在使用UIActivityViewController进行分享按钮.当我从列表中选择邮件选项时它显示文本和网址但是当我选择Facebook或Twitter时它只显示文本而不是网址.我搜索了很多但没有得到我的问题的解决方案.我得到了在url中添加"http"的另一个解决方案,但这可能不在url中添加http.我的代码是 -

 NSArray *activityItems;
NSString *str;
NSString *noteStr;
str = [NSString stringWithFormat:@"com.boxscoregames.squares://square?%@",squareID];
noteStr = @"You have been invited to join the Square game, please follow the link below on your iPhone.";
NSURL *url = [NSURL URLWithString:str];

// str =[NSString  stringWithFormat:@"<html><a href=\"%@\">%@</a></html>" ,str,str];
activityItems = @[noteStr,url];

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

objective-c ios uiactivityviewcontroller xcode6

6
推荐指数
1
解决办法
4405
查看次数