2014-10-03 12 views
5

Ho riscontrato un problema con il metodo AppDelegate OpenURL.application openURL in Swift

Ho installato il mio UTI e il tipo di documento importati. Ma quando apri la mia app da un allegato di posta, l'app si blocca immediatamente quando ho implementato il metodo.

L'handle depenzionatoOpenURL funziona, ma non OpenURL?

Al momento non ho codice nell'implementazione e sto solo ritornando vero.

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool { 
    return true 
} 

L'incidente dice Thread 1: EXC_BAD_ACCESS (code-1, address-0x0)

Non voglio veramente avere per utilizzare il metodo deprecato.

+0

Si potrebbe provare a rendere il parametro 'sourceApplication' un facoltativo non confezionato facoltativo poiché questo è tipico della mancata corrispondenza delle firme tra le firme dei metodi e il tentativo di passare nil in un parametro non facoltativo. Ovviamente è anche indicativo di un paio di migliaia di altri possibili errori, dal momento che indica semplicemente 'abort()' è stato chiamato ... Potrebbe anche essere che il parametro 'annotation' debba essere implicitamente scartato invece che esplicitamente. Pensandoci di più, è molto più probabile. –

+0

Grazie David, avevi ragione era in realtà il parametro sourceApplication. Se vuoi aggiungere questo come risposta lo accetto. Grazie ancora – BassetMan

risposta

2

Questo è piuttosto tipico di una mancata corrispondenza della firma tra le firme del metodo generate automaticamente dal compilatore Swift e la firma effettiva. Succede quando provi a passare nil da Objective-C a un opzionale Swift esplicitamente da scartare. Modificare il parametro annotation in modo implicito da scartare e si dovrebbe essere gtg.

Problemi correlati