App iOS "Impossibile verificare l'applicazione" solo su un dispositivo


235

Ho due dispositivi iPhone (4s e 5) collegati al mio computer e sto provando a installare un'applicazione in entrambi i dispositivi. Si installa abbastanza bene in iPhone 5 ma dà un errore " The application could not be verified." quando si tenta di installare nel dispositivo iPhone 4s.

Gli UDID di entrambi i dispositivi sono stati aggiunti nel profilo di provisioning generato per l'applicazione.

Inoltre, per aggiungere una nota, ho appena aggiornato la mia versione di iPhone a 8.1.3 nel mio dispositivo 4s. Non sono sicuro però se l'errore abbia qualcosa a che fare con esso.

Qualsiasi aiuto su questo sarebbe molto apprezzato. Sono stato bloccato su questo per qualche tempo ormai.

MODIFICARE:

Ho appena collegato questo a un altro dispositivo iPhone e il problema sembra essere di nuovo lì. Fondamentalmente questo significa che l'app, per qualche motivo, si installa solo nel telefono che sto usando da un po 'di tempo e non in nessun altro telefono. Ancora una volta, sono abbastanza sicuro che il profilo di provisioning contenga gli UDID di tutti questi 3 dispositivi.

Risposte:


479

Mi è successo qualcosa di simile solo di recente. Ho aggiornato il mio iPhone alla versione 8.1.3 e ho iniziato a ricevere il messaggio di errore "Impossibile verificare l'applicazione" da Xcode su un'app installata correttamente sullo stesso dispositivo iOS dallo stesso Mac pochi giorni fa.

Ho cancellato l'app dal dispositivo, ho riavviato Xcode e l'app successivamente installata sul dispositivo andava bene senza alcun messaggio di errore. Non sono sicuro se l'eliminazione dell'app fosse la soluzione, o il problema fosse dovuto alla "fase della luna".


Non ho la mia app nel telefono da disinstallare e provare :) Questo è il mio primo tentativo di installazione su questo dispositivo.
Sunil,

Grazie! Mi sono distrutto la testa cercando di capire perché questo non funzionava sul simulatore. Vorrei che Apple consentisse il pieno sviluppo usando il simulatore per tutte le operazioni.
Christopher Wade Cantley,

È stato inoltre segnalato che l'eliminazione e la reinstallazione di un'app di test per sviluppatori ha consentito ad altre app di test per sviluppatori (non eliminate) di reinstallare da Xcode senza il messaggio di errore.
hotpaw2,

Un'ipotesi casuale è che qualsiasi vecchia installazione dell'app lasci qualcosa (non documentato da Apple) che un nuovo checksum 8.1+ o un metodo di firma del codice non piacciano, quindi pensa che la nuova installazione sia corrotta. L'eliminazione delle vecchie app elimina tutto ciò che era rimasto.
hotpaw2,

2
L'app non è stata installata. Come puoi rimuoverlo? Come può essere considerata una risposta valida?
BTRUE,

116

Come noto, l'applicazione non può essere verificata. rilancia perché sul tuo dispositivo è già installata un'app con lo stesso identificativo di bundle.

Ho riscontrato questo problema perché sul mio dispositivo è presente la mia app che viene scaricata dall'App Store. e collaudo la sua versione di aggiornamento da Xcode. E ho usato lo stesso identificativo che è l'app live e la mia app di test di sviluppo. Quindi rimuovo semplicemente l'app Live app-store dal mio dispositivo e questo errore verrà corretto.


2
Grazie! Nel mio caso ho scaricato l'app da Apple Store ma in seguito volevo crearla da sorgente e profilo sul dispositivo.
Valentin Simonov,

1
Questo ha funzionato per me .. ha dovuto eliminare l'app che era già installata.
martedì

9
Sì, ha funzionato anche per me. Seriamente, questo mi infastidisce. Ogni anno Apple annuncia con orgoglio quanto sia meravigliosa la sua ultima espediente di Xcode, ma produce ancora i messaggi più inutili di qualsiasi ambiente di sviluppo. "Impossibile verificare l'applicazione." Come diamine è quella frase collegata a "Hai già una versione App Store di questa app installata sul tuo dispositivo." Senza speranza. Grrrr ...
Mike Gledhill il

Sì, il mio è stato risolto eliminando una build precedente dal telefono. I messaggi di xcode sono merda.
Randy L

2
L'eliminazione non aiuta a testare il percorso dell'app 'upgrade'
bandejapaisa,

55

basta eliminare l'app e riprovare, mi capita quando provo ad avviare un dispositivo che ha la stessa app ma generato da un file ipa.


sì, ho appena eliminato l'app e funziona bene anche per me, grazie.
Raduken,

3
E se l'utente volesse aggiornare l'app?
Ahmed,

25

Probabilmente hai usato l'opzione "Risolvi problema" in Xcode quando collegavi un nuovo dispositivo. Vecchia domanda ma credo che questa sia la vera risposta al PERCHÉ sta accadendo. Quando si installa un'app su un dispositivo, viene firmata con un profilo di provisioning di sviluppo specifico. Se, ad esempio, si collega un altro dispositivo non registrato nell'account sviluppatore, Xcode ti chiederà di "risolvere il problema". Quando si preme che il dispositivo viene aggiunto e viene creato / modificato un altro profilo di provisioning. Se provi a sovrascrivere un'app esistente riceverai quell'errore. L'eliminazione dell'app e la sua reinstallazione funzionano poiché il profilo è stato modificato. Trovo che ciò accada spesso quando viene impostato un team e un membro collega un nuovo dispositivo, quindi Xcode "risolve" il problema.


1
non è sempre correlato a nuovi dispositivi, può verificarsi anche se si cambia il "Team" nella sezione Generale> Identità di Xcode. Anche se il prompt "Fix Issue" mi è stato mostrato, ho già usato questo telefono con il mio account dev, quindi nel mio caso deve essere stato cambiato l'account dev
whyoz,

Ciò può accadere se il diritto "Condivisione portachiavi" è stato abilitato.
Kof

Mi è successo dopo aver abilitato iCloud in Funzionalità. Un "problema risolto" correlato ha creato un nuovo diritto, che potrebbe essere la causa esatta. L'eliminazione e la reinstallazione dell'app sono state di aiuto.
Greg,

9

Potrebbe averlo capito ... L'eliminazione dell'app dal dispositivo ha funzionato per me, come altri già menzionato (grazie!).

Penso che il motivo sia che l'app sul dispositivo sia stata effettivamente firmata con un profilo di provisioning separato, in particolare un profilo di distribuzione nel mio caso.


7

Per gli altri che non usano RubyMotion e non pensano che l'eliminazione dell'app sia accettabile (come in, si desidera eseguire test di aggiornamento). Dai un'occhiata alla parte inferiore di questi documenti di Apple:

https://developer.apple.com/library/ios/technotes/tn2319/_index.html

Sembra che abbiano cambiato qualcosa in 8.1.3 per verificare questa nuova regola.

La correzione

"[Aggiungi] il valore dell'identificatore dell'applicazione dell'applicazione installata, come registrato tra le seconde parentesi, al valore dell'array della titolarità dell'identificativo dell'applicazione precedente per l'app da installare (dimettendola o ricostruendola) e richiedendo nuovi profili di provisioning speciali come mostrato di seguito."

<key>previous-application-identifiers</key>
<array>
    <string>{Your Old App ID Prefix}.YourApp.Bundle.ID</string>
</array>

MODIFICARE:

Per fare ciò, sono necessari profili di provisioning speciali. Puoi richiederli ad Apple: "Per abilitare la firma con i diritti identificativi delle applicazioni precedenti sono necessari nuovi profili di provisioning speciali che puoi ottenere andando alla pagina Contattaci e richiedendoli". (dai documenti collegati sopra).


Questa dovrebbe essere una risposta accettata, poiché l'eliminazione di un'app non è in realtà una soluzione, ma una soluzione.
Lukasz,

puoi spiegare in breve dove dobbiamo cambiare? Sto riscontrando lo stesso problema.
Maulik,

Non sono esperto in questo, ma penso che sia solo una nuova funzionalità di sicurezza che Apple ha aggiunto al sistema operativo. In un certo senso ha senso che non dovresti essere in grado di sovrascrivere un'applicazione con un diverso bundle-id, ma hanno capito che sarebbe stato necessario per i test, quindi ha incluso questa soluzione alternativa. Purtroppo, poiché si tratta di contattare Apple, non penso che la soluzione alternativa sia abbastanza buona da Apple ...
Plivesey,

Dal nostro punto di vista, è fondamentalmente solo un altro requisito per i test di aggiornamento.
Plivesey,

@plivesey È stato anche fondamentale per me poterlo fare senza eliminare l'app (molti dati di test preziosi, ecc ...) e ho trovato una soluzione ancora più semplice: stackoverflow.com/a/30617406/229229
Lukasz

6

Ho affrontato molto questo problema. Non sono sicuro che questo sia il problema, ma penso che quando xCode ha visto che c'è un'app con lo stesso identificativo di bundle dell'app, sto provando a installarlo, non me lo ha permesso. Quindi, ho dovuto eliminare quello più vecchio e ho provato a installarlo e ha funzionato. Tuttavia, a volte a scopo di test, avevo bisogno di più versioni della stessa app e, in tal caso, cambiavo l'identificatore del bundle e provavo a installarlo. Funziona solo se utilizzo un profilo di provisioning con caratteri jolly.


Sì, in genere accade dopo aver aggiunto un diritto
brainray

4

Ho avuto lo stesso problema sul mio iPad con 8.1.3 L'eliminazione dell'app e l'installazione di nuovo hanno risolto il problema. Uso due diversi profili di provisioning su due macchine diverse e questo potrebbe aver causato questo problema.


3

Soluzione funzionante e testata, che non richiede l'eliminazione dell'applicazione:

Sembra che il profilo di provisioning della distribuzione AppStore o solo il certificato di distribuzione iOS dispongano di autorizzazioni speciali e il problema "Impossibile verificare ..." non si applica a loro. Sostituiranno sempre il certificato precedente .

In altre parole: la versione di AppStore verrà installata correttamente, anche se l'app già installata (testing, adhoc o enterprise) è stata firmata dal certificato di un team diverso.

Se sei fortunato e hai precedentemente caricato un'app sull'account AppStore di proprietà dello stesso team del certificato con cui hai un problema, allora le cose sono molto semplici: basta scaricare e installare l'app da AppStore.

Al momento dell'installazione, il certificato dell'app sarà uguale a quello con cui si desidera verificare e il problema scompare.

Se la tua app non è ancora sull'AppStore - iTunesConnect beta viene in soccorso :

Disclaimer : non l'ho provato ma dato che cert an prev sono gli stessi della versione AppStore, scommetto che funziona:

  1. Archivia la tua app con il profilo di provisioning AppStore (certificato di distribuzione iOS) e carica su iTunesConnect (sull'account di proprietà dello stesso team di sviluppatori incluso nel profilo di provisioning che non desideri eseguire).
  2. Invita una persona con il dispositivo su cui vuoi eseguire (tu stesso?) Il beta test.
  3. Scarica e installa l'app da iTunes Connect beta.
  4. Ora puoi installare la versione di prova.

3

Impossibile verificare l'applicazione ", nel dispositivo potrebbe essere già installata un'app con lo stesso identificativo di bundle.

Soluzione così semplice Basta eliminare l'app e riprovare .. ....


2

Risposta TL; DR: non esiste una vera soluzione oltre a "elimina app e reinstalla".

Questa risposta non è soddisfacente per molte situazioni, quando si dispone di un database esistente che non deve essere eliminato all'interno dell'app.

Lukasz e Plivesey sono gli unici con soluzioni che non richiedono l'eliminazione, ma che non hanno funzionato per me.


1

Ho risolto questo problema modificando il sistema di generazione in legacy in xcode.

Ho avuto lo stesso problema ma le soluzioni sopra menzionate non hanno funzionato per me. Anche se non avevo un'app precedente sul dispositivo, ho riscontrato questo errore durante la distribuzione sul mio dispositivo.

Come fare:

Semplicemente, vai al menu File> Impostazioni progetto, all'interno di Condividi impostazioni progetto, modifica Build System da "New Build System (predefinito)" a "Lagacy Build System".


0

Ho riscontrato anche lo stesso problema. L'eliminazione dell'app non ha funzionato, ma quando ho provato a eliminare un'altra app che era l'attuale "genitore" (ho copiato l'intero progetto dall'app precedente, modificato alcuni URL e immagini, quindi ho fatto clic su "Esegui" e ho visto l'infelice finestra di dialogo "impossibile verificare"). Sembra che il problema sia legato al provisioning e alla firma del codice e / o ad alcune configurazioni del progetto. Molto difficile.


0

Avevo cambiato squadra, ma mi ero dimenticato di cambiarlo nel mio Test, quindi lo causavo. Forse questo aiuta qualcuno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.