【问题标题】:How do I make my SwiftUI app open from a string?如何让我的 SwiftUI 应用程序从字符串中打开?
【发布时间】:2021-04-22 17:52:55
【问题描述】:

可以在视图上使用“openURL(...)”,以便系统使用传入的 URL 来打开我的 SwiftUI 应用程序以进行处理。例如,当我拖动一个合适的对象并将其放在我的应用程序图标或打开的应用程序上时,就会发生这种情况。我想对表示为字符串(在本例中为 JSON)的对象做同样的事情。我该怎么做才能做到这一点,即是否有类似“openString(...)”的东西?

有许多视图修饰符,如“onCommand”、“onPasteCommand”等传递数据的事件。另外,我正在寻找适用于 iOS 14 的首选方式。

【问题讨论】:

  • 嗨@xTwisteDx,谢谢,但该示例适用于 URL,而不是字符串。另外,我正在寻找适用于 iOS14 的 SwiftUI 方法。
  • @Adam 似乎必须有比在 URL 中编码数据更好的方法。如果我用数据在磁盘上创建一个本地 tmp 文件,然后通过 UIActivityViewController 发送它的 URL,它会为电子邮件、消息等做正确的事情吗?系统会知道复制 URL 的内容吗?

标签: swiftui


【解决方案1】:

对我有用的是使用“.onOpenURL”并从那里的 URL 读取数据。要导出数据,请创建一个 UIActivityItemProvider,它将数据写入应用程序 tmp 目录中的文件并返回其 URL。这两个动作可以配合 UIActivityViewController 来共享。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    相关资源
    最近更新 更多