У меня есть требование открыть твит в моем приложении, если у пользователя установлен твиттер, открыть в твиттере, в противном случае представить веб-просмотр и отобразить твит.
Я могу добиться этого по существу с помощью нижеприведенного. Это работает, и я доволен этим.
Однако, когда изначально будет предложено открыть в Twitter, если пользователь нажмет кнопку «Отмена», я бы вместо этого хотел представить веб-просмотр. Однако в настоящее время, если пользователь нажимает кнопку «Отмена», ничего не происходит, и ему нужно снова нажать на элемент твита в его ленте.
Возможно ли иметь запасной вариант, если пользователь нажмет кнопку "Отмена" в сообщении?
func didSelectItemInFeed(_ selected: FeedItem) {
switch selected.item.type {
case .companyNews:
....
case .tweet:
guard
let username = selected.item.tweet?.displayName,
let appURL = URL(string: "twitter://status?id=\(selected.item.externalId)"),
let webURL = URL(string: "https://twitter.com/\(username)/status/\(selected.item.externalId)")
else { return }
let application = UIApplication.shared
if application.canOpenURL(appURL as URL) {
application.open(appURL as URL)
} else {
presentWebView(webURL)
}
default:
break
}
}