如何在Swift的Today Extension中调用父iPhone应用程序中的方法?

时间:2015-07-21 22:50:59

标签: ios swift parent today-extension

我刚刚为我的iPhone App创建了Apple Watch扩展程序,并使用以下方法更新了我的应用数据。

// Call the parent application which launches a method to update the app data
WatchViewController.openParentApplication([:],
    reply: { (reply, error) -> Void in
        self.updateGui() // update the gui when done
    })

Apple Today Extensions(小部件)有类似之处吗?再次为扩展实现所有客户端 - 服务器通信感觉不对。

或者您如何建议更新我的数据(存储在iPhone app,WatchKit和Today Extension中的应用程序组中)。

1 个答案:

答案 0 :(得分:2)

无需为容器应用及其扩展分别编写客户端 - 服务器通信代码。

Apple建议使用嵌入式框架。您可以创建一个可以跨两个目标使用的嵌入式框架。放置框架中需要由容器应用程序和扩展程序使用的代码,以避免代码重复。

要在容器应用和扩展程序之间共享数据,您可以通过AppGroup使用NSUserDefaults。

请检查Apple documentation