2016-08-03 25 views
3

Gibt es eine Möglichkeit zu bestimmen, ob mein Today Widget bereits von Benutzer zu Notification Center hinzugefügt wurde? Ich muss es wissen, damit ich einige Labels in der Host-App entsprechend ändern kann.Ermitteln, ob das Widget aktiviert ist

Antwort

3

Es gibt keine API dafür, aber Sie könnten Ihr Widget heute etwas in den freigegebenen Container schreiben lassen, den Sie aus Ihrer App lesen können, um festzustellen, ob es angezeigt wurde. Die Hauptprobleme dabei sind, dass es nicht passiert, bis das Widget mindestens einmal angezeigt wurde, und Sie können nicht sagen, ob es installiert und dann entfernt wurde.

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

Wir verwenden diese Technik, um zu bestimmen, ob wir neuen Benutzer auffordern sollten unser Widget zu installieren.

+0

Vielen Dank, nette Idee! – Edward