12

Ho implementato con successo APN per Ambiente di sviluppo. Ma sto affrontando problemi mentre implemento lo stesso per ambiente di distribuzione ad-hoc. Qualcuno può suggerirmi di dover creare ID app, certificato e profilo di provisioning diversi per quello? E c'è qualche cambiamento in Sandbox? Un tutorial di passaggi sarà molto apprezzato.Abilitazione di notifiche push Apple per ambiente di distribuzione ad hoc

Grazie Saleel Karkhanis

risposta

25

Per la distribuzione Adhoc, si prega di seguire le istruzioni qui sotto:

  1. In Provisioning Portal, creare un certificato di distribuzione.
  2. Prendi il "Device ID" dell'iPhone che intendi utilizzare per il test. Apri iTunes -> Connetti il ​​dispositivo -> Seleziona il tuo dispositivo -> Nel riquadro di riepilogo, fai clic sull'etichetta Numero di serie, cambierà in identificatore (40 caratteri esadecimali) -> Scegli Modifica, Copia.
  3. Nel portale di provisioning, vai a Dispositivi -> Aggiungi nuovo dispositivo -> Inserisci l'ID dispositivo copiato e assegnagli un nome.
  4. Nel portale di provisioning, creare un profilo di provisioning di distribuzione. (Vai a Provisioning -> Distribuzione). Per il tipo di distibuzione, selezionare "AdHoc". Seleziona l'ID app, se disponi di un certificato di distribuzione, verrà selezionato automaticamente qui. Seleziona il dispositivo appena inserito e Invia. Scarica questo profilo di provisioning.
  5. In Xcode, Finestra -> Organizer. Fare clic su Dispositivi e selezionare Libreria -> Profili di provisioning. Se si è l'amministratore, fare clic su Aggiorna dovrebbe recuperare il profilo di provisioning appena creato. In caso contrario, trascinare e rilasciare il profilo di provisioning ad hoc in questo elenco.
  6. In Xcode, nel tuo progetto Impostazioni di costruzione -> Identificazione codice -> sezione Rilascio, seleziona "Distribuzione iPhone". Per "Qualsiasi SDK iOS", selezionare il profilo di provisioning appena creato. Sarà disponibile nella lista.
  7. In Xcode, Prodotto -> Archivio. Al termine, Archiviazione, si aprirà automaticamente la finestra Archivia. Seleziona il progetto e fai clic su Distribuisci, nella finestra Distribuisci, seleziona "Salva per Enterprise o AdHoc Deployment" -> Seleziona "Identificazione firma codice" che corrisponde al nuovo profilo di provisioning. Continua il processo e questo creerà un file ".ipa".
  8. Invia questo file .ipa e il nuovo profilo di provisioning per testare la distribuzione ad Hoc.

come caricare la distribuzione ad-hoc sul dispositivo di test:

  1. Apri iTunes, connetti il ​​dispositivo di test.
  2. Trascina e rilascia il nuovo profilo di provisioning su iTunes.
  3. Trascina e rilascia il file .ipa iTunes.
  4. Sincronizza il tuo dispositivo. Questo caricherebbe l'app.

per Push notifiche di lavorare sulla distribuzione Adhoc:

  1. utilizzare i certificati di produzione.
  2. Utilizzare l'host APN di produzione: gateway.push.apple.com
  3. Uso produzione APN Feedback Host: feedback.push.apple.com.
+2

Si prega di aggiornare passaggi per Xcode 8.x anche perché io non sono in grado di seguire i punti 5 e 7 nella nuova versione. – Dashrath

1

Ho avuto anche grossi problemi con questo. Non avevo assolutamente errori nel mio codice. Non ho mai ricevuto una notifica push sul telefono in Ad Hoc.

Si scopre che ho avuto qualche tipo di problema con i miei certificati. Ho creato

Non sono sicuro di quale fosse il problema, esattamente, ma l'ho risolto accedendo al mio account sviluppatore come agente del team e ricreando tutto sotto quel login. Inizialmente avevo creato i certificati come amministratore del team.

La modalità di sviluppo potrebbe funzionare correttamente, poiché qualsiasi membro del team può creare profili di distribuzione di sviluppo. Ma solo alcuni membri del team possono creare profili di distribuzione. Chiedete al vostro agente del team di creare tutto e riprovare.

0

Oltre alla risposta di Sushma Satish, Quando si modificano i certificati da sviluppo a distributore, il token dispositivo generato per il telefono è diverso. Quindi assicurati di cambiare il token del dispositivo sul server.

1

Esiste una connessione permanente separata al servizio push per ciascun ambiente (Sviluppo e produzione). Il sistema operativo stabilisce una connessione permanente all'ambiente sandbox per le build di sviluppo; le build ad hoc e di distribuzione si connettono all'ambiente di produzione.

Se si utilizza GCM. Vai a AppDelegate.swift. Trova Metodo: didRegisterForRemoteNotificationsWithDeviceToken e sostituire

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken, 
          kGGLInstanceIDAPNSServerTypeSandboxOption:true] 

con

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken, 
          kGGLInstanceIDAPNSServerTypeSandboxOption:false