通知小部件如何获取应用程序的设置?

时间:2012-09-27 06:20:26

标签: ios widget communication jailbreak notificationcenter

我正在尝试编写天气通知中心小部件,其工作方式类似于系统的雅虎天气小部件:点击小部件,打开我自己的天气应用程序,选择一个城市,小部件显示我选择的城市的天气。 但我不知道小部件如何获取天气应用程序的城市设置。我使用* notification_center_widget * .nic来构建我的小部件,这使它看起来像一个在公告板上运行的独立应用程序(我是否正确?)。现在天气应用程序和小部件都使用存档来保存城市设置。

系统的天气小工具如何做到这一点?

天气应用程序可以直接在天气小工具包中写入文件吗?或天气小工具直接在天气应用程序中读取文件?

我还尝试使用openURL将选定的cityname传递给窗口小部件:将URL Schemes添加到Resources文件夹中的Info.plist,然后按照 UIApplicationDelegate 协议实现 handleOpenURL 功能。但它不起作用。

我尝试使用presentModalViewController:弹出citySelectViewController,而不是在另一个应用中设置city,但是viewcontroller只显示小部件呈现的小区域。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我发现一种方式似乎有点像在另一个应用程序中设置小部件的城市作弊。我创建窗口小部件来存档捆绑包的根文件夹中的城市设置数据(可以通过iFile查看)。由于小部件包将安装到特定文件夹中。当用户完成选择城市时,天气应用程序可以使用 bundleWithPath 轻松获取小部件的捆绑和归档城市设置。然后,当小部件再次运行时,它将读取已经由天气应用程序更改的城市设置数据,并显示我们选择的城市的天气。