【发布时间】:2016-09-20 16:56:57
【问题描述】:
尝试在我的应用程序中重新集成共享按钮。 Apple 再次将 Swift 3 中的内容更改为 iOS 10。我刚刚更新到Xcode 8 发布版本,它给我带来了UIActivities 的一些问题。
发现其中许多现在以UIActivityType. 开头,以使编译器不会失败。然而,他们中的许多人仍在使用com.apple,这也让我出于某种原因将activityType 数组转换为[Any]。
那么……有谁知道他们为什么这样做?你在 activityTypesToExclude.contains(where: (Any) throws -> Bool) 方法的 for 参数中放了什么?
internal func _shouldExcludeActivityType(_ activity: UIActivity) -> Bool {
let activityTypesToExclude = [
"com.apple.reminders.RemindersEditorExtension",
UIActivityType.openInIBooks,
UIActivityType.print,
UIActivityType.assignToContact,
UIActivityType.postToWeibo,
"com.google.Drive.ShareExtension",
"com.apple.mobileslideshow.StreamShareService"
] as [Any]
if let actType = activity.activityType {
if activityTypesToExclude.contains(where: (Any) throws -> Bool) {
return true
}
else if super.excludedActivityTypes != nil {
return super.excludedActivityTypes!.contains(actType)
}
}
return false
}
【问题讨论】: