2015-04-23 13 views
17

Sto utilizzando i framework iOS8 Dynamic che io stesso costruisco e collego all'interno della mia app iOS. Si stava lavorando bene nel simulatore e sul dispositivo, ma quando si cerca di archiviare una build di rilascio per questo, continuo a ricevere questo errore:iOS8 Dynamic Frameworks -> Errore CodeSign: la firma del codice è richiesta per il tipo di prodotto "Framework" nell'SDK "iOS 8.3"

Code Sign error: No matching provisioning profiles found: None of the valid provisioning profiles allowed the specified entitlements: com.apple.developer.ubiquity-kvstore-identifier, keychain-access-groups, com.apple.developer.icloud-container-identifiers, com.apple.developer.icloud-services, com.apple.security.application-groups, com.apple.developer.ubiquity-container-identifiers. CodeSign error: code signing is required for product type 'Framework' in SDK 'iOS 8.3'

Entro il target app -> Crea Fasi -> Incorpora Frameworks -> il il framework è collegato lì e la casella di controllo "Code Sign on Copy" è selezionata.

All'interno dell'obiettivo quadro -> Crea Impostazioni -> Ho impostato il profilo di provisioning su "Automatico", e per il codice Registrati Identità, in uscita, io sto usando "iOS Distribuzione"

Ho 3 diversi target app che hanno bisogno di costruire questo quadro.

Sono confuso:

  • fa il quadro serve proprio AppID registrati nel Centro per sviluppatori?

  • il framework necessita del proprio profilo di provisioning?

  • il framework può utilizzare lo stesso file Entitlement dalla destinazione dell'app iOS?

Grazie.

risposta

11

Ho avuto lo stesso problema, ma è stato risolto da:

Impostazione della squadra per Nessuno nella scheda Generale delle impostazioni di destinazione.

Cambiare questo valore sembra anche resettare i parametri di firma del codice nelle impostazioni di compilazione, in "iOS Developer" sia per il debug che per il rilascio. Se non lo fa, cambia questi parametri personalmente.

Ora posso creare il mio framework senza errori.

Il framework di nuova costruzione può essere controllato per la firma immettendo codesign --display --verbose = 4 FRAMEWORK_PATH nel terminale.

Questo strumento deve restituire: codice oggetto non è firmato affatto

6

Il framework non ha bisogno del proprio ID app registrato nel centro sviluppatore, profilo di provisioning o diritti. Ho un'app nell'app store che contiene un obiettivo dell'app, un obiettivo di estensione di oggi, i target di estensione di monitoraggio e un obiettivo del framework per il codice condiviso.

Ho riscontrato questo problema con una seconda app che stavo tentando di configurare una build, e sono stato in grado di risolverlo modificando la firma per il mio framework per utilizzare le impostazioni automatiche invece di "Do not Code Sign" (Identità sviluppatore iOS/profilo automatico). Ciò causa l'errore di andare via e il framework sembra ancora essere dimesso durante l'archivio come ci si aspetterebbe. Sembra che siano necessarie alcune impostazioni di compilazione, anche se le dimissioni sono appena andate.

EDIT: vale la pena ricordare che una volta che lo si imposta su automatico, è necessario anche avere un profilo di provisioning installato che è appropriato per il set fascio id per i target in fase di costruzione (un profilo di sviluppo jolly dovrebbe essere sufficiente).

Problemi correlati