2015-03-02 24 views
58

Ho creato un'app per iPhone che include anche un'estensione WatchKit, posso eseguire questa operazione nel simulatore ma quando provo a distribuire su un iPhone ottengo un problema di provisioning per il target WatchKit Extention :Extension watchkit - Nessun profilo di provisioning corrispondente trovato

"Il profilo di provisioning specificato nelle impostazioni di build (" XXXX ") ha un AppID di" XXXX "che non corrisponde all'identificatore del gruppo" XXXX.watchkitextension ". Xcode può risolvere questo problema scaricando un nuovo profilo di provisioning dal Centro membri. "

Xcode ha creato automaticamente i target WatchKit con il suffisso .watchkitextension e .watchkitapp ma questo sembra causare i problemi quando si utilizza un profilo di provisioning e la distribuzione su un iPhone.

Se rimuovo gli obiettivi del kit di controllo, funziona bene, ma ovviamente non è una soluzione.

Grazie per il vostro aiuto

+0

Abbiamo bisogno di aspettare un po 'di più. Circa due settimane prima della data di rilascio ufficiale, Apple ci darà la possibilità di caricare app su App Store. –

+0

Controlla la mia risposta qui: http: // StackOverflow.it/a/30663352/3717931 Spero che questo aiuti. – Jouhar

risposta

1

di solito quando si ottiene che l'errore è perché il vostro pacco id non corrisponde al id app che si trova sul fondo.

Nel caso dell'estensione dell'orologio, è necessario aggiungere il servizio dell'applicazione App Group all'ID identificativo della propria applicazione associato alla disposizione, sul portale developer.apple.com se si condividono dati o file tra l'estensione e la vostra applicazione

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/DesigningaWatchKitApp.html

104

È necessario creare due nuovi AppID nella Developer Portal con l'identificatore pacchetto corretto per la vostra applicazione e l'estensione Watchkit Watchkit. L'identificatore pacchetto deve estendere l'identificatore di applicazioni principale, quindi se la vostra applicazione è com.myapp dovrebbe essere com.myapp.watchkitextension e com.myapp.watchkitapp

È inoltre necessario creare il relativo Profili di fornitura per le AppID, uno per l'estensione e uno per il app.
Aggiungere i componenti aggiuntivi necessari (come il portachiavi) se li si utilizza nell'app Watch.

Tutto sommato avrete bisogno di sei PP, 3 per lo sviluppo, 3 per l'archiviazione/negozio. Con Xcode 6.3 team di provisioning di sviluppo ha smesso di funzionare (for me)

successivo goto Xcode> Preferenze> Account> nome_account> Dettagli ..., CTRL + clic su uno dei profili e aperto nel Finder. Sposta tutti i profili nel cestino, quindi aggiorna i profili.

Nei tuoi obiettivi assicurati di avere il Team corretto impostato per il tuo obiettivo principale dell'app, il target dell'estensione del Watchkit e il target dell'app Watchkit, assicurati anche di avere i profili di provisioning corretti assegnati al target principale dell'app e il target dell'estensione del Watchkit (Il profilo di provisioning dell'app Watchkit non può essere impostato ma verrà assegnato automaticamente Modifica: con Xcode 6.3 può essere impostato).

per essere sicuri che tutto va bene cartella generazione pulita: Al comando hold Xcode e fare prodotti> cartelle generazione pulita ...

Ora siete pronti per archiviare.

+5

Trovo strano che Xcode crei profili di provisioning per l'app e watchkitextension ma non per il watchkitapp a cui viene assegnato il profilo generale "XC *". Convalida e carica anche su iTunes Connect. – Rivera

+1

quando provo a creare un nuovo ID app per l'estensione e l'app, ottengo il seguente messaggio: "Un ID app con identificatore 'com.myapp.watchkitextension' non è disponibile. Inserisci una stringa diversa." Sono bloccato. è necessario creare i nuovi ID app e i relativi profili di provisioning, ma il centro di sviluppo iOS non me lo consente. –

+0

@dogsgod, qualche idea su come creare gli ID app per l'estensione e l'app? –

2

Ho creato 3 ID di app (per app contenitore, estensione watchkit e app watchkit) che appartengono a 3 profili di provisioning. (Stavo per utilizzare AppGroup, quindi la mia app non può condividere ID app singola.) Impostazione di 2 profili di provisioning per l'estensione contenitore app e watchkit, l'archivio della mia app non ha potuto superare il processo di convalida di Xcode.

Nel mio caso, il punto critico è impostare il profilo di provisioning dell'APP WATCHKIT. Impostandolo, passa il processo di convalida e riesce a inviare l'app.

mia procedura dell'impostazione è la seguente:

  1. In Xcode, aperto "TARGET" di WatchKit App.
  2. Selezionare la scheda "Impostazioni build".
  3. Nella riga successiva della scheda, scegliere "Tutto" non "Base".
  4. È possibile trovare la riga "Profilo di provisioning" nella sezione "Firma codice".
  5. Imposta il profilo di provisioning appropriato del tuo.

Per un po ', ho ritenuto che lo sviluppatore di app di terze parti non possa impostare i profili di provisioning delle app WatchKit in Xcode. Notando che possiamo impostarlo, la risposta è ora chiara ...

+0

