¿Pasar datos entre dos aplicaciones por esquema de URL en Swift?
Hay dos aplicaciones de prueba llamadas Remitente y Receptor
Se comunican entre sí por Url Scheme. Me gustaría enviar una cadena del remitente al receptor, ¿es posible?
Detalle sobre la cadena:
Ambos creo Textfields en Sender y Receiver, enviaría un texto de String en Sender Textfield. Cuando hago clic en el botón, la cadena se mostrará en el campo de texto del receptor.
Aquí está mi código de App Receiver:
En Appdelegate
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
calledBy = sourceApplication
fullUrl = url.absoluteString
scheme = url.scheme
query = url.query
}
En vista Controlador
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.displayLaunchDetails), name: UIApplicationDidBecomeActiveNotification, object: nil)
// Do any additional setup after loading the view, typically from a nib.
}
func displayLaunchDetails() {
let receiveAppdelegate = UIApplication.sharedApplication().delegate as! AppDelegate
if receiveAppdelegate.calledBy != nil {
self.calledByText.text = receiveAppdelegate.calledBy
}
if receiveAppdelegate.fullUrl != nil {
self.fullUrlText.text = receiveAppdelegate.fullUrl
}
if receiveAppdelegate.scheme != nil {
self.schemeText.text = receiveAppdelegate.scheme
}
if receiveAppdelegate.query != nil {
self.queryText.text = receiveAppdelegate.query
}
}
Ahora, solo puedo mostrar la información sobre la URLMe gusta esto
Espero tener alguna sugerencia!