Swift3 UIActivityController共享表为空

Swift3 UIActivityController共享表为空,swift3,ios10,uiactivityviewcontroller,Swift3,Ios10,Uiactivityviewcontroller,我提到了很多关于这个的问题,大多数问题似乎都解决了,因为OP是在模拟器上测试的,而不是真正的设备 我已经试过了,但我看到的都是下图。我之前在另一个项目中成功地使用了相同的代码,因此不确定出了什么问题。缺少所有选项,更多选项为空。这是一个真实的设备,其他应用程序的共享表工作正常 这是我的密码。我使用的是Xcode 8.1(测试版)和iOS 10.1(测试版) 我刚刚解决了这个问题,我确保添加到activityItems的所有内容都是未包装的/不是可选的 var activityItems: [An

我提到了很多关于这个的问题,大多数问题似乎都解决了,因为OP是在模拟器上测试的,而不是真正的设备

我已经试过了,但我看到的都是下图。我之前在另一个项目中成功地使用了相同的代码,因此不确定出了什么问题。缺少所有选项,更多选项为空。这是一个真实的设备,其他应用程序的共享表工作正常

这是我的密码。我使用的是Xcode 8.1(测试版)和iOS 10.1(测试版)


我刚刚解决了这个问题,我确保添加到activityItems的所有内容都是未包装的/不是可选的

var activityItems: [Any] = []

if let shareURL = URL(string: shareLink) {
    activityItems.append(shareURL)
}

if let shareImage = getShareScreenShot() {
    activityItems.append(shareImage)
}

activityItems.append(shareMessage)

let activity = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)

我已经在我的物理设备上运行了您的代码,没有进行编辑,这可能会帮助您解决问题:

结果:


代码:
iPhone 5S真实设备,操作系统版本:


Xcode版本:

我是这样解决这个问题的:

    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

    activityVC.excludedActivityTypes = [
        UIActivityType.assignToContact,
        UIActivityType.print,
        UIActivityType.addToReadingList,
        UIActivityType.saveToCameraRoll,
        UIActivityType.openInIBooks,
        UIActivityType(rawValue: "com.apple.reminders.RemindersEditorExtension"),
        UIActivityType(rawValue: "com.apple.mobilenotes.SharingExtension"),
    ]

使用可选绑定展开和将项目附加到数组中对我来说不起作用,会得到相同的结果。以下是有效的方法:

guard let image = UIImage(named: "test.png", let url = URL(string: "https://www.google.com") else { return }

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

有什么帮助吗?请确保所有内容都已打开包装或不是可选的,否则不会在任何地方共享。下面由@marlo提供答案
    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

    activityVC.excludedActivityTypes = [
        UIActivityType.assignToContact,
        UIActivityType.print,
        UIActivityType.addToReadingList,
        UIActivityType.saveToCameraRoll,
        UIActivityType.openInIBooks,
        UIActivityType(rawValue: "com.apple.reminders.RemindersEditorExtension"),
        UIActivityType(rawValue: "com.apple.mobilenotes.SharingExtension"),
    ]
guard let image = UIImage(named: "test.png", let url = URL(string: "https://www.google.com") else { return }

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