2014-09-11 7 views
11

Fino a questo pomeriggio, quando ho scaricato l'Xcode 6 finale, sono stato in grado di giocare con Swift sulla mia macchina 10.9. Ora ottengo questo errore:Compila Swift su 10.9?

OS X targets using Swift cannot be built against an SDK older than 10.10, but the effective SDK is 10.9. 

avevo salvato la mia copia di Xcode 6B7, ma ora l'apertura del progetto in quella versione provoca anche lo stesso errore.

Chiunque ha una soluzione? Non voglio installare 10.10 su questa macchina.

+0

Ok, quindi il primo problema è che si sono dimenticati di mettere il 10.10 SDK nel pacchetto Xcode. Bella una mela. È possibile ottenere uno di questi scaricando la versione beta 6.1 e quindi copiandola. L'app ora viene compilata. Sfortunatamente, anche con l'obiettivo impostato su 10.9, non verrà eseguita l'app, lamentando che la mia macchina 10.9.2 è precedente alla 10.9. –

risposta

5

Ok, ecco lo scoop:

Dopo aver scaricato il GM si avrà un Xcode non funzionale, Apple ha dimenticato di includere l'SDK nel bundle app. Così ora è necessario scaricare la 6.1 beta così, Mostra contenuto pacchetto, e passare alla cartella:

/Volumes/Xcode/Xcode-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer 

Nota Ho aperto il fagotto applicazione dall'immagine del disco, così il nome del volume. All'interno della cartella di SDKs troverai MacOSX10.9.sdk e MacOSX10.10.sdk. La versione GM manca più tardi. Quindi creane una copia da qualche parte, come il tuo desktop.

OK, ora trovare lo stesso percorso nella versione GM. La mia è installato nella mia cartella Applicazioni, quindi è qui:

/Applications/Xcode 6.app/Contents/Developer/Platforms/MacOSX.platform/Develope 

Noterete che la cartella MacOSX10.10.sdk manca. Bello. Ok, copia la versione dalla versione beta in questa cartella.

Riavvia Xcode, apri il tuo progetto e pulisci. Ora guarda MOLTO ATTENTAMENTE per ogni impostazione per SDK o obiettivo di distribuzione. L'SDK deve essere 10.10, l'obiettivo di distribuzione deve essere 10.9. Questo appare in molti punti su più schermi, quindi guarda attentamente.

Compila e corre. E corregge i crash che stavo vedendo in Xcode in B6 e B7.

+4

Apple non ha "dimenticato". La versione finale di Xcode 6 non può includere l'SDK 10.10 perché è ancora beta. – user102008

+3

Non sono così interessato al "perché" come "come risolvere". –

+3

Questo è un hack. Difficilmente dire una "correzione". Sarebbe da qualche parte nel mezzo di correzione e interruzione. E un hack senza capire "perché" per lo più più vicino a una pausa. – Eonil

8

Xcode 6.0 supporta solo l'uso di Swift con iOS. L'utilizzo di Swift con Mac OS X non è supportato in questa versione di Xcode e per questo è necessario ottenere Xcode 6.1 beta. Le versioni precedenti di Xcode 6.0 supportano Swift per OS X, ma ciò era dovuto al fatto che Xcode 6.1 beta non era disponibile in quel momento.

Dalle note di rilascio Xcode 6.0:

Swift Support for OS X

*A future version of Xcode to be released along with OS X Yosemite will add Swift support for OS X, including playgrounds and REPL. Xcode 6.0 only supports Swift for iOS projects and playgrounds. A beta release of Xcode with Swift support for both OS X and iOS is available at developer.apple.com/xcode/downloads/

Problemi correlati