通知iOS操作扩展主机应用程序变为活动状态

时间:2017-02-23 13:16:23

标签: ios swift ios-app-extension

我有一个应用程序和一个附带的Action Extension。扩展程序的主要目的是将任何调用应用程序中的文件上传到主应用程序提供的URL中。

工作流程为:

  1. 在主应用中,用户从列表中选择一个网址

  2. 在任何应用程序中,例如iCloud Drive,用户可以选择任何文件,点击“共享”按钮,选择随附的“操作扩展”,这将执行上传到之前选择的URL

  3. 扩展程序的ViewController有"更改"按钮,打开主应用程序。这样用户就可以切换到主应用程序,选择另一个URL并返回主机应用程序(扩展程序仍然在那里活动)。

    enter image description here

    我试图弄清楚扩展程序如何只是一个ViewController并且无法直接访问主机应用程序的生命周期,可以通知主机应用程序再次变为活动状态。这样扩展就可以获得新选择的链接。

    我无法直接访问主持人的appDelegate方法,当扩展程序的视图再次变为活动状态时,都不会调用viewWillAppear。

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

回答我自己的问题:至少有一种方法可以实现 - 使用NotificationCenter,在this answer "Why does viewWillAppear not get called..."问题中描述。

如果有人有更好的想法 - 我会很乐意尝试它。