2016-08-03 65 views
3

是否有任何方法可以确定我的Today窗口小部件是否已经被用户添加到通知中心?我需要知道,所以我可以相应地更改主机应用程序中的某些标签。确定widget是否已启用

回答

3

没有API,但您可以让今天的小部件将某些内容写入可从应用中读取的共享容器中,以确定它是否已显示。主要的问题在于,只有在小部件至少显示一次后才会发生,并且您不能完全知道它们是否已安装并将其删除。

func widgetHasRun() { 
    if let sharedContainer = NSUserDefaults(suiteName: "group.com.my.app") { 
     sharedContainer.setBool(true, forKey: "today widget installed") 
     sharedContainer.synchronize() 
    } 
} 

我们使用这种技术来确定是否应该提示新用户安装我们的小部件。

+0

谢谢你,好主意! – Edward