In Xcode, come posso utilizzare le nuove API dell'interfaccia utente per Yosemite, ma poi ripristinare quelle più vecchie per i sistemi operativi più vecchi?


0

Ho cercato dappertutto e non riesco a trovare una risposta. (Probabilmente non sto usando la terminologia corretta)

Sto costruendo un semplice programma ObjC di AppleScript e voglio usare la nuova API UI per Yosemite (NSVisualEffectView) ma, come previsto, si blocca quando lo apro su Mavericks. Come potrei invece utilizzare vecchie API senza dover creare un'app completamente diversa?

Risposte:


1

Dovrai capire in fase di esecuzione se il metodo / classe è disponibile. Ecco la guida Apple sullo "Sviluppo basato su SDK" .

Nel tuo caso sarà simile a questo:

if ([NSVisualEffectView class])
{
    // OS X 10.10 code here.
}
else
{
    // OS X < 10.10 code here.
}

Mi scuso se queste domande sono estremamente basilari. In questo blocco, dovrei inserire il codice non elaborato per le finestre stesse (invece di utilizzare IB) o potrei avere una chiamata in fase di esecuzione per cercare vibrancy.xib o nonVibrancy.xib?
ElRojito,

1
@ElRojito È possibile inserire qui un codice non elaborato o sostituire il initWithNibName:bundle:metodo e scambiare xibs usando questa ifistruzione.
Mateusz Szlosek,
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.