Ich benutze Cordova-Firebase-Plugin, eine der Anforderungen auf iOS für Push-Benachrichtigungen ist, Berechtigungen zu erteilen, ist das Problem, dass Cordova-Firebase-Plugin grantPermission
hat nicht ein ordnungsgemäßer Rückruf für Erfolg/Fehler - wenn also grantPermission aufgerufen wird, wird die Berechtigungsanfrage an den Benutzer gesendet, aber im Hintergrund wird die App weiter geladen.cordova angularjs Kraft app auf Benutzer-Erlaubnis zu warten pausieren
Der Plugin Erlaubnis Aufruf ist eine Grundfunktion ohne Rückrufe:
window.FirebasePlugin.grantPermission();
Ich brauche den App Laden pausieren und nur dann weiter, nachdem der Benutzer Genehmigung erteilt/lehnte die Berechtigungen Anfrage. Unten ist mein Versuch, dies in der App init Abschnitt meiner App zu tun:
function iosPush() {
var q = $q.defer() ;
if (/(iPad|iPhone|iPod)/i.test(navigator.userAgent)) {
window.FirebasePlugin.grantPermission(function(status) {
q.resolve(status) ;
},function(err) {errMgmt("ctrl/init",35,"iOS Push ask Permission error: "+err) });) ;
} else {
q.resolve("Android") ;
}
return q.promise ;
}
iosPush().then(function(status) {
return getLocationAuth()
}).then(function(status) {
...do other stuff...
}) ;
mein Versuch, obwohl die App zu pausieren nicht funktioniert. Kann jemand helfen oder darauf hinweisen, wie ich die App init pause erreichen kann, wenn ich die iOS-Erlaubnis ersuche?
Schließlich, egal, was der Benutzer auswählt, gewährt oder verweigert Erlaubnis, status
ist immer null