Di recente, ho aggiornato il mio iPhone SDK OS dalla versione 2.2.1 alla versione 3.0. Successivamente, durante la creazione dell’applicazione, viene visualizzato un messaggio di errore relativo al profilo di provisioning scaduto. Così ho creato un nuovo profilo di provisioning.
Quindi ho effettuato la distribuzione della mia applicazione con il profilo di provisioning. Ma ricevo un errore in iTunes durante la sincronizzazione della mia applicazione su un dispositivo iPhone. Il messaggio di errore è “L’applicazione ‘iGVA’ non è stata installata su iPhone perché le autorizzazioni non sono valide.”
Ho controllato la firma del codice. Le autorizzazioni contengono il file plist
authorization corretto.
Come può essere risolto?
La risposta di Michael sopra è azzeccata (o il link a cui punta è). Ecco i passaggi che ho dovuto fare per farlo funzionare:
Un file Entitlements.plist è richiesto per i tester che installano build ad-hoc. I modelli iOS predefiniti non ne includono uno. In XCode 3.2.4 ne crei uno come questo:
Se non ne hai ancora uno, crea un profilo di build “ad hoc”:
Ora hai creato un Entitlements.plist, devi aggiungerlo alle impostazioni di generazione.
Nota: si verificheranno errori durante l’installazione dell’applicazione sul proprio dispositivo se si crea e si esegue con “Identificativi di firma del codice” impostato per altre configurazioni di build.
Infine, controlla che Entitlements.plist sia stato aggiunto alla tua destinazione.
Ora dovresti essere in grado di distribuire le tue build ad-hoc senza questo errore.
La maggior parte di questo è stata ricavata dalla Guida alla gestione dei diritti delle applicazioni di Apple, il resto da tentativi ed errori.
Sono rimasto anche un po ‘per questo e ho trovato la risposta in App e diritti ad hoc .
Potrebbe essere necessario assicurarsi che il percorso del file Entitlements.plist
sia inserito nelle impostazioni del progetto in “Autorizzazioni per la firma del codice”.
Stavo diventando pazzo per questo. Finalmente, credo di averlo capito. Nelle impostazioni del progetto, stavo impostando le autorizzazioni e le funzionalità di firma del codice correttamente nella corretta configurazione Adhoc. Tuttavia, anche se tutto sembrava OK, quando ho controllato “Progetto -> Modifica Target attivo” la mia entity framework di firma del codice era ancora bloccata su “Sviluppatore iPhone”.
Dopo aver effettuato il passaggio alla corretta “Distribuzione iPhone” e ricompilato, Xcode mi ha chiesto di consentire la firma del codice per la prima volta. E tutto è stato compilato e trasferito sul mio telefono ora!
Spero che aiuti. Credo seriamente che questo problema sia un bug o un difetto da parte di Apple. Ho perso diverse ore per una cosa semplice, grazie al loro IDE non documentato …
Per l’amor di registrazione, visto che tutte queste meravigliose risposte non mi hanno aiutato, ho pensato di condividere il mio problema con le Entitlement.
Quindi sì, ho aggiunto UDID, ottenuto il provisioning, verificato sul telefono, nelle impostazioni di build, ecc.
Il mio problema tecnico (grazie a http://www.musicalgeometry.com/?p=1237 ) era che lo schema Ad Hoc era impostato come configurazione Ad Hoc solo per le impostazioni di esecuzione .
Per le impostazioni di archivio stava ancora puntando alla vecchia configurazione di Release.
(Queste impostazioni sono le tabs sul lato sinistro nella finestra dello schema di modifica.)
Se salvi qualcuno la mia frustrazione, ho fatto la mia parte.
Le titolarità per la firma del codice non sono più necessarie per i build Ad Hoc in Xcode 4 – vedere le note sui dettagli nella nota tecnica Apple TN2250
Devi anche assicurarti di avere un profilo di provisioning non scaduto, che mi ha penalizzato su questo per un po ‘(i profili di provisioning Ad Hoc sembrano scadere dopo un anno). Il messaggio di errore è lo stesso, ma non ha nulla a che fare con il non avere un file Entitlements.plist valido.
Assicurati di aver creato e archiviato “Crea” per “Dispositivo” e che la configurazione non sia “Debug”. Sembrerà creare l’archivio correttamente, ma non riuscirà a installare il .ipa il dispositivo se si è impostato su un profilo di debug quando si esegue il ‘Build and Archive’.
Questo problema potrebbe non avere nulla a che fare con il plist dei diritti di per sé. Ho due iPod Touches che uso per testare. Quando sono andato a sincronizzare le app con loro, si funzionava perfettamente, ma per l’altro ho ricevuto l’errore “le autorizzazioni non sono valide”. A quanto pare, un dispositivo (quello funzionante) aveva il file di provisioning mobile su di esso, mentre l’altro no. Questa è stata una chiara svista da parte mia. Tuttavia, ciò che mi ha gettato è che non ho mai aggiunto esplicitamente il file di provisioning al primo dispositivo. Non sono sicuro di come sia arrivato su quel dispositivo (sono ancora nuovo in questo – lol) – in passato l’ho sempre trascinato nell’Organizer con il dispositivo collegato, ma questa volta non l’ho fatto.
Quindi il profilo di provisioning e il codice xcode sono stati impostati perfettamente con gli ID corretti, ecc., Ma l’app non è ancora riuscita a sincronizzarsi. Ovviamente se il dispositivo non viene fornito correttamente, verrà visualizzato l’errore. Sarebbe bello se l’errore fosse più utile in questo caso.
Ho avuto questo in XCode 4. Ho provato a pulire, cancellare e ricreare il file dei diritti ma ancora nessuna gioia. Quindi ho cambiato il valore per “Può essere eseguito il debug” da SÌ a NO .. e ha funzionato. Ad ogni modo sembra funzionare bene ora, spero che questo aiuti!
Questo è successo anche a me, e le altre risposte non lo hanno risolto per me.
Dopo aver passato mezza giornata a build, installare, pulire, fare clic su inutilmente – ho finalmente cancellato Entitlements.plist
dalla casella sotto Code Signing Entitlement, salvata e digitata di nuovo – voilà! Ha funzionato di nuovo! Non ho mai toccato il file degli Entitlement, solo l’impostazione.
Ho avuto lo stesso problema, usando Xcode 4. È risultato essere causato da una selezione errata per Identity nella finestra di dialogo “Condividi …” nella sezione (Archivi della sezione) di Organizer. La selezione corretta (per me) è: “Do not Re-sign”.
Ho avuto anche questo problema. Come si è scoperto, sicuramente avevo modificato una configurazione per supportare ad hoc, e sicuramente stavo costruendo usando la configurazione di distribuzione. MA. Non avevo modificato le proprietà della configurazione di distribuzione, ma il rilascio è (ho pensato che stavo modificando la distribuzione).
Questo potrebbe non essere. Ma anche se sei sicuro, controlla che stai usando la configurazione corretta e che questa configurazione sia regolata correttamente.
Dai documenti:
La creazione di un’app per la distribuzione Ad Hoc è simile alla creazione di un’app per la distribuzione dell’App Store, con l’eccezione di due passaggi aggiuntivi. Innanzitutto, è necessario creare un profilo Provisioning distribuzione ad hoc e aggiungere gli UDID dei dispositivi iOS che si desidera distribuire utilizzando il portale di provisioning del programma per gli sviluppatori iPhone. In secondo luogo, è necessario creare un file Entitlement per la firma del codice. Per informazioni su come creare un file Entitlement, leggere la sezione Managing Entitlements dell’applicazione della Guida allo sviluppo iOS.
Gestione dei diritti delle applicazioni
iOS consente l’accesso a risorse e funzionalità speciali, ad esempio se l’applicazione può essere sottoposta a debug, attraverso le proprietà denominate autorizzazioni. Per specificare le informazioni di authorization nella propria applicazione, si aggiunge un file di elenco di proprietà di concessione contenente le definizioni di authorization (coppie chiave / valore) per il progetto. Quando si crea l’applicazione, Xcode copia il file nel pacchetto di applicazioni generato.
Per aggiungere un file di proprietà-elenco delle autorizzazioni al progetto:
Nell’elenco Gruppi e file, selezionare il gruppo Risorse. Scegli Archivio> Nuovo file. Scegli il modello iOS> Code Signing> Entitlement. Denominare il file Entitlements.plist. (Puoi usare qualsiasi nome, assicurati che corrisponda al valore delle impostazioni di creazione dei diritti di firma del codice, come spiegato più avanti in questa sezione). Imposta il tipo del file di elenco di proprietà su Titolarità iPhone. Con il file selezionato nell’editor di testo, scegli Visualizza> Tipo di elenco di proprietà> Plist di diritti degli iPhone.
Aggiungi le voci dell’authorization al file. Per ogni proprietà dell’authorization è necessario definire:
Fai clic sui pulsanti Aggiungi figlio o Aggiungi fratello alla destra della riga selezionata. Il pulsante Aggiungi bambino ha tre linee che descrivono una gerarchia, il pulsante Aggiungi pari ha un segno più (+) su di esso. Scegli la proprietà dell’authorization dal menu a comparsa visualizzato. Se il diritto che devi aggiungere non appare nel menu, scegli Vista> Tipo elenco proprietà> Predefinito per Tipo file. Quindi immettere il nome e il tipo di chiave dell’authorization.
Inserisci il valore per la proprietà. Impostare le impostazioni di generazione dei diritti di firma del codice per la destinazione sul nome del file elenco di proprietà delle autorizzazioni appena aggiunte.
Una volta creato il file Entitlement e aggiunto all’impostazione di creazione dei diritti di firma del codice, aprire il file Entitlement e aggiungere o modificare la chiave get-task-allow e impostarla su false.
Oltre a comprimere il tuo pacchetto .app per distribuire il tuo build Ad Hoc ai tester, ecc. Si consiglia di comprimere anche il profilo di provisioning prima di distribuire perché determinati client e server di posta elettronica potrebbero danneggiare il profilo di provisioning.
Per informazioni sulla distribuzione Ad Hoc, leggi la sezione Pubblicazione delle applicazioni per i test nella Guida allo sviluppo iOS.
Ho appena trovato un’altra circostanza che causa questo problema. Devi assicurarti di includere il profilo di provisioning corretto. Ho un’applicazione che ha sia una versione per iPhone e iPod, sia una versione per iPad creata dallo stesso progetto. A quanto pare ho inviato il profilo ad hoc dell’iPad con la versione iPad dell’applicazione e non funziona. Peggio ancora, ho installato il profilo corretto localmente con Xcode , quindi tutto funziona correttamente sul mio computer.
Ho riscontrato un problema ogni volta che ho aggiunto un nuovo dispositivo nell’elenco dei dispositivi, quindi ho creato i nuovi profili selezionando i nuovi dispositivi e trascinandoli su Xcode e preparando la build.
Nel momento in cui utilizzo quella build per l’installazione del dispositivo, ottengo l’errore
I DIRITTI NON SONO VALIDI
Ho provato a risolverlo con tutti i modi in cui potevo pensare, ma non è emerso nulla di positivo. In ogni caso, devo creare il nuovo App-ID o dover ripetere l’intero processo di creazione dei profili. Quindi posso installare la build sul dispositivo.
fai in modo che Shure selezioni l’ identity framework di firma nei TARGET 😉