Pregunta

He iPhone con OS ver. 2.0 leí que para la tienda de aplicaciones de todo appplication debe ejecutarse 3.0 os.so ¿Cómo podría hacer que mi aplicación se ejecute en tanto firmware.is Hay una manera que puedo detectar si os ver.> 3.0 a continuación, se ejecutan diferentes statments Alše statments una duración de más baja de 3,0 os.currently estoy usando esto.

#if __IPHONE_3_0
cell.textLabel.text=cellValue;
[cell.textLabel setFont:[UIFont systemFontOfSize:15.0]];
[cell.textLabel setLineBreakMode:UILineBreakModeTailTruncation];
#else
cell.text=cellValue;    
[cell setFont:[UIFont systemFontOfSize:15.0]];
[cell setLineBreakMode:UILineBreakModeTailTruncation];  
#endif

va a funcionar tanto con firmware

quiero hacer mi aplicación que se ejecuta en> = 3.0 OS y más bajo que esto ... por favor ayúdame

¿Cómo puedo verificar mi solicitud de métodos obsoletos ... solo puedo ver esta línea como obsoletos cell.text = CellValue;

¿hay algo que change.i han instalado nuevo SDK llamado iphone_sdk_3.0__leopard__9m2736__final.dmg

¿Fue útil?

Solución

Su código no se ejecutará en ambos conjuntos de sistemas operativos. Cuando se utiliza declaraciones #if, que está excluyendo básicamente código para una versión del sistema operativo para que la acumulación en particular. En otras palabras, cada versión que se construye, uno al definir __IPHONE_3_0 y uno cuando no lo hace, excluirá el código para el otro.

Lo que está haciendo es la construcción de dos ejecutables, uno que se construye para __IPHONE_3_0 y otro para! __IPHONE_3_0.

Si usted quiere construir un ejecutable, que es una aplicación, que se ejecuta en ambos, entonces es necesario sustituir las declaraciones #if con IFS en tiempo de ejecución, no compila #ifs tiempo, como:

if (theOS >= kiPhone3)
   ....
else
   ....

También puede vincular en las bibliotecas que son 3.0 sólo, pero la prueba de la disponibilidad del marco en tiempo de ejecución, y luego saltar la llamada si los métodos no están disponibles. Hay diferentes llamadas que tendrá que utilizar, uno para la comprobación para ver si un método está disponible, y uno para si una clase está disponible:

Class newClass = (NSClassFromString(@"NewClassName"));
    if (newClass != nil)

Lo último, hay una versión posterior del SDK que el que usted ha mencionado.

Buena suerte!

Otros consejos

Hubo un puesto similar hace algún tiempo. Echar un vistazo a la muestra MailComposer de Apple para ver en ejemplo de una aplicación que es compatible con el firmware 3.0 y 2.x

Si se construye contra el 2.0 (o 2.1 o 2.2.1, etc.) SDK, que se ejecutará en que SDK y cualquier versión posterior a menos que Apple suspender específicamente para ese apoyo SDK. Veo un montón de aplicaciones en la App Store que manifiestan trabajar con el iPhone OS 2.x o posterior y se ejecuta bien en mi iPhone 3G corriendo 3.1.

El IF-ELSE directivas, se oculta una parte del código del compilador por lo que no se ejecutará tanto en el software.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top