Ich habe Push-Benachrichtigungen bereits eingerichtet und funktioniert in der AppDelegate, aber anstatt sie starten, sobald die App öffnet, möchte ich sie auf einem separaten "Erlaube Push-Benachrichtigungen" View-Controller starten, nachdem der Benutzer für die App angemeldet hat . Ich habe versucht, einen Verweis auf die appDelegate
machen, indem Sie diese:Wie kann ich mich für Push-Benachrichtigungen außerhalb des AppDelegate registrieren?
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
Ich habe eine registerForPushNotifications
Funktion im appDelegate
:
func registerForPushNotifications(application: UIApplication) {
let notificationSettings = UIUserNotificationSettings(forTypes: [.Badge, .Sound, .Alert], categories: nil)
application.registerUserNotificationSettings(notificationSettings)
}
Welche funktioniert, wenn innerhalb der didFinishLaunchingWithOptions
Funktion im AppDelegate
genannt, aber als ich versuchen Sie und rufen Sie diese Funktion auf meinem View-Controller Ich habe nichts zu übergeben für den Anwendungsteil der Funktion, so dass ich einen Fehler bekommen.
@IBAction func yesButtonPressed(sender: AnyObject) {
appDelegate.registerForPushNotifications(application)
performSegueWithIdentifier("pushToHomeSegue", sender: self)
}
versuchte ich, dass aber die Warnung Push-Benachrichtigungen erhalten – SwiftyJD
nicht Pop-up @SwiftyJD Sie wahrscheinlich, da Sie wahrscheinlich einen Reset-Simulator benötigen haben sie bereits für Ihre Anwendung genehmigt. Gehe zu Simulator -> Inhalt und Einstellungen zurücksetzen und führe es erneut aus. – tktsubota
Das half, es zeigt sich jetzt auf diesem Bildschirm. In der App habe ich einen Schalter, mit dem man Push-Benachrichtigungen ein- und ausschalten kann. Gibt es eine Möglichkeit, die Einstellungen für Push-Benachrichtigungen auf diese Weise zu ändern? – SwiftyJD