Kann jemand UIActivityView in iOS 10 verwenden? Nun, aus irgendeinem Grund in Swift 3.0 wird es kompilieren und bauen, aber wenn die Anwendung nach dem Drücken einer Share-Taste mit dem folgenden Code führt zu einem Absturz der Anwendung ... funktioniert es perfekt in iOS 9.3 und Swift 2.0.UIActivityViewController in iOS 10
Wie in den Kommentaren der Codezeile angegeben 6 oder let objectsToShare = [textToShare] as! AnyObject
bewirkt eine Thread1: Signal SIGABRT und Absturz der Anwendung
@IBOutlet weak var detailDescriptionLabel: UITextView!
@IBAction func share(_ sender: AnyObject) {
let textToShare = detailDescriptionLabel.attributedText
let objectsToShare = [textToShare] as! AnyObject
// line above causes app crash in iOS 10 - compiled and built
// error is "Thread1: signal SIGABRT"
let activityVC = UIActivityViewController(activityItems: objectsToShare as! [AnyObject], applicationActivities: nil)
activityVC.popoverPresentationController?.sourceView = (sender as! UIView)
self.present(activityVC, animated: true, completion: nil)
}
class ActivityForNotesViewController: UIActivityViewController {
internal func _shouldExcludeActivityType(_ activity: UIActivity) -> Bool {
let activityTypesToExclude = [
//insert UIActivity here
]
if let actType = activity.activityType {
if activityTypesToExclude.contains(actType) {
return true
}
else if super.excludedActivityTypes != nil {
return super.excludedActivityTypes!.contains(actType)
}
}
return false
}
}
Jeder, der mir helfen kann ich es schätzen würde.
Warum werfen Sie Array zu AnyObject. Das macht nicht viel Sinn. – Andy
@Andy Ich bin mir nicht sicher, warum ich es tatsächlich getan habe. Aus irgendeinem Grund beschwert sich der Compiler, wenn ich diesen Text aus dem Code entferne. es macht Sinn und ist effizienter, die Besetzung nicht zu machen, aber ich bin nicht 100% ig darüber, wie ich es sonst ohne es machen könnte. – KSigWyatt
Wenn ich raten müsste, wäre es, weil die Funktion 'UIActivityViewController (activityItems:' verwendet einen Cast in der Erklärung der Funktion hier 'objectsToShare as! [AnyObject]') – KSigWyatt