Sto utilizzando un UIActivityViewController per visualizzare un foglio di condivisione in modo che gli utenti possano condividere la mia app. Attualmente sto testando i tweet e sto ottenendo dei risultati inaspettati. Su Twitter per la prima volta, tutto va bene. La seconda volta, ricevo un messaggio di errore tweet duplicato, che è previsto. Il problema è che il completamentoWithItemsHandler sta tornando successo: Bool come vero!Il gestore di completamento di UIActivityViewController restituisce il successo quando tweet ha fallito
Voglio essere in grado di visualizzare il mio messaggio personalizzato per l'utente piuttosto che il massiccio che viene restituito al momento.
Ecco il mio codice:
@IBAction func ShareButtonTapped(sender: AnyObject) {
let textToShare = "I'm using Buzz! The new way to send emoji's, with sound, it's annoying, funny and amazing"
var url = NSURL(string: "-Image url masked out-")
var data = NSData(contentsOfURL: url!)
let image = UIImage(data: data!)
if let myWebsite = NSURL(string: "-redirect masked out-")
{
let objectsToShare = [textToShare, myWebsite]
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
activityVC.completionWithItemsHandler = {
(activity, success, items, error) in
println("Activity: \(activity) Success: \(success) Items: \(items) Error: \(error)")
}
self.presentViewController(activityVC, animated: true, completion: {() -> Void in
})
}
}
Ecco il mio registro:
2015-01-27 11:10:58.021 Buzz[3239:813859] LaunchServices: invalidationHandler called
2015-01-27 11:10:58.052 Buzz[3239:813860] LaunchServices: invalidationHandler called Activity: com.apple.UIKit.activity.PostToTwitter Success: true Items: nil Error: nil
2015-01-27 11:11:04.134 Buzz[3239:813859] LaunchServices: invalidationHandler called
2015-01-27 11:11:09.182 Buzz[3239:813859] plugin com.apple.share.Twitter.post invalidated
Cosa lavoro per raggiungere però? Sicuramente rimuovendo il gestore di completamento sono ancora più lontano dalla possibilità di controllare/modificare i messaggi di errore – Swinny89
suggerisco di provarlo, e poi, se ancora non funziona, rimuoverlo. Questo sembrava funzionare per me. @ Swinny89 – tdh
Inizialmente utilizzavo la funzione con il gestore di completamento. La funzionalità funziona ancora con/senza il gestore di completamento – Swinny89