Deseamos compartir contigo la mejor solución que descubrimos en internet. Esperamos que te sea de ayuda y si puedes compartir alguna mejora hazlo libremente.
Solución:
Actualización para Swift 4 y iOS 10+
Bien, hay dos sencillos pasos para lograr esto en Swift 3:
Primero hay que modificar Info.plist
Listar instagram
y facebook
con LSApplicationQueriesSchemes
. Simplemente abre Info.plist
como código fuente y pega esto:
LSApplicationQueriesSchemes
instagram
fb
Después de eso, puede abrir instagram
y facebook
aplicaciones usando instagram://
y fb://
. Aquí hay un código completo para instagram y puedes hacer lo mismo para facebook, puedes vincular este código a cualquier botón que tengas como Acción:
@IBAction func InstagramAction()
let Username = "instagram" // Your Instagram Username here
let appURL = URL(string: "instagram://user?username=(Username)")!
let application = UIApplication.shared
if application.canOpenURL(appURL)
application.open(appURL)
else
// if Instagram app is not installed, open URL inside Safari
let webURL = URL(string: "https://instagram.com/(Username)")!
application.open(webURL)
Para facebook
puedes usar este código:
let appURL = URL(string: "fb://profile/(Username)")!
Échale un vistazo a estos enlaces, te pueden ayudar:
https://instagram.com/developer/mobile-sharing/iphone-hooks/
http://wiki.akosma.com/IPhone_URL_Schemes
Abra un enlace de Facebook mediante la aplicación nativa de Facebook en iOS
De lo contrario, hay un ejemplo rápido con Instagram para abrir un perfil específico (apodo: johndoe) aquí:
var instagramHooks = "instagram://user?username=johndoe"
var instagramUrl = NSURL(string: instagramHooks)
if UIApplication.sharedApplication().canOpenURL(instagramUrl!)
UIApplication.sharedApplication().openURL(instagramUrl!)
else
//redirect to safari because the user doesn't have Instagram
UIApplication.sharedApplication().openURL(NSURL(string: "http://instagram.com/")!)
En rápido 3;
Primero debes agregar esto en tu Info.plist
Entonces puedes usar este código;
let instagramUrl = URL(string: "instagram://app")
UIApplication.shared.canOpenURL(instagramUrl!)
UIApplication.shared.open(instagramUrl!, options: [:], completionHandler: nil)