"Imposta il tuo profilo di provisioning appropriato." Altre risposte allo stesso problema suggeriscono l'utilizzo di "Automatico", che nel mio caso non ha funzionato. La scelta del profilo specifico ha funzionato. – nicc

0

Nel mio caso il problema era diverso da altri. Provo tutto ma non ho risolto il mio problema. Lasciami spiegare la mia situazione prima di spiegare come la risolvo. Prima inizia con l'aggiunta di Today Extension al mio progetto. Ho creato un ID bundle diverso per la mia estensione per app. Ad esempio, se l'ID del gruppo della mia applicazione com.company.appname, ho creato per la mia estensione qualcosa del genere "com.company.appname.TodayExtension". Uso XCode versione 6.3.2 (6D2105) e XCode automaticamente (il profilo di provisioning specificato nelle impostazioni di compilazione ("NomeApp") ha un AppID di "BundleID" che non corrisponde all'identificatore di bundle "BundleID2". Xcode può risolvere questo problema scaricando un nuovo profilo di provisioning dal Centro membri ... Naturalmente faccio clic sul pulsante "Risolto problema") per creare un profilo di provisioning per l'estensione di oggi.

E subito dopo ho aggiunto "app group" alla mia applicazione e ho continuato a programmare per un po '. Ma quando provo a inviare la mia applicazione all'App Store (Prodotto/Archivia/Invia ad AppStore), ottengo questo errore che dice "Nessuno dei profili di provisioning validi ha permesso le titolarità specificate: beta-reports-active, com.apple.security .application-gruppi".

Dovete sapere che "gruppo di app" potrebbe essere il punto chiave anche per te ...

Si prega di andare al centro membro/Certificati, identificatori & Profili/Prevenzione Profili/sezione di distribuzione. Trova il profilo di distribuzione della tua applicazione e selezionalo. Come puoi vedere lo stato del tuo profilo è "Invalido (come nel mio caso) .Quindi ecco la soluzione, fai clic sul pulsante Modifica, dopo il pulsante Genera. Ora ripeti questa azione per tutti i profili" non validi ". riconvalidato, ora puoi tornare al tuo progetto XCode e aggiornare le disposizioni locali nel tuo Mac. Vai a: Xcode> Preferenze> Account> YOUR_ACCOUNT> Visualizza dettagli ..., CTRL + Fai clic su uno dei profili e apri nel Finder. tutti i profili nel cestino, quindi aggiornare i profili ".

Ora Prodotto/Pulisci e (si spera per l'ultima volta) Prodotto/archivio e Invia ad AppStore.

In generale, è possibile perché si aggiunge il gruppo di app all'applicazione, ma successivamente non è stato possibile convalidare tutti i profili.

Forse questo aiuterà qualcuno.

0

Ho seguito il Technical Q&A QA1814 e questo ha risolto tutto per me. Fondamentalmente hai impostato tutto su Automatico e Sviluppatore iOS. Molto importante per impostare la squadra: Nessuna prima, apportare le modifiche e quindi tornare al proprio team, quindi riavviare Xcode.

La mia situazione era che avevo già impostato i profili di provisioning e certificati per un'app per iOS "normale". Avevo pubblicato con successo app con questo. Ora avevo bisogno di farlo funzionare dopo aver aggiunto un nuovo target WatchKit alla mia app esistente. Ho ricevuto molti errori come "Nessun profilo di provisioning corrispondente" ecc. Dopo molte ore di problemi ho seguito i percorsi nell'articolo QA1814 e voilà! - Xcode ha risolto tutto per me. Non è stato necessario modificare/risolvere/aggiornare nulla nel Centro membri ecc.

Importante anche utilizzare correttamente l'ID pacchetto. L'app WatchKit e l'estensione WatchKit devono utilizzare lo stesso prefisso ID del bundle del target dell'app iOS.

Se l'applicazione iOS ha ID bundle: [Bundle ID], gli obiettivi WatchKit ha bisogno di essere:

  • WatchKit App: [Bundle ID] .watchkit
  • WatchKit Estensione: [Bundle ID] .watchkit.extension
3

Im mio caso ho pulito tutto il mio profilo di provisioning come suggerito da altri utenti, poi ho avuto per eliminare "diritti di firma del codice" da "Impostazioni di compilazione" sia nel target App genitore che in estensione e dopo la ricostruzione e l'archiviazione, tutto funziona correttamente.

code signing entitlements from build Settings

+0

dopo 2 giorni di lavoro per me, xcode è diventato molto rumoroso da pubblicare –

0

Quando si è in Xcode aggiornare il certificato e compilare di nuovo il programma, vera e propria macchina messa sarà "Le tue impostazioni di generazione specificare un profilo di provisioning avere 'XXX' l'UUID, chiaro, no al profilo di provisioning trovato Xcode può risolvere questo problema scaricando un nuovo profilo di provisioning dal Centro membri. ".


  1. Chiudere il progetto, trovare il progetto di file XXXX. Xcodeproj, fare clic con il tasto destro del mouse sul file, selezionare "Mostra contenuto pacchetto" (Mostra contenuto pacchetto). Aprirà un nuovo Finder.
  2. Trova il progetto nel Finder appena aperto. Pbxproj, e apri, trova l'UUID che contiene tutti un errore "XXX", elimina.
  3. Salvare, riavviare il progetto, quindi compilare, rispetto a OK.
Problemi correlati