Pregunta

Tenemos un proyecto que funciona bien en OS4 pero tenemos problemas para ejecutarlo en iPad 3.2.

El SDK base es 4.0 y el objetivo de implementación es 3.2.

El código falla en el simulador (y dispositivo) de iPad incluso antes de que haya comenzado, con el error

"Datos formators temporalmente no disponibles"

Parece funcionar bien si elimino 2 líneas...

AVURLAsset* asset = [AVURLAsset URLAssetWithURL:assetURL options:options];

y

export = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetPassthrough];

Me bifurco según el sistema operativo presente para que estas líneas nunca ser alcanzado cuando está en un dispositivo 3.2 (sé que son OS4), pero el solo hecho de que estén allí hace que la cosa se bloquee incluso antes de comenzar.

¿Algunas ideas?Salud

¿Fue útil?

Solución

Si esas líneas nunca se alcanzan en el iPad, es posible que se encuentre con un problema debido a que no se vincula débil el marco de AvFundation (y potencialmente otros).Debido a que Avurlasset y AvasstexPortSession no existen como símbolos en 3.2, su aplicación puede bloquearse en la puesta en marcha en ese sistema operativo más antiguo.

Describo cómo debilitar: enlazar un marco en respuesta a una Problema similar en Esta respuesta .

Otros consejos

En primer lugar, "Formateadores de datos no disponibles temporalmente" es un mensaje de GDB, es no por qué su aplicación falla.Puede encontrar más información sobre este mensaje. aquí.

Debe verificar la disponibilidad de las clases durante el tiempo de ejecución (no en tiempo de compilación) si desea escribir código que se ejecute tanto en iOS 3.0 como en 4.0.

Puedes hacer esto usando el NSClassFromString funcionar así:

if (NSClassFromString(@"AVURLAsset")) {
    // 4.0 code using AVURLAsset goes here
} else {
    // 3.0 code goes here
}

Pruebe esto (o similar):

#if __IPHONE_OS_VERSION_MIN_REQUIRED < 40000
  // code for iOS below 4.0
#else
  // code for iOS 4.0
#endif

robado de Esta pregunta .

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