IOS UIActivityViewController

IOS UIActivityViewController

我实际上在做一个简单的应用程序,它是 Mememe 类的。我的问题是在尝试保存、共享等时使用 UIActivityViewController。但为什么它没有发生在这里?我想这是因为传递了一个空图像。但我真的不知道如何解决它。谁能帮帮我吗? 这是代码:

@IBAction func savingMyImage(sender: AnyObject) {
    let image = UIImage()
    let controller = UIActivityViewController(activityItems: [image], applicationActivities: nil)
    presentViewController(controller, animated: true, completion: nil)

    controller.completionWithItemsHandler = { (activity: String?, completed: Bool, items: [AnyObject]?, error: NSError?) -> Void in
      if completed {
        self.save()
        self.dismissViewControllerAnimated(true, completion: nil)
      }
    }
}

感谢大家。

所以我试着重复你的问题:创建新项目(XCode7 iOS SDK 9),添加按钮并复制粘贴你的代码。一切正常。所以检查你的方法是否被调用。设置断点以开始您的方法并按下按钮。

我在 iPad 2 和 iPad 空气模拟器上 运行 这个并得到以下错误。我不需要为 iPhone 6

添加弹出窗口行

ViewControllerExp[1911:87261] *** 由于未捕获的异常 'NSGenericException' 而终止应用程序,原因:'UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x7f94a24c3a80>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'

这段代码对我有用:

    let image = UIImage()

    let controller = UIActivityViewController(activityItems:[image], applicationActivities:nil)

    //had to add this line to get it to work for the iPad simulator; 
    //it is not necessary for the iPhone 6 simulator
    controller.popoverPresentationController?.sourceView = self.view

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