【问题标题】:The purpose Swift URL Components in iMessage Apps?iMessage 应用程序中的 Swift URL 组件的用途?
【发布时间】:2023-03-13 14:30:02
【问题描述】:

我是 iMessage 应用程序开发的新手。看一些例子,看起来信息从发送者到接收者的信息通过 iMessage 应用程序是通过 URLComponents 传输的。

  • 这是在 iMessage 应用程序上发送信息的唯一方式吗?
  • 我不熟悉 swift 中的 URLComponents,实际的 URL 是否重要?

谢谢!!

【问题讨论】:

    标签: ios swift imessage imessage-extension


    【解决方案1】:

    MSMessageurl 属性是您可以存储自定义数据的地方。

    您可以使用iMessageDataKit 库将键值对存储在MSMessage 对象中。它使设置和获取数据变得非常容易,例如:

    let message: MSMessage = MSMessage()
    
    message.md.set(value: 7, forKey: "user_id")
    message.md.set(value: "john", forKey: "username")
    message.md.set(values: ["joy", "smile"], forKey: "tags")
    
    print(message.md.integer(forKey: "user_id")!)
    print(message.md.string(forKey: "username")!)
    print(message.md.values(forKey: "tags")!)
    

    (免责声明:我是iMessageDataKit的作者)

    【讨论】:

      【解决方案2】:

      您也可以通过原生 swift 使用它:

      let layout = MSMessageTemplateLayout()
      var components = URLComponents()
      let caption = URLQueryItem(name: "caption", value: self.melody)
      let decodedMelody = URLQueryItem(name: "melody", value: self.melody)
      
      components.queryItems = [caption, decodedMelody]
      
      let message = MSMessage(session: session ?? MSSession())
      layout.image = self.screenImage.image
      
      layout.caption = "Melody built with haptic and vibro."
      layout.subcaption = "sent via iVibrio"
      message.summaryText = "something summary"
      
      message.url = components.url!
      message.layout = layout
      

      这是我的complete example 如何通过 iMessage 应用程序发送数据和图像

      【讨论】:

        猜你喜欢
        • 2017-01-16
        • 1970-01-01
        • 2017-02-24
        • 1970-01-01
        • 2017-04-29
        • 2016-12-22
        • 2017-03-30
        • 1970-01-01
        • 2018-07-30
        相关资源
        最近更新 更多