El registro de cambios de iOS 8.1.1 muestra TODOS los cambios

  iOS 8.1.1 Fue lanzado hace unas dos horas por la empresa. Apple para sus desarrolladores de aplicaciones para iPhone, iPad y iPod Touch, y os dije que la mejora de rendimiento del iPad 2 y del iPhone 4S es su principal parte "atractiva". Para esta actualización, Apple también ha publicado un registro de cambios en el que enumera todos los cambios menos visibles, es decir, todos aquellos que nos dan un sistema operativo más rápido y con muchos menos problemas.

  iOS 8.1.1 Actualmente está disponible para descargar únicamente desde el sitio web del desarrollador de la aplicación y no se sabe si podrá instalarlo en sus terminales sin tener un UDID registrado en una cuenta de desarrollador de la aplicación.

Registro de cambios de iOS 8.1.1: TODO nuevo

Notas y problemas conocidos

Los siguientes problemas se relacionan con el uso de iOS SDK 8.1.1 para desarrollar código.

AVCaptura

Problema conocido

Uso de la nueva constante, AVCaptureISOCurrent, dará como resultado valores ISO inconsistentes (como se observa en la propiedad ISO) si setExposureModeCustomWithDuration:ISO:completionHandler: se llama repetidamente.

NubeKit

Note

Un único CKAsset La instancia ya no se puede establecer como un valor en varios CKRecords.

Contacto

Note

El selector de personas de la interfaz de usuario de la libreta de direcciones se cambió para iOS 8. Se agregó un nuevo modo con una nueva API donde la aplicación no necesita acceso a los contactos del usuario y no se le solicitará acceso. Se devuelve a la aplicación una copia temporal de la persona seleccionada. EEEABPeoplePickerNavigationController.h para más información.

Vea el nuevo proyecto de muestra PeoplePicker: Selección de una persona o propiedad que demuestra el uso del nuevo modo.

Proveedores de documentos

Notas

  • Su aplicación necesita el derecho de iCloud para poder usarse como proveedor de documentos.

  • Se requiere el derecho com.apple.developer.icloud-container-identifiers.

Problemas conocidos

  • Después de girar el selector de documentos a horizontal, la barra de estado queda oculta.

  • Al abrir el selector de documentos en posición horizontal, la vista contenedora puede desplazarse debajo de la barra de navegación.

Prórrogas de tiempo para presentar declaraciones de impuestos

Notas

  • Las extensiones necesitan un segmento arm64 para ejecutarse en dispositivos de 64 bits. Si intenta ejecutar el segmento armv7 en un dispositivo de 64 bits, no funcionará.

  • Las aplicaciones deben tener un segmento arm64 si el paquete contiene un marco con el que se vinculan tanto la aplicación como la extensión de la aplicación.

Sistema de archivos

Note

El diseño del sistema de archivos de los contenedores de aplicaciones ha cambiado en el disco. En lugar de depender de una estructura de directorios codificada, utilice el NSSearchPathForDirectoriesInDomains función o la URLForDirectory:inDomain:appropriateForURL:create:error: método de la NSFileManagerclase. Ver Acceso a archivos y directorios in Guía de programación del sistema de archivos.

Fuentes

Note

La fuente del sistema tailandés ha aumentado de tamaño para mejorar la legibilidad. Esto provocará recortes en muchos lugares de su interfaz de usuario si no toma las medidas adecuadas:

  1. Uso UILabel cuanto más se pueda. Si utiliza Interface Builder, asegúrese de que Clip Subviews no esté marcado. UIKit aumentará la región de recorte según sea necesario para no recortar texto.

  2. Utilice tipo dinámico. Esto asegurará que no tenga glifos superpuestos en etiquetas de varias líneas o campos de texto.

Si no puede hacer 1 y 2 porque implementa sus propias vistas, debe implementar medidas para no recortar. Puede utilizar CoreText para determinar la región de recorte adecuada para una línea de texto llamando a:

CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);

Para evitar la superposición de glifos en elementos de texto de varias líneas, ajuste la altura de la línea. Se recomienda un 30% adicional.

Esta medida también ayudará a que su aplicación funcione mejor en otros idiomas, incluidos árabe, hindi y vietnamita.

HealthKit

Note

Es posible que el código que intenta leer información de entrenamiento en HealthKit no pueda realizar consultas posteriores a HealthKit.

Si está utilizando HKWorkouts, debe evitar leer entrenamientos cuando ejecute versiones de iOS anteriores a 8.1 con:

NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0};
if ([[NSProcessInfo ProcessInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) {
// Leer y escribir información de entrenamiento en HealthKit.
} Else {
// Escribe información de entrenamiento en HealthKit
}

Problema conocido

Los datos de glucosa en sangre actualmente no se muestran en la aplicación Salud. El acceso de terceros y las API no se ven afectados. Los controles de acceso para la glucosa en sangre y todos los demás datos de salud aún se pueden administrar en la aplicación Salud y en Configuración > Privacidad > Salud.

Para más información, consulte la https://support.apple.com/kb/HT6533.

iCloud

Note

La transferencia de correo y AirDrop pueden dejar de funcionar después de cambiar su contraseña de iCloud en appleid.apple.com.

Solución del problema: Cierra sesión y vuelve a acceder a iCloud en el dispositivo.

iCloud Drive

Note

URLForUbiquityContainerIdentifier: podría volver nil al ejecutar su aplicación en Xcode. Si es así, abra Preferencias del Sistema, navegue hasta iCloud > iCloud Drive y habilite Xcode.

Teclados

Problema conocido

Es posible que los teclados adicionales, incluidos los teclados de terceros, no aparezcan en Safari, Mapas o aplicaciones de terceros en el Simulador.

Solución del problema: Los teclados deben poder probarse en Calendario, Spotlight, Contactos y Fotos.

Centro de notificación

Note

El horario y uso previsto de widgetPerformUpdateWithCompletionHandler: está pensado como un hogar conveniente para toda la lógica de actualización de datos/modelos. Si se implementa, el sistema llamará en los momentos apropiados para que el widget actualice su estado, tanto cuando el Centro de notificaciones esté visible como en segundo plano. Se requiere una implementación para habilitar las actualizaciones en segundo plano. Se espera que el widget realice el trabajo de actualización de forma asincrónica y fuera del hilo principal tanto como sea posible. Los widgets deben llamar al bloque de argumentos cuando el trabajo esté completo, pasando el correspondiente NCUpdateResult. Los widgets NO deberían bloquear el regreso desde viewWillAppear: sobre los resultados de esta operación. En cambio, los widgets deberían cargar el estado en caché en viewWillAppear: para que coincida con el estado de la vista desde la última viewWillDisappear:y luego realice la transición sin problemas a los nuevos datos cuando lleguen.

NSURLSesión

Note

El NSURLSessionTask La clase proporciona una nueva propiedad de "prioridad" con tres constantes asociadas: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLowy NSURLSessionTaskPriorityHigh. NSURLSessionTask Las prioridades se pueden utilizar para especificar cómo se deben priorizar múltiples solicitudes y respuestas al mismo host. Tenga en cuenta que la prioridad es una pista y no una garantía estricta de NSURLSessionTask rendimiento.

Para obtener detalles completos sobre el uso de NSURLSessionTask prioridades, consulte la NSURLSession.h archivo de encabezado, que es proporcionado por el marco Foundation.

Teléfono

Notas

Para activar la funcionalidad de llamadas Wi-Fi para T-Mobile (solo EE. UU.), siga estos pasos:

  • Vaya a Configuración > Teléfono > Llamadas Wi-Fi.

  • Mueva el interruptor de Llamadas Wi-Fi a ON.

  • Si el operador no tiene la dirección de emergencia registrada del usuario, se le pedirá que la agregue antes de activar la función.

Fotos

Notas

  • Mantenga una copia de seguridad de su biblioteca de fotos antes de habilitarla y mientras usa la versión beta de la biblioteca de fotos de iCloud:

    • Importar a tu Mac usando iPhoto

    • Importar a su Mac usando Image Capture

  • La versión beta de iCloud Photo Library no descargará fotos y videos que se sincronizaron con su dispositivo desde iTunes. Todas las fotos y videos sincronizados con su dispositivo desde iTunes se eliminarán cuando habilite la versión beta de iCloud Photo Library.

  • iPhoto para iOS no se iniciará en iOS 8 Beta. Al iniciar Photos.app, se migrarán las ediciones de iPhoto a la biblioteca de fotos de iOS 8. Asegúrese de que los datos de iPhoto para iOS estén incluidos en la copia de seguridad de su dispositivo.

  • La capacidad de optimizar automáticamente el espacio del dispositivo está habilitada para todas las cuentas de más de 5 GB.

  • Cuando se utiliza iCloud Family Sharing, tanto iCloud Photo Sharing como My Photo Stream están habilitados.

Perfiles de aprovisionamiento

Problema conocido

Si actualizó a 8.1.1 Beta desde iOS 8 Betas, es posible que vea que sus aplicaciones fallan debido a problemas de perfil de aprovisionamiento.

Solución del problema:

  1. Conecte el dispositivo a través de USB a su Mac

  2. Lanzar Xcode

  3. Elija Ventana -> Dispositivos

  4. Haga clic derecho en el dispositivo en la columna de la izquierda, elija "Mostrar perfiles de aprovisionamiento"

  5. Haga clic en el perfil de aprovisionamiento en cuestión

  6. Presiona el botón

  7. Continúe eliminando todos los perfiles afectados.

  8. Reinstala la aplicación

kit de interfaz de usuario

Notas

  • UILabel tiene un valor predeterminado de SÍ para clipsToBounds. Esto difiere de lo normal. UIView defecto de NO.

  • El leftLayoutGuide y rightLayoutGuide Se han eliminado las API. Por favor use el layoutMargins propiedad en su lugar.

WebKit

Notas

La API de sincronización de navegación se ha deshabilitado solo en iOS debido a problemas de rendimiento.

Llamadas Wi-Fi (solo T-Mobile EE. UU.)

Note

El nombre del operador en la barra de estado mostrará "T-Mobile Wi-Fi" cuando el dispositivo pueda realizar y recibir llamadas Wi-Fi.