Qual è il modo migliore per utilizzare le funzionalità di iPhone 3.0 pur mantenendo la compatibilità con le versioni precedenti?

StackOverflow https://stackoverflow.com/questions/1034348

  •  06-07-2019
  •  | 
  •  

Domanda

Ad esempio, supponiamo di aver scritto la mia classe che mi ha permesso di registrare audio su iPhone. iPhone OS 3.0 ora fornisce tale funzionalità come parte di Cocoa Touch Framework.

Come posso utilizzare la mia classe esistente per supportare iPhone OS versione 2.2.1 e precedenti, ma allo stesso tempo sfruttare la nuova classe fornita da Cocoa Touch Framework per supportare iPhone OS 3.0?

È stato utile?

Soluzione

Poiché Objective-C è un linguaggio molto dinamico, puoi scegliere come target 2.x ed eseguire una query per l'esistenza di funzionalità 3.0:

id pasteboard = [objc_getClass("UIPasteboard") generalPasteboard];
if (pasteboard) {
    NSLog(@"Got pasteboard, we're clearly on 3.0+");
} else {
    NSLog(@"Pasteboard not available, definitely 2.x");
}

Altri suggerimenti

La piattaforma iPhone ha il più alto tasso di aggiornamento di qualsiasi sistema operativo mobile, quindi non mi preoccuperei della retrocompatibilità. Passa all'API del sistema operativo 3.0 e concentrati sul fare altre cose fantastiche con la tua app.

Se le persone vogliono la tua app e hanno 2.2.1 - tutto ciò che devono fare è aggiornare - e iPhone OS è anche il SO più semplice da aggiornare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top