Update for Swift 4 and iOS 10+
OK, there are two easy steps to achieve this in Swift 3:
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>instagram</string>
<string>fb</string>
</array>
After that, you can open instagram
and facebook
apps by using instagram://
and fb://
. Here is a complete code for instagram and you can do the same for facebook, you can link this code to any button you have as an Action:
@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)
}
}
For facebook
, you can use this code:
let appURL = URL(string: "fb://profile/\(Username)")!