在 iOS 应用程序 (Swift) 中通过电报分享消息

Share a message with telegram within iOS app (Swift)

我正在使用 swift 开发一个 iOS 应用程序,我需要在按下按钮时与电报应用程序共享一条消息。我希望用户选择 he/she 想要与之共享消息的联系人。

我试过 "tg://msg?text=" 架构,但它只打开电报而不是共享页面来选择联系人。

有人知道这样做的方法吗?

提前感谢您的帮助!

答案:

正如@Cesare 指出的那样,tg://msg?text=test URL 已被电报禁用,因此我们需要一个特定的 phone 号码来共享消息。

Telegram 禁用了 tg://msg?text=test URI。 You can only send direct messages to pre-chosen users or contacts.

因此您可能希望提供标准联系人列表,然后向该 phone 号码发送消息(假设他们有 Telegram)。

当然,如果您使用 UIActivityController 应该可以。

@objc func didSelectShareRow() {
    let text = "Hello"
    let textShare = [text]
    let activityViewController = UIActivityViewController(activityItems: textShare , applicationActivities: nil)
    activityViewController.popoverPresentationController?.sourceView = self.view
    self.present(activityViewController, animated: true, completion: nil)
}

另一种解决方案是使用类似我的 LNExtensionExecutor 的方法,它允许您绕过 UIActivityViewController 并执行标准 Telegram(或任何其他)共享扩展,提供文本 and/or 图像作为输入项。