UIActivityViewController에서 Twitter에 공유 할 수없는 문제

4198 단어 iOSSwift
추가 Twitter 8.67.1 이라고 무사히 공유할 수 있게 되어 그랬습니다 소개 Twitter 8.65.2라면 아래와 같이 UIActivityViewController로 공유할 수 없는 것 같습니다.

공유 후보로 Twitter가 표시되지만 탭하면 공유 할 수없는 것 같습니다

확인한 기기는 iOS 13.7 및 iOS 14.4입니다.

대책



대책이라고 해도 UIActivityViewController 는 아래와 같이 건네줄 뿐이므로 Twitter 앱의 갱신을 기다릴 수 밖에 없을 것입니다
let activity = UIActivityViewController(activityItems: ["text"],
                                        applicationActivities: nil)
present(activity, animated: true)

그냥 아무래도 앱에서 Twitter에 공유하고 싶어! 라고 하는 경우는 아래와 같이 OpenURL 를 사용하는 것도 하나의 손일지도 모릅니다.
let text = "text"
UIApplication.shared.open(URL(string: "https://twitter.com/intent/tweet?text=\(text.urlEncoded)")!)

extension String {

    // 色々例外があった気がするのでもうちょっと工夫が必要かも??
    var urlEncoded: String {
        let charset = CharacterSet.alphanumerics.union(.init(charactersIn: "/?-._~"))
        let removed = removingPercentEncoding ?? self
        return removed.addingPercentEncoding(withAllowedCharacters: charset) ?? removed
    }
}

결론



우선 별안을 써 보았습니다만 어플의 대응하고 있는 동안에 Twitter의 업데이트가 있다고 생각하기 때문에 한가로이 Twitter의 릴리스를 기다리면 좋지 않을까 생각합니다

좋은 웹페이지 즐겨찾기