2011-11-07 7 views
15

enter image description hereCome mostrare "Desidero inviarti notifiche push" Visualizzazione avvisi di nuovo?

Sono stato in grado di mostrare una visualizzazione di avviso come l'immagine sopra dopo la registrazione per le notifiche remote. Ma quando cancello la mia app di progetto e la ricostruisco, non verrà più mostrata.

Ci sono possibilità di mostrare di nuovo la vista di avviso allo stesso dispositivo?

Quello che mi piace è ottenere di nuovo il mio token del dispositivo perché non sono riuscito a memorizzare temporaneamente il token del dispositivo in NSUserDefaults.

risposta

7

Al momento del lancio, la vostra applicazione dovrebbe essere la richiesta di un token tramite:

- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types 

ed otterrà un gettone da iOS nel messaggio delegato:

– application:didRegisterForRemoteNotificationsWithDeviceToken: 

iOS richiederà all'utente per consentire le notifiche solo quando necessario. Se le notifiche remote sono già autorizzate per la tua app, l'avviso non verrà visualizzato e la tua app riceverà un token valido.

Net è impossibile forzare l'avviso ma non è necessario.

+0

sarà la mia domanda ottenere sempre all'interno di questo metodo - applicazione: didRegisterForRemoteNotificationsWithDeviceToken: al momento del lancio? non posso testare ancora qui a casa, controllerò domani anche se lavoro – bluezald

+3

Otterrai sempre uno di 'application: didRegisterForRemoteNotificationsWithDeviceToken:' o 'application: didFailToRegisterForRemoteNotificationsWithError:' – XJones

+0

vedo, ho ricevuto questo errore, nessun 'aps-environment' valido , beh, comunque grazie per la risposta: D – bluezald

3

Sì.

http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

Se si vuole simulare una corsa per la prima volta della vostra applicazione, è possibile lasciare l'applicazione disinstallato per un giorno. È possibile ottenere quest'ultimo senza attendere un giorno impostando l'orologio del sistema in avanti di un giorno o più, spegnendo completamente il dispositivo, quindi riaccendendo il dispositivo.

+0

Questo non sembra funzionare più ... – jwhat

+0

Apparentemente questo è rotto e un bug report è stato aperto con Apple. – perezda

+1

Apple dice che funziona solo con iOS <5 (cioè <= 4 *) Non è chiaro se significano che il trucco di impostazione dell'orologio funziona solo con iOS <5, o la disinstallazione per un giorno funziona solo con iOS <5. – rjmunro

11

Affrontare la questione di presentare le autorizzazioni di notifiche spinta di dialogo di nuovo come al momento della prova - questa è certamente una soluzione, ma qui va:

Avendo appena finito di lavorare su un app che utilizza Notifiche Push estensivamente, e avendo ho provato tutte le solite permutazioni, senza successo ... Alla fine ho capito che il modo più semplice per ovviare a quel problema era quello di ottenere un dispositivo da usare solo per i test (cioè un iPod Touch di fascia bassa).

Per ripristinare la finestra di dialogo, fare un Impostazioni> Generale> Ripristina> Cancella tutto il contenuto e le impostazioni. Passare attraverso il processo di installazione del dispositivo, reinstallare l'app e Vai.

Questo è stato l'unico modo in cui ho trovato di testare l'esperienza del "primo avvio" su richiesta, secondo necessità durante il corso di sviluppo/test. Inoltre ha aggiunto molta più versatilità al processo.

Non avrei avuto bisogno di ricorrere a tutto questo, ma sono molto contento di averlo fatto, perché si è rivelata una vera manna dal cielo. FWIW.

[P.S. Sarà probabilmente anche rivelarsi utili in futuro per testare le versioni beta del sistema operativo, ecc]

+2

C'è un modo migliore per farlo: https://developer.apple.com/library/ios/technotes/tn2265/_index.html Scorrere fino alla fine di tale nota tecnica ("Ripristino dell'avviso di autorizzazione alle notifiche push su iOS") per visualizzare le istruzioni per reimpostare le autorizzazioni di notifica push senza reimpostare il dispositivo. Ciò è utile se non è possibile utilizzare un dispositivo dev dedicato e non si desidera dover ripristinare il dispositivo personale ogni volta. – Sid

+1

Questo, in combinazione con il commento di @ Sid è la risposta corretta. Ho seguito il processo al link di riferimento di sid e sono riuscito a ripetere l'avviso. Anche se cancellare tutti i contenuti e le impostazioni è più pratico, non tutti avranno un iDevice disponibile solo per i test. – Chris

3

cambiare temporaneamente il pacchetto id.

com.mycompany.app -> com.mycompany.app1

+0

Ho trovato questo il modo più semplice per testare la tua app più e più volte piuttosto che accendere il dispositivo on-off e impostare date diverse. – fahrulazmi