I am trying to deep link from my app to a user\'s twitter profile on the native twitter app. I have added schema rules for twitter and the following code:
ap
OK, there are two easy steps to achieve this in Swift 4:
First, you have to modify Info.plist to list instagram and facebook with LSApplicationQueriesSchemes. Simply open Info.plist as a Source Code, and paste this:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>twitter</string>
</array>
After that, you can open twitter apps. Here is a complete code for twitter you can link this code to any button you have as an Action:
@IBAction func followOnTwitter(sender: AnyObject) {
let screenName = "AffordIt_App"
let appURL = NSURL(string: "twitter://user?screen_name=\(screenName)")!
let webURL = NSURL(string: "https://twitter.com/\(screenName)")!
let application = UIApplication.shared
if application.canOpenURL(appURL as URL) {
application.open(appURL as URL)
} else {
application.open(webURL as URL)
}
}
Use this for twitter profile share, Swift 4:
let screenName = "NJMINISTRIESINC"
let appURL = URL(string: "twitter://user?screen_name=\(screenName)")!
let webURL = URL(string: "https://twitter.com/\(screenName)")!
if UIApplication.shared.canOpenURL(appURL as URL) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(appURL)
} else {
UIApplication.shared.openURL(appURL)
}
} else {
//redirect to safari because the user doesn't have Instagram
if #available(iOS 10.0, *) {
UIApplication.shared.open(webURL)
} else {
UIApplication.shared.openURL(webURL)
}
}