2015-07-20 25 views
8

In un progetto che utilizzo Non riesco a impostare i punti di interruzione nel codice Swift, Xcode si blocca sempre quando raggiunge uno di essi, non importa se si tratta di un "manuale" o di un punto di interruzione di eccezione.Xcode 6.4 si blocca nel punto di interruzione rapido

In altri progetti tutto funziona come previsto, solo per un progetto Xcode 6.4 (6E35b) si blocca sempre.

Ho provato a pulire, eliminare i dati derivati, reimpostare il simulatore, riavviare Xcode/Mac - nulla è stato di aiuto.

Chiunque altro abbia riscontrato questo problema, si spera che sappia cosa aiuta?

EDIT solo sembra essere il caso su una macchina (Xcode 6.4, 10.10.5), ma non dall'altra (Xcode 6.4, El Capitan). Ma come ho menzionato nei commenti, reinstallare Xcode non ha aiutato, ci sono altre preferenze che potrei ripristinare/cancellare?

EDIT2 Ecco il file di registro dei crash Xcode: https://dl.dropboxusercontent.com/u/119600/Xcode_2015-08-12-074655_Stefans-iMac.crash

+0

Ho problemi simili, il punto di interruzione è in una funzione di callback o blocco di completamento? –

+0

non ha importanza per me. Davvero ogni punto di rottura in Swift si blocca; nella parte Objective-C funziona normalmente, ma in Swift si blocca sempre e ovunque. – swalkner

+0

Si tratta di un solo progetto o più di uno? Forse un bug ha bisogno di essere riempito con Apple. Più tardi proverò a scaricare questa versione ... – rholmes

risposta

2

vorrei provare a disinstallare e reinstallare Xcode per vedere se aiuta ... Ho sentito parlare di successi con questa tecnica per problemi simili.

Basta eliminare l'intero Xcode.app da/Applicazioni e reinstallarlo da .dmg. Se non si è certi dei binari e si ha tempo/larghezza di banda, si consiglia di scaricare nuovamente il file .dmg.

Se questo non funziona, provare i seguenti trucchi di controllo di origine (sostituto "vostro controllo di revisione preferito" per "git"):

  • Prova spurgo tutti gli oggetti non in controllo del codice sorgente
  • Un altro approccio: controlla di nuovo l'app in un nuovo repository (questo otterrà anche i file che potrebbero essere stati impegnati ma ignorati in seguito).
  • Se non sotto il controllo del codice sorgente, prendi uno .gitignore from here e aggiungilo a git, quindi controlla in un'altra directory (questo lascerà tutto tranne fonte, generatore di interfaccia, file di progetto e risorse/risorse dietro).

Suggerirei di spostare il codice di punto di interruzione in un'altra posizione (ad esempio effettuare una chiamata di funzione e interrompere prima o all'interno della funzione). Tuttavia, se tutto il codice Swift ha questo problema, potrebbe non funzionare.

Infine, dopo aver eseguito un commit temporaneo (per tornare indietro), provalo in Xcode 7 beta. Un po 'complicato perché devi eseguire l'aggiornamento a Swift 2.0, ma se si mantiene il target di distribuzione lo stesso non è necessario apportare modifiche al target iOS.

Se questo veramente è un peso e/o si tratta di un piccolo progetto, è possibile provare a creare un nuovo progetto e migrare i file e lo storyboard, ma probabilmente questo è troppo sforzo.

In entrambi i casi, dal momento che si nota che sono praticamente tutti i punti di interruzione del codice Swift, è possibile segnalare un bug con il reporter di bug di Apple. Hanno davvero bisogno di sentire su problemi come questo, dal momento che non sembra essere solo nell'avere questo problema.

MODIFICA: dove vedono gli altri questo problema? Forse possiamo vedere comunanza - poiché questo è segnalato solo nei progetti Swift (finora). Un collega ha riscontrato questo problema con i punti di interruzione (oltre a passare attraverso il codice) in Xcode 6.4 in 10.10.4. (Ho visto crash di Xcode 6.4 anche in passato).

Vedo OS versione 10.10.5 menzionato come destinazione in cui ciò accade (@swalkner); questa è una beta? Se OS 10.10.4/5 è l'unico posto che vediamo, potrebbe essere significativo. Se si tratta di un progetto/interazione del sistema operativo, potrebbe essere difficile riprodurre/correggere, ma incoraggerei tutti a inviare segnalazioni di bug dettagliate ad Apple (forse anche collegare questo post).

Alcuni punti da notare se stai vedendo questo:

  • il sistema operativo versione
  • Hardware
  • Obiettivo: Simulatore vs hardware; iOS vs app WatchKit.
  • Versione SDK di destinazione
  • Solo Swift? O su un progetto solo Objective-C? Misto?
  • Un solo progetto o più?
+0

- rimuoverlo solo dalla cartella Applicazioni o qualcosa di più complesso? :) – swalkner

+0

purtroppo non ha aiutato. Nessuno dei due ha cancellato le impostazioni predefinite com.apple.dt.Xcode' – swalkner

+0

Mi spiace sentirlo - buona fortuna! – rholmes

1

E 'un Longshot, ma fatemi sapere se funziona:

deselezionare la "Mostra sempre Dissasembly" check

Debug > Debug Workflow > Always Show Disassembly 

Nelle vecchie versioni di Xcode (< 6.1):

Product > Debug Workflow > Show Disassembly When Debugging 
+0

non ha aiutato, sfortunatamente; grazie comunque! – swalkner

0

Ho appena trascorso le ultime ore cercando di risolvere esattamente lo stesso problema.

All'inizio pensavo che fosse iniziato a causa dell'installazione di Xcode 7 sulla stessa macchina di Xcode 6.4. Il problema ha certamente coinciso.

Tuttavia, a causa di avere il controllo di versione, ho potuto guardare e vedere quali file erano cambiate da quando l'apertura del progetto con Xcode 7.

Il file images.xcassets era cambiato. Il ripristino di questo file ha impedito a Xcode di bloccarsi ogni volta che ha colpito un punto di interruzione.

Non sono sicuro se questo sia di aiuto, ma sicuramente guardo images.xcassets e se necessario, cancellalo, ricrearlo e assicurati che sia configurato al 100%. Ha sicuramente risolto il mio problema.

+0

ottime informazioni - sai cosa è esattamente cambiato per images.xcassets? Davvero strano ... – swalkner

+0

Credo che Xcode 7 abbia aggiunto immagini x3 al file, o almeno abbia tentato di farlo. – Wardy