7
votes

Puis-je vous inscrire aux notifications push en dehors de AppDelegate.m?

Mon application est capable de vous inscrire avec succès aux notifications push, mais je voudrais déplacer l'alerte contextuelle vers une zone différente de l'application

si je implémente le même code de appdelegate.m à un écran différent, autre.m , de mon application, il ne registre jamais: xxx

si j'accepte didregisterforremotenotiformationswithDeviceToken dans mon appdelegate.m , l'instance appdelegate.m de la méthode est appelée de mon autre.m , mais ce n'est pas comment je Vous voulez que cela fonctionne.

Des idées ou des suggestions seraient appréciées.


0 commentaires

3 Réponses :


13
votes

Oui, bien sûr.

Vous pouvez vous inscrire où que vous souhaitiez avec l'utilisation d'utiliser xxx

mais DidregisterforremotenotificationsWithDeviceToken: Deviceetoken est uniquement disponible dans Appdelegate >


2 commentaires

Y a-t-il un moyen pour les autres.m de savoir si l'enregistrement réussit ou échoue?


Vous pouvez utiliser NSnotificationCenter pour déclencher le registre de notification à distance réussi ou échouer dans n'importe quel point de vueContrôleur



0
votes
-(void)application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken
This is the protocol method of the UIApplicationDelegate protocol, so it will be triggered on [UIApplication sharedApplication].delegate. This is the AppDelegate by default.

0 commentaires

0
votes

La réponse acceptée a été obsolète dans iOS 8.0. Après des œuvres de code SWIFT pour iOS 9.0:

let notificationSettings = UIUserNotificationSettings(forTypes: [.Badge, .Sound, .Alert], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)


0 commentaires