【问题标题】:iPadOS: Can I request another app to open in split screen?iPadOS:我可以请求另一个应用程序以分屏方式打开吗?
【发布时间】:2020-03-28 07:48:13
【问题描述】:

我写了两个App,我们称它们为A和B。

当用户在全屏显示的应用 A 中执行特殊操作时,我希望应用 B 在应用 A 旁边自动分屏打开。

WWDC session 中,我了解到现在可以在一个具有多个场景的应用中使用此功能:requestSceneActivation(_:userActivity:options:errorHandler)

但这是否有可能通过使用两个应用程序来实现?

【问题讨论】:

  • 不,不是。为什么会这样?你被沙盒化了。
  • 这不会影响沙盒安全性。它可能就像我可以在我的应用程序中设置的应用程序启动参数。如果我的应用程序只是一个小型实用程序应用程序,并且我在打开另一个应用程序时从扩展坞启动它,则默认情况下它可以在分屏中打开。例如,我可以提供其他应用程序以通过自定义 url 方案在分屏中打开我的应用程序。但也许这更像是对 iPadOS 14 的功能请求。如果应用程序可以在覆盖模式或主屏幕的小窗口中启动会更有意义。
  • 尝试创建一个 URL。应用程序可以通过这种方式调用其他应用程序。目前我能想到的唯一示例是用于在应用程序中拨打电话的tel:// URL。看看我能不能帮你找到细节...

标签: ios ios13 ipados uiscenedelegate


【解决方案1】:

Apple 已将其所有应用程序沙盒化。所以你现在做不到! 也许苹果将来会提供这个功能。

谢谢!

【讨论】:

    【解决方案2】:

    应用程序显示在视图中,您只能控制视图中发生的事情。应用是沙盒化的,无法打开其他应用相邻,但是您可以调用另一个应用来替换您的视图。

    【讨论】:

      【解决方案3】:

      搜索有关“深层链接”、“通用链接”、自定义 URL 和“URL 方案”的信息。

      这是一个与主题相关的 SO 问题和答案:url - iOS deep linking

      另外,请参阅开发者文档"About Apple URL Schemes"

      或者,Handling Universal Links

      还有,Allowing Apps and Websites to Link to Your Content

      另一个:Defining a Custom URL Scheme for Your App

      我将尝试用一些示例更新此答案,但我想在找到它们时给您一些考虑...(截至 2019 年 12 月 16 日访问的链接)

      更新:从自定义 URL 方案文章中,首先,您将创建自己的 URL 供客户端在调用您的应用程序时使用。示例:

      myphotoapp:albumname?name=”albumname”
      myphotoapp:albumname?index=1
      

      接下来,您将在 Xcode 中项目设置的“信息”选项卡的“URL 类型”部分下“注册”您的 URL 方案。在这里,您将应用与 URL 方案相关联(例如,“myphotoapp”)。

      然后,您将处理传入的 URL 操作。引用:

      系统通过调用您的应用代理的application(_:open:options:) 方法将URL 传递给您的应用。向方法中添加代码以解析 URL 的内容并采取适当的操作。

      最后,再次查看Always-Updated List of iOS App URL Scheme Names,上次访问时间是 2019 年 12 月 16 日。该网站的示例是 Apple 创建的深层链接,其中包括:

      • 通过您的应用拨打电话:
      contact = tel://TheirPhoneNumber
      contact = telprompt://TheirPhoneNumber
      
      • 开篇笔记:
      Open = mobilenotes://
      

      更新 2:查找其他应用程序的 URL 方案的帮助:iOS - Find the URL scheme of an app on my iPhone - 也可能适用于 iPadOS...建议包括使用名为“Iconical”的应用程序,使用设备控制台和 Springboard 信息,以及更多...

      【讨论】:

        猜你喜欢
        • 2021-08-20
        • 2022-01-22
        • 2015-08-17
        • 1970-01-01
        • 2013-05-16
        • 1970-01-01
        • 2011-01-20
        • 1970-01-01
        • 2011-06-12
        相关资源
        最近更新 更多