La notification push dans iOS 8 ne fonctionne pas.
Affichage d'erreur: p>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [application registerUserNotificationSettings:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge)]; return YES; }
5 Réponses :
Je reçois de ci-dessous de la documentation officielle de iOS 8.
- Les applications utilisant des notifications locales ou push doivent enregistrer explicitement les types d'alertes qu'elles affichent aux utilisateurs à l'aide d'un objet uiusernotifications. Ce processus d'enregistrement est séparé du processus de enregistrement de notifications distantes et les utilisateurs doivent accorder la permission de fournir des notifications via les options demandées. li>
- Les notifications locales et push peuvent inclure des actions personnalisées dans le cadre d'une alerte. Les actions personnalisées apparaissent sous forme de boutons de l'alerte. Lors de la prise en charge, votre application est notifiée et invitée à effectuer l'action correspondante. Les notifications locales peuvent également être déclenchées par des interactions avec les régions de l'emplacement de base. Li> ul> blockQuote>
lire P>
et P>
de sorte que la réponse devrait être. strong> p>
/// First register notification setting with settings type like [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [[UIApplication sharedApplication] registerForRemoteNotifications]; // you can also set here for local notification.
Je ne comprends pas - (bool) Application: (uiapplication *) Application DidfinishLaunchingwithOptions: (NSDictionary *) LaunchOptions {// Laissez le périphérique SAVOIR que nous voulons recevoir des notifications push [[UIIUSPLICATION SharedApplication] RegisterSernotification: (uIUSNOTIFICATIONTYPEBADGE | UIUSERNOTIFICATIONTTYPESING | UIUSERNOTIFICATIONTYPEALERT )]; retour oui; } code>
Vous avez donc mentionné la NDA, puis la violait rapidement? ;)
Non, ce n'est pas un unter nda. §10.1 Contrat de licence du programme de développeurs iOS: Vous ne serez pas lié par les termes de confidentialité précédente en ce qui concerne les informations techniques sur les logiciels et les services d'Apple présélectionnés par Apple à la WWDC (Conférence des développeurs mondiaux d'Apple), sauf que vous ne pouvez pas poster l'écran. Coups de feu, écrivez des critiques publiques ou redistribuez tout logiciel ou services d'Apple pré-publié.
Veuillez consulter le journal fourni pendant la période d'exécution. Au début, sans enregistrement de l'utilisateur d'événements locaux, le journal suggère p>
Ceci est iOS 8. P>
Et ainsi, dans ce cas, vous devez également utiliser P>
dans UilocalnotificationInfinitreepeatCount, prochain incendie Date = mercredi 4 juin 2014 9:27:24 Durée standard de l'Inde, utilisateur info = (null)} Avec une alerte mais n'a pas reçu l'autorisation de l'utilisateur pour afficher les alertes < / code>. p>
[[UIAPPlication SharedApplication] RegisterSernotitations: [UiIusernotificationsSettings Paramétypes: (UiremotenotictificationTypebadge | UiremotenotictificationTypeSound | UiremotenotiCtificationTypeAlert) Catégories: Nil]]; Code> P>
didfinishlaunchingwithOptions code>. p>
- (void)registerForRemoteNotificationTypes:(NSUInteger)notificationTypes categories:(NSSet *)categories { if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:notificationTypes categories:categories]]; } else if ([UIApplication instancesRespondToSelector:@selector(registerForRemoteNotificationTypes:)]) { [[UIApplication sharedApplication] registerForRemoteNotificationTypes:notificationTypes]; } } - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { if ([UIApplication instancesRespondToSelector:@selector(registerForRemoteNotifications)]) { [[UIApplication sharedApplication] registerForRemoteNotifications]; } } Try UIUserNotificationSettings-Extension, provides helper methods that will make you much easier to handle the new #iOS8 #Interactive #Notifications.
Notez que Apple recommande d'appeler registerforremotenotifications uniquement après que RegardAsernotificationSettings: est terminée (à savoir la candidature: DiscristerSistersernotiformations: a été appelée).
C'est ce que vous devez gérer à la fois iOS 8 et quelque chose de moins que iOS 8
if (SYSTEM_VERSION_LESS_THAN(@"8.0")) { [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert]; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeNone]; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge]; } else { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [[UIApplication sharedApplication] registerForRemoteNotifications]; }
ici c'est:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions { // are you running on iOS8? if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge|UIUserNotificationTypeAlert|UIUserNotificationTypeSound) categories:nil]; [application registerUserNotificationSettings:settings]; } else // iOS 7 or earlier { UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; [application registerForRemoteNotificationTypes:myTypes]; } }
Oui image.noelshack.com/fichiers/2014/23/...
On dirait que l'API May Nda'd n'a donc pas regardé les documents, mais l'erreur de compilation ressemble à un registreMublicitéToustite attend un pointeur sur les paramètres au lieu des réglages eux-mêmes. En d'autres termes, vous voudrez peut-être examiner de plus près les documents.
Ceci est en violation de l'accord POMES NDA. Vous ne pouvez pas poster de questions dans un forum public sur iOS 8 ou Xcode 6. Ces questions doivent être posées sur les forums de développeurs Apple jusqu'à ce que les produits soient officiellement libérés.
@JohnathonSullinger est-ce? Cette année, Apple a un lifter la NDA ... Même la documentation est disponible publiquement.