ios - Mac Catalyst 是否支持 UIActivityViewController?

标签 ios swift uikit uikitformac

我正在尝试将我们的应用程序移植到 Mac。但似乎适用于 iOS/iPadOS 的内容并没有出现在 Mac 应用程序上。根本没有任何弹出窗口。

let activityController = UIActivityViewController(activityItems:items, applicationActivities:nil)

activityController.setValue(NSLocalizedString("App Name", comment:""), forKey:"subject")
activityController.modalPresentationStyle = .popover

let popoverController = activityController.popoverPresentationController

if popoverController != nil {
      popoverController!.barButtonItem = sender
      popoverController!.permittedArrowDirections = .down
}

self.present(activityController, animated:true, completion:nil)

看到一条可能相关的错误消息:
setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access

我在沙箱中尝试了各种设置,但没有很好的结果。

PS:删除这一行后得到它的工作:activityController.setValue(NSLocalizedString("App Name", comment:""), forKey:"subject")

显示的选项也取决于。例如,如果项目中有字符串和图像,则不会显示“保存到照片”。

最佳答案

嗯,我似乎有一个有趣的类似问题。我还得到了一个“更多”迷你弹出窗口。但是如果我使用 UIButton 而不是 UIView 作为目标,它就可以工作。

使用 UIButton 调用此代码有效:

func shareImage(_ image: UIImage, from fromView: UIView) {
    let activityViewController = UIActivityViewController(activityItems: [image], applicationActivities: nil)
    activityViewController.popoverPresentationController?.sourceView = fromView
    activityViewController.popoverPresentationController?.sourceRect = fromView.bounds
    self.present(activityViewController, animated: true, completion: nil)
}

可能是 macOS/Catalyst 中的错误?

它似乎也取决于共享的项目类型。与 PDF 数据相同的代码不会在 macOS 上共享。但是 UIImage 工作得很好:/

关于ios - Mac Catalyst 是否支持 UIActivityViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58290095/

相关文章:

ios - 将.ipa从发行版转移到开发者资料

ios - Marmalade Juice - 将 .xcworkspace 转换为 Android

ios - iOS 的分配工具 : compare memory of two snapshots

swift - 定义与以前的值冲突 - 另外,何时删除覆盖?

ios - iOS8 上的自动布局错误,但 iOS9 上没有

ios - 有没有一种方法可以将应用程序部署到iOS设备而无需开发人员帐户或不通过Xcode?

Storyboard 中的 iOS Swift 启动画面

ios - Swift iOS - 如果发现错误则尽早跳出状态

ios - 为什么不使用 frameOfPresentedViewInContainerView 定义我的 View Controller 大小使其达到该大小?

ios - 在 View Controller Containment 中保留对 Parent 的引用