Impossibile registrarsi con il server bootstrap


113

Ho appena cambiato del codice nel mio programma e ho ricevuto questo errore:

Impossibile registrare com.yourcompany.XXX con il server bootstrap. Errore: codice di errore sconosciuto.

Questo generalmente significa che un'altra istanza di questo processo era già in esecuzione o è appesa al debugger. Il programma ha ricevuto il segnale: "SIGABRT".

Ho provato a ripristinare il mio programma a una versione che funzionasse, riavviato, riavviato, svuota le cache e ricostruisci su versioni che funzionavano anche prima.

Qualsiasi aiuto sarebbe apprezzato.


Dopo aver fatto tutto quanto sopra. Ho eseguito un programma separato e quel programma ha funzionato .... ???
MadProfit

Ho avuto questo problema poco dopo aver usato gli strumenti. Mi chiedo se sia correlato.
Sam


1
Questo problema si presenta spesso per me e accade quasi sempre quando a metà installazione annullo forzatamente il processo di installazione, prima che didFinishLaunching ... venga chiamato nell'app. Da qualche anno cerco di non interrompere mai un'installazione fino a quando non è arrivata a quel punto perché spesso causa il problema di cui sopra. Il passaggio da Xcode a 4 e le ultime versioni di iOS o il nuovo debugger non hanno fatto la differenza qui.
Jonny

Risposte:


116

Sono stato in grado di recuperare da questo scollegando l'iPad, spegnendolo e riaccendendolo, cancellando tutte le cache e gli obiettivi XCode e facendo una build pulita. Uso XCode 3.5.4 e iOS 4.2.1 Spero che questo aiuti qualcuno. -Mike

AGGIORNAMENTO: Stesso problema con Xcode 4.3 e iOS5: basta spegnere e riaccendere il dispositivo.


2
Il riavvio del dispositivo è stato ciò che ha funzionato per me dopo aver provato tutto il resto.
noodl_es

Ha funzionato per il mio iPhone 4 solo dopo aver riavviato il dispositivo. (uguale a noodl_es). Possiamo presumere che il "server bootstrap" sia qualcosa che risiede sul dispositivo, e un modo "semplice" per risolvere i problemi con esso è quindi riavviare il dispositivo?
Jonny

6
@ Sam - sì, penso che ci siano processi spuri che non vengono ripuliti bene. Per quanto riguarda MadProfit, speravo nel dubbio onore di essere la sua prima risposta accettata :)
Rayfleck

25

Potresti desiderare killtutti i Simulatorprocessi, che possono causare anche questo errore.

Ecco una battuta per ucciderli tutti:

kill -9 `ps ax | grep Simulator | grep -v grep | awk '{print $1}'` 

O più conciso, come @brianegge cita come commento:

killall -9 Simulator

Ho incollato questa riga nel terminale alla lettera e non verrà eseguita
barfoon

2
Quale errore @barfoon? Quale sistema operativo? Se non hai Simulator in esecuzione, otterrai semplicemente kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec].
Pål Brattberg,

@barfoon - probabilmente perché non hai alcun processo di simulazione. Se valuti "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... o kill -l [sigspec]", non ottieni alcun risultato, quindi "kill -9 {empty}" restituisce un errore: kill: utilizzo: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
Aneil Mallavarapu

Una linea più breve sarebbekillall -9 Simulator
brianegge

1
Puoi anche provare Activity Monitor per terminare tutto il processo che desideri, è tutto visibile lì. Basta digitare Activity Monitor in Spotlight .. Spero che questo aiuto.
iphonic

15

La mia soluzione era riavviare l'ipad, aspettare un po 'e riprovare.


14

Se si ottiene il blocco quando si utilizza il simulatore, guardare questo thread: Strange Error When Testing Simulator

Potresti trovare questo test interessante, in quanto ti dirà al più presto se l'unica soluzione è riavviare ora o meno:

Apri Terminale ed eseguire questo comando: ps -Ael | grep Z. Se ottieni due voci, una "(clang)" e l'altra il nome della tua app o della tua azienda, sei chiuso: riavvia.

