2014-09-14 27 views
43

Sto tentando di archiviare la mia app per l'invio, tuttavia sto riscontrando problemi con la firma del codice.Profilo di provisioning per l'estensione Today Widget

Fondamentalmente ho un'estensione Today Widget per la mia app. Non sono sicuro di cosa dovrei impostare il profilo di provisioning come. Ho pensato che avrei usato lo stesso profilo che ho usato per la mia app, tuttavia ho ricevuto questo errore:

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

Posso ovviamente fare clic su "Risolto problema", ma in realtà questo risolve il problema? Cambia semplicemente le mie impostazioni di distribuzione in "Sviluppatore iOS" e fornisco il profilo a "Automatico".

+0

Se si crea l'app, l'estensione è incorporata nell'app. Non è necessario presentare l'estensione da solo. – dasdom

+0

Quindi cosa lascerei il profilo di firma del codice e il profilo di provisioning come? "Sviluppatore iOS" e "Automatico"? – user3746428

+0

No. È necessario un profilo di distribuzione perché si desidera distribuire su App Store. Quindi archivia l'app utilizzando questo profilo di distribuzione. L'estensione viene aggiunta automaticamente all'app. – dasdom

risposta

115

ero alle prese con lo stesso problema, e risolto in questo modo:

  • avete bisogno di uno App ID configurato per il portale di provisioning (presumo che avete il vostro com.apple.yourappname lì)
  • È necessario quindi configurare il secondo App ID per l'oggi widget (che dovrebbe essere com.apple.yourappname.something, dove qualcosa è il nome per il widget, come oggi)

Poi è necessario creare due profili di distribuzione di provisioning App Store:

  • Uno per il principale App
  • Secondo uno per il widget

Poi assegnare i profili di provisioning corretti per ogni destinazione per le impostazioni di progetto e impostare per costruire per la distribuzione.

+9

Grazie. Penso che sia molto importante che tu abbia sottolineato che l'id dell'app widget è com.apple.appname.something. Ho provato com.apple.widgetname e non sembra funzionare – kevinl

+1

Grazie @ markus-rautopuro! Io uso la riga di comando per la costruzione. Come si assegnano i profili di provisioning nella riga di comando? – DevellMen

+0

Il provisioning dovrebbe funzionare automaticamente quando si posizionano i profili di provisioning su ~ ~/Library/MobileDevice/Provisioning Profili 'e quindi si imposta il progetto Xcode per utilizzare il provisioning automatico. Se non funziona per qualche motivo, provare ad aprire Xcode e selezionare il profilo di provisioning per i target nelle impostazioni del progetto e quindi salvare il progetto? –

1

Provare a creare un nuovo ID applicazione per l'estensione dell'app in Certificati, Identificatori & Profili (https://developer.apple.com/account). Quindi creare un profilo Provisioning per l'ID app appena creato.

Se l'ID pacchetto per l'app è com.apple.appname, si creano estensioni per app con l'ID pacchetto com.apple.appname.appextensionname. Lo stesso id viene quindi utilizzato in Xcode per il widget.

+0

Quale profilo di provisioning è necessario selezionare per il widget Oggi?È necessario aggiungere l'ID bundle del widget al portale di provisioning come nuova app? Hai bisogno di un secondo profilo di provisioning di distribuzione per il widget? –

+2

Sì, crea un nuovo ID app nello stesso modo in cui ne crei uno per un'app. Quindi si crea un secondo profilo di distribuzione. –

+0

La notifica push deve essere abilitata nell'ID app widget? –

Problemi correlati