0

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

系统的天气小部件是如何做到的?

天气应用程序可以直接在天气小部件的包中写入文件吗?还是天气小部件直接读取天气应用程序中的文件?

我还尝试使用 openURL 将选定的城市名称传递给小部件:将 URL 方案添加到 Resources 文件夹中的 Info.plist,并遵循UIApplicationDelegate协议,实现handleOpenURL功能。但它不起作用。

我尝试使用 presentModalViewController: 弹出 citySelectViewController 而不是在另一个应用程序中设置城市,但视图控制器仅显示在小部件呈现的小区域中。

提前致谢。

4

1 回答 1

0

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

于 2012-09-28T07:20:17.013 回答