Ho impostato un CKSubscription * in modo da ricevere le modifiche a un tipo di record.Le notifiche di sottoscrizione al database pubblico vengono ricevute da tutti gli utenti con la stessa sottoscrizione?
Sto utilizzando il database pubblico.
Quando eseguo il test con lo stesso utente (stesso account iCloud), ricevo la notifica.
Se utilizzo un utente diverso (diverso account iCloud) non ricevo la notifica.
Gli abbonamenti sono progettati per funzionare solo tra dispositivi dello stesso utente?
Ecco la documentazione che descrive abbonamenti:
Utilizzare un oggetto CKSubscription per seguire i cambiamenti che si verificano sul server. Un abbonamento si comporta come una query persistente sul server che può tracciare la creazione, la cancellazione e la modifica dei record. Quando si verificano le modifiche , attivano la consegna delle notifiche push in modo che l'app possa rispondere in modo appropriato.
mi sarei aspettato di ricevere una notifica non importa quale utente modifica il record, e la sottoscrizione predicato dovrebbe comunque corrispondere.
UPDATE
* Ogni utente ha un abbonamento con lo stesso predicato, essenzialmente focalizzato su un singolo RecordType con un particolare valore della proprietà.
Il payload per questa sottoscrizione è solo per push shouldSendContentAvailable = YES.
La documentazione si legge:
Quando questa proprietà è YES, il server include il bandiera contenuti disponibili nel payload della notifica push. Questo flag fa sì che il sistema attivi o meno un'app che al momento non è in esecuzione. L'app è quindi viene fornito il tempo di esecuzione in background per scaricare tutti i dati relativi a la notifica push, ad esempio l'insieme di record modificati. Se l'app è già in esecuzione in primo piano, l'inclusione di questo flag non ha alcun effetto aggiuntivo e la notifica viene recapitata all'app delegato per l'elaborazione come di consueto.
autorizzazione di protezione del RecordType è:
ulteriore aggiornamento
controllato i ceppi del dispositivo non riceve la spinta quando dovrebbe e vide:
apsd[85]: Silent Push: Deny app not available
Riavviato il dispositivo e ora funziona correttamente!
Caro down-elettore, che cosa c'è di sbagliato con questa domanda? – Vamos