2013-10-02 28 views
6

Ho un progetto che richiede SDK di iOS 6.1 e ho aggiornato a XCode5 e non vedo SDK di iOS 6.1 in Impostazioni di compilazione -> SDK di base. Ho precedentemente salvato l'SDK separatamente e ho provato a incollarlo nella directory /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs. Ma non compare nelle impostazioni di Build -> Base SDKS. Come posso utilizzare più SDK in Xcode 5?Xcode - Usa più SDK su XCode 5

+0

Mi viene in mente quando lo faccio. Suppongo che tu abbia riavviato Xcode? –

+0

possibile duplicato di [È possibile installare iOS 6 SDK su Xcode 5?] (Http://stackoverflow.com/questions/18423896/is-it-possibile-per-installare-ios-6-sdk-on-xcode -5) – Adam

+2

Assicurarsi di riavviare XCode e in alcuni casi è necessario disconnettersi/riconnettersi. – Adam

risposta

7

Invece di copiare-incollare direttamente si dovrebbe usare link simbolico per evitare la cancellazione di SDK precedenti ad ogni aggiornamento XCode ..

1.Open terminale e passare alla seguente directory SDK come illustrato di seguito

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 

2.Paste SDK 6.1 o l'SDK precedente desiderato nei documenti o in qualsiasi altra directory in cui non verrà eliminato dopo futuri aggiornamenti XCode. una volta inserito l'SDK in quella directory, utilizzare il seguente comando per creare un collegamento simbolico. (Per semplicità ho messo SDK 6.1 nella cartella Documenti)

sudo ln -s /Users/.../Documents/iPhoneOS6.1.sdk . 

NOTA: non dimenticare di aggiungere uno spazio e un punto dopo il comando.

1

Se si desidera utilizzare l'SDK precedente con xCode 5, è sufficiente copiare il precedente sdk in contenuto-> sviluppatore-> patformi-> iPhoneOS.platform Dopo aver riavviato il codice x. assicurati di aprire i contenuti di xCode5 e di incollarli lì.

+1

Restart ha fatto il trucco. ma segna la risposta sopra poiché ha una soluzione per futuri aggiornamenti. Grazie. –

4

In un commento da una risposta cancellato, lei ha detto:

Utilizzando l'SDK 7.0 ha causato tutti i tipi di problemi di rendering di strano nelle mie applicazioni su iOS7 che non ho avuto il tempo di risolvere immediatamente

Capisco il problema qui, ma mi sento in dovere di dire che sono d'accordo con Trojanfoe, che la migliore pratica è che si dovrebbe davvero usare l'ultimo SDK, ma sentiti libero di supportare qualsiasi versione precedente di iOS che i tuoi requisiti aziendali dettano. Così, idealmente, si dovrebbe:

  1. fissato l'obiettivo minimo di distribuzione delle app per essere qualunque sia la prima versione di iOS è necessario sostenere:

    project target

  2. Ovviamente scrivere codice che supporti la gamma di versioni iOS da tutto, dal "target di implementazione" minimo della tua app fino alla versione iOS più recente. Ciò comporterà la consueta gamma di tecniche elencate Supporting Multiple Versions of iOS della Guida alla programmazione iOS App, vale a dire:

    • collegamento debole di quadri che potrebbero non essere supportati dal vostro destinazione di distribuzione prima;

    • controlli di runtime per l'esistenza delle classi;

    • controlli di runtime per respondsToSelector per quei metodi che non sono disponibili in tutte le versioni di iOS che stai supportando;

    • ecc.

  3. Poi, se si desidera verificare sul simulatore per la versione precedente di iOS, nel menu schema, scegliere la destinazione versione di iOS:

    scheme

    Chiaramente, si vorrà per testare su dispositivi fisici ancora in esecuzione le vecchie versioni di iOS (oltre ovviamente alle ultime versioni di iOS). Tuttavia, l'utilizzo del simulatore è un modo rapido per eseguire l'app in base a una versione precedente di iOS e assicurarsi di mantenere la compatibilità con le versioni precedenti.

Comprendiamo la sua preoccupazione per quanto riguarda questo approccio e capisco che questo non può essere per voi, ma mi sono sentito costretto Contorno quello che credo di essere "best practice".