func startAppB(withUsername: String) {
    // init the instance to access our shared storage
    let group = UserDefaults(suiteName: "group.myAmazingApp")
    
    // store username in shared storage
    group?.set("eldar", forKey: "username")
    
    // prepare App B's URL Scheme
    let targetAppUrl = URL(string: "appB://")
    
    // is App B availalbe on device?
    if UIApplication.shared.canOpenURL(targetAppUrl) {
        // App B in installed, open it
        openUrl(targetAppUrl)
    } else {
        // App B is not installed, go to app store
        let appStoreUrl = URL(string: "https://itunes.apple.com/app/id123456")
        openUrl(appStoreUrl)
    }
}

func openUrl(_ url: URL) {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    } else {
        UIApplication.shared.openURL(url)
    }
}