2015-04-09 10 views
5

Sto facendo una funzione di condivisione nel mio gioco e ho il codice e funziona bene su iPhone ma quando lo test su un iPad, quando tocco il pulsante di condivisione l'app si blocca. Sto usando il seguente codice per il pulsante di condivisioneUIActivityViewController in Swift Crashes su iPad

let textToShare = "Check out this website!" 

if let myWebsite = NSURL(string: "http://www.apple.com/") { 
    let objectsToShare = [textToShare, myWebsite] 
    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) 
    self.view?.window?.rootViewController?.presentViewController(activityVC, animated: true, completion: nil) 
} 
+0

Non dire semplicemente "l'arresto anomalo dell'app". Ti dice cose importanti quando si blocca. Quali cose importanti ti dice? – matt

+0

Fornire dettagli sull'arresto. – rmaddy

risposta

17

proprietà popoverPresentationController ha non nullo del UIActivityViewController durante l'esecuzione su iPad. Quindi, prova di seguito.

if let wPPC = activityVC.popoverPresentationController { 
    wPPC.sourceView = some view 
    // or 
    wPPC.barButtonItem = some bar button item 
} 
presentViewController(activityVC, animated: true, completion: nil) 
+0

come cambieresti la posizione del Pop Over View – Loanb222

+1

Grazie, ".barButtonItem = qualche elemento del pulsante della barra" è davvero un buon modo. –

+0

FYI, non è necessario il 'se let' qui. Funzionerà il concatenamento opzionale. 'activityVC.popoverPresentationController? .barButtonItem = whatever' –

Problemi correlati