6
votes

Conversion implicite de «Unsigné Long» uIusernotifications * 'est interdit d'arc

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;
}


4 commentaires

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.


5 Réponses :


7
votes

Je reçois de ci-dessous de la documentation officielle de iOS 8.


3 commentaires

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; }


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é.



1
votes

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

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>.

Ceci est iOS 8.

Et ainsi, dans ce cas, vous devez également utiliser

[[UIAPPlication SharedApplication] RegisterSernotitations: [UiIusernotificationsSettings Paramétypes: (UiremotenotictificationTypebadge | UiremotenotictificationTypeSound | UiremotenotiCtificationTypeAlert) Catégories: Nil]];

dans didfinishlaunchingwithOptions .


0 commentaires

5
votes
- (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.

1 commentaires

Notez que Apple recommande d'appeler registerforremotenotifications uniquement après que RegardAsernotificationSettings: est terminée (à savoir la candidature: DiscristerSistersernotiformations: a été appelée).



0
votes

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];
}


0 commentaires

1
votes

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];
  }
}


0 commentaires