标签: 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
查看次数

在活动视图控制器中共享屏幕截图 - Swift

我正在开发应用程序的一部分,以便当您点按分享按钮时,它可以让您立即分享您的高分榜的屏幕截图以及消息.我无法制作/分享屏幕截图,当我点击分享按钮时,应用程序只允许我复制我的默认文本或"邮件"我的默认文本,不允许我发布到Facebook,Twitter,消息, 和更多.

func shareButtonPress() {

    var postPhrase = "Just hit \(highscore)! Beat it! #SwypIt"

    //Generate the screenshot
    UIGraphicsBeginImageContext(view.frame.size)
    view.layer.renderInContext(UIGraphicsGetCurrentContext())
    var image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    var postImage = UIImage(named: "\(image)")

    var activityViewController : UIActivityViewController = UIActivityViewController(activityItems: [postPhrase, postImage!], applicationActivities: nil)

    self.presentViewController(activityViewController, animated: true, completion: nil)

}
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最佳方式是什么?谢谢!

share screenshot uiactivityviewcontroller swift

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

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中为所有应用程序显示我的应用程序作为操作扩展(默认)

创建了新项目并添加了ActionExtension它工作并在Action Activities中显示但是当我为现有应用程序(包含swift和Objective-c文件的旧应用程序)创建时,Action Extension不显示在Device中我需要在Action Extension中显示我的应用程序UiactivityController但我无法在Device参考图像中显示For Every Application

此搜索 图像2

***查询:在模拟器(照片应用程序)中显示它并且它在模拟器中的其他应用程序中不显示但是当我在设备中运行时它不会在照片应用程序和其他应用程序中显示

override func viewDidLoad() {
    super.viewDidLoad()


    // Get the item[s] we're handling from the extension context.

    // For example, look for an image and place it into an image view.
    // Replace this with something appropriate for the type[s] your extension supports.
    var imageFound = false
    for item: AnyObject in self.extensionContext!.inputItems {
        let inputItem = item as! NSExtensionItem
        for provider: AnyObject in inputItem.attachments! {
            let itemProvider = provider as! NSItemProvider
            if itemProvider.hasItemConformingToTypeIdentifier(kUTTypeImage as String) …
Run Code Online (Sandbox Code Playgroud)

objective-c ios uiactivityviewcontroller swift swift2

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

通过UIActivityController共享视​​频PHAsset

我正在尝试使用requestAVAsset 通过UIActivityController共享视频PHAsset.这适用于Messaging,但不适用于AirDrop,表示为"失败".

PHCachingImageManager.default().requestAVAsset(forVideo: asset, options: nil, resultHandler:
    { (givenAsset, audioMix, info) in

        let videoAsset = givenAsset as! AVURLAsset
        let videoURL = videoAsset.url

        DispatchQueue.main.async {
            let activityViewController = UIActivityViewController(
                activityItems: [videoURL],
                applicationActivities: nil)
            activityViewController.excludedActivityTypes = [UIActivityType.saveToCameraRoll]

            if let popoverPresentationController = activityViewController.popoverPresentationController {
                popoverPresentationController.barButtonItem = (sender)
            }

            self.present(activityViewController, animated: true, completion: nil)
        }
})
Run Code Online (Sandbox Code Playgroud)

这似乎适当地提出了UIActivityController并且只适用于某些活动:

  • 消息 - ✔️Works,正确导出视频.
  • AirDrop - ✖️Shows"失败"
  • Dropbox - ✖️提供正确的Dropbox视图,但说"发生了未知错误"

在此输入图像描述

video ios uiactivityviewcontroller swift phasset

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

使用UIActivityViewController无法正常使用Swift 3中的WhatsApp分享实时照片

我正在UIActivityViewController不同的社交媒体上分享图片,视频和LivePhoto .

但是当我在WhatsApp上分享LivePhoto时,会发生以下情况:

  1. 当ActivityViewController存在 - >点击WhatsApp - >它提供第二个联系人列表并快速解散,当我尝试使用ActivityViewController完成处理程序打印错误时,它打印如下:

[core] SLComposeViewController remoteViewController:didTerminateWithError:Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3"(null)"UserInfo = {Message = Service Connection Interrupted} [core] SLComposeViewController completeWithResult:0 [core] SLComposeViewController跳过显式dismiss,因为isBeingDismissed已经是1 SLComposeViewController dealloc

I have tried with this code : 

PHImageManager.default().requestImageData(for: selectedAsset, options: nil, resultHandler: { (imgData, str, image, info) in

                activityItems.append(imgData!)

                let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
                activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash
                activityViewController.completionWithItemsHandler = {(activityType: UIActivityType?, completed: Bool, returnedItems:[Any]?, …
Run Code Online (Sandbox Code Playgroud)

objective-c ios uiactivityviewcontroller swift3 apple-live-photos

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

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
查看次数