Se sei uno sviluppatore, inserisci un breve bug e comunica ad Apple quanto sia fastidioso dover riavviare e menziona che possono duplicare questo bug su "rdar: // 10401934".


11

Ho ricevuto lo stesso problema eseguendo un'app su un iPhone da Xcode. Il messaggio che stavo ricevendo era lo stesso di sopra:

Impossibile registrare xxx.com.company.appname con il server bootstrap. Ciò significa generalmente che un'altra istanza di questo processo era già in esecuzione o è bloccata nel debugger.

Ho provato molte cose per risolvere il problema, in questo ordine, tutte fallite:

  • forza l'uscita dall'app sull'iPhone
  • forzare la chiusura e quindi eliminare l'app dall'iPhone
  • apertura e chiusura del progetto
  • pulire il progetto
  • riavviare XCode

Alla fine, ho riavviato l'iPhone e il problema è andato via, il che mi porta a pensare che la fonte del problema sia un processo bloccato che Xcode non può o non ucciderà. Se sono in grado di riprodurre esattamente ciò che stavo facendo durante la mia sessione di debug per ottenere questo strano stato, aggiungerò un'altra nota qui.


5

Ho aperto una segnalazione di bug con Apple: https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/19/wo/WBbbbyopNFW8FFUuNSbk0w/10.66

Per favore fatemi sapere se non potete accedervi.

Riepilogo: il debugger XCode non rilascia la porta del server bootstrap

Passaggi da riprodurre: durante il debug di un'app per iPhone iOS5 nel simulatore in Xcode 4.2 Build 4D5163b su Lion 10.7.2, a volte un arresto anomalo può comportare l'impossibilità di avviare il bugger. Invece, Xcode produce questo errore:

Impossibile registrare com.MyApp.MyApp con il server bootstrap. Errore: codice di errore sconosciuto. Questo generalmente significa che un'altra istanza di questo processo era già in esecuzione o è appesa al debugger. Il programma ha ricevuto il segnale: "SIGABRT".

Risultati previsti: dovrebbe essere possibile avviare il debugger dopo un arresto anomalo.

Risultati effettivi: impossibile avviare il debugger. L'unico modo che ho scoperto per far funzionare di nuovo il simulatore è riavviare Mac OS.

Regressione:

Note: molte persone stanno riscontrando questo problema: iPhone - strano errore durante il test sul simulatore Impossibile registrarsi con il server bootstrap Errore del server bootstrap in Xcode IPHONE https://discussions.apple.com/message/10416765?messageID=10416765

Uscire da XCode e dal simulatore (e assicurarsi che ps -Al | egrep "Xcode | Simulator" non restituisca nulla) non risolve il problema.

L'esecuzione di "launchtl bslist | grep MyApp" rivela che com.MyApp è ancora registrato con il server bootstrap:

$ launchctl bslist | grep MyApp
A  com.MyApp.MyApp.UIKit.migserver
A  com.MyApp.MyApp

Ho scritto del codice per trovare la porta e invalidarla, ma anche questo fallisce:

NSMachBootstrapServer *bsserver = [NSMachBootstrapServer sharedInstance];
NSMachPort *port = (NSMachPort *)[bsserver portForName:@"com.MyApp.MyApp"];
[port removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:<#(NSString *)#>
NSLog(@"port = %@",port);   
NSLog(@"port.isValid=%d",[port isValid]);
[port invalidate];
NSLog(@"port.isValid=%d",[port isValid]);       

4

Ho avuto lo stesso problema con Xcode 4. La soluzione era cambiare lo schema. Esegui impostato su Debug, Test impostato su Debug, Profilo impostato su Rilascio, Analizza impostato su Debug, Archivio impostato su Rilascio


Interessante soluzione alternativa. Ho questo problema con il simulatore iPad. Ho cambiato il target del dispositivo in un dispositivo reale, ho chiuso il simulatore di iPad, quindi ho rieseguito l'app sul simulatore e ha funzionato.
Thomas Desert

2

Il riavvio del computer ha risolto il mio problema. Questo errore si è verificato quando ho collegato il mio nuovo iPod Touch al mio Mac e ho eseguito contemporaneamente il mio progetto nel simulatore.


2

Il modo più semplice è cambiare il nome del target, ricordati di cambiarlo il giorno successivo dopo un riavvio.


Questo è davvero il modo più semplice. Non è necessario riavviare. Grazie!
pgpb.padilla

2

Per riassumere tutto.

A volte kill -9 (l'id del processo) aiuta.
A volte (come affermato) launchctl list | grep UIKitApplication | grep "(nome / identificatore della tua app)" | awk '{print $ 3}' | xargs launchctl remove funziona.

Ma se è un processo "zombie", solo un riavvio risolverà il tuo problema.

Una soluzione temporanea è semplicemente cambiare l'identificatore (Destinazione applicazione IOS, scheda Riepilogo) in qualcos'altro (come "com.mycompany1.myapp" da "com.mycompany.myapp") ma ricordati di cambiarlo di nuovo dopo il riavvio e prima di te invialo.

(ovviamente questo creerà un'altra app sul simulatore, ma immagino che sia l'ultimo dei tuoi problemi ...)

Sfortunatamente, non esiste una "via facile per la grandezza" ... ;-)


1

Ecco come penso di aver risolto questo errore "strano":

Impossibile registrare com.yourcompany.XXX con il server bootstrap. Errore: codice di errore sconosciuto. Questo generalmente significa che un'altra istanza di questo processo era già in esecuzione o è appesa al debugger. Il programma ha ricevuto il segnale: "SIGABRT".

(1) Pulisci tutte le cache, i bersagli, le intestazioni sia su Xcode che sul simulatore. (2) Riavvia il tuo iPhone quando non è collegato al computer e assicurati che sul tuo iPhone non siano rimaste versioni del programma che ti ha dato problemi. (3) Ripristina qualsiasi versione precedente del tuo programma che sai perfettamente funzionato in un determinato momento. (4) Spegni il tuo computer / laptop. (Avevo bisogno di farlo 4 volte.) Non ha senso per me. (5) Riavviare la macchina e provare a eseguire un programma diverso per vedere se l'errore persiste. Se non ricevi l'errore su un altro programma. (6) Compila il programma che ti ha dato l'errore: (1) Prima con una versione precedente che ha funzionato. E poi, la versione che ti ha dato l'errore. Naturalmente, potrebbe essere necessario aggiungere nuovamente il codice in modo graduale per assicurarsi di sapere quale codice ha causato l'errore.


4
Questa non è una soluzione al problema, è un modo per farlo compilare di nuovo. Risolvere il problema sarebbe non ottenere questo errore o un modo per eliminarlo senza la necessità di riavviare il computer ...
Javier Soto

1

Questo è successo a me perché un'altra applicazione stava consumando le risorse del computer. Ho chiuso il simulatore, chiuso l'applicazione che stava bloccando il mio computer e riavviato il simulatore, e poi ha funzionato. L'errore significa che un processo precedentemente interrotto non è riuscito a raggiungere la fine della coda e sta bloccando quello corrente.


1

Sono state fornite molte buone risposte per risolvere il problema.

Ho scoperto che posso ricreare questo bug creando un punto di interruzione nel mio codice in modo che l'esecuzione si interrompa. Quindi se premo il pulsante Stop il bug apparirà ora quando provo a eseguire nuovamente il codice. La ripresa dell'esecuzione prima di premere il pulsante Stop evita quindi questo problema.

Spero che questo ti aiuti.


0

chiudere xcode, quindi avviarlo e riavviare il mio iPhone ha risolto il mio problema


0

Non ho trovato una soluzione migliore di quella menzionata sopra: riavvia l'iPhone. Sembra che ci sia un demone che si connette al debugger Xcode non correttamente ucciso.

Puoi evitare questo comportamento SEMPRE fermando la sessione di debug tramite il pulsante "Stop" in Xcode, e aspettando che l'app esca automaticamente su iPhone. Devo sempre riavviare se faccio clic su "Avvia" senza prima fermarmi, o uscire con il pulsante dell'iPhone o qualcosa del genere. Spero che sia d'aiuto


0

Ho riscontrato questo problema solo ora durante la valutazione di AppCode. Ho scoperto che XCode si era in qualche modo collegato alla mia applicazione mentre stavo tentando di collegare AppCode alla mia applicazione. Ho semplicemente interrotto la sessione di debug di XCode e ha funzionato come previsto. Spero che questo possa aiutare qualcuno.



0

Ciò potrebbe essere causato da un'istanza della tua app in esecuzione in background. Questo processo semplificato ha funzionato per me senza nemmeno dover chiudere xCode o spegnere il computer.

  1. Chiudi simulatore
  2. Interrompi l'esecuzione dell'app in xCode.
  3. Apri il monitor delle attività e cerca un processo in esecuzione con la tua app NAME .
  4. Elimina questo processo in Activity Monitor
  5. Ricostruisci il tuo progetto e dovresti essere pronto

In teoria dovrebbe funzionare anche la soluzione della riga di comando di Pål. Il problema sembra sicuramente essere causato da un'istanza aggiuntiva dell'app in esecuzione in background. L'app non sembra sempre essere interrotta correttamente dopo ogni test nel simulatore o sul dispositivo. L'ho notato per la prima volta saltando frequentemente tra il simulatore e un dispositivo.

Come misura preventiva, è buona norma premere sempre il pulsante di arresto in xCode dopo ogni test.


0

Risultati molto interessanti quando si tenta di riavviare il computer. Ha detto, e questo non è uno scherzo, che 103 utenti dovevano "condividere" il sistema. Quando ho riavviato, sono tornato ai soliti quattro (ho roba Time Machine per tutti i miei computer che passano attraverso questo computer). Ho risolto il problema semplicemente configurando un'app che monitora tale attività e non consente ad altri utenti di "condividere" il mio computer senza il mio permesso. Quello che fa è creare una finestra ogni volta che qualcuno vuole accedervi e devo premere "Approva" prima che possano accedervi. Non funzionava correttamente finché non ho apportato le modifiche di seguito.

  • Mi sono assicurato che mi dicesse quando qualcuno smette di condividere. Ogni volta che Xcode ha questo problema, lo so molto prima che restituisca gli errori.

Questo ora è utile per quasi tutto, ma fastidioso durante i giochi di qualsiasi tipo.

  • Ho quindi scritto uno script che risolto il problema, in fondo, di liberare i Simulatorprocessi che potrebbero possibile causare problemi.

Questa app sarà molto utile per gli sviluppatori, quindi la sto "lucidando" un po ', quindi è fuori uso App Store. Quando arriverà a quel punto, posterò un link qui (sarà gratuito).


0

Ok, ho una soluzione alternativa per il problema hardware che non comporta il riavvio del telefono. Presumo che questo funzionerà anche sul simulatore ma non l'ho provato.

Forza il riavvio di Springboard cambiando la lingua. Impostazioni -> Generali -> Internazionale -> Lingua.

L'ho appena cambiato in spagnolo, ho aspettato il riavvio di Springboard, l'ho cambiato di nuovo in inglese ed è stato possibile.


Nota che mi è appena successo di nuovo e la mia soluzione ha funzionato. Penso che sia solido!
Jason Harris

L'ho provato diverse volte da quando ho pubblicato la soluzione originale ed è stato efficace per me. Più input sarebbero sicuramente utili!
Jason Harris

0

Questa sera ho avuto lo stesso problema dicendo

"Impossibile registrare com.xxx.yyy con il server bootstrap. Errore: codice di errore sconosciuto.

Questo generalmente significa che un'altra istanza di questo processo era già in esecuzione o è bloccata nel debugger. (Lldb) "

e ho risolto

1. Basta scollegare il mio dispositivo (per me il suo iPhone) dalla macchina Xcode / Mac

2. Riavvia il dispositivo (il mio iPhone)

3. App precedentemente installata / danneggiata rimossa

4. Collegare nuovamente il dispositivo e avviare l'eccezione

Funziona bene

Spero che questo possa aiutare qualcuno lì.

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.