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) sisetExposureModeCustomWithDuration: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. EEE
ABPeoplePickerNavigationController.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 laURLForDirectory:inDomain:appropriateForURL:create:error:
método de laNSFileManager
clase. 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:
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.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 volvernil
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 correspondienteNCUpdateResult
. Los widgets NO deberían bloquear el regreso desdeviewWillAppear:
sobre los resultados de esta operación. En cambio, los widgets deberían cargar el estado en caché enviewWillAppear:
para que coincida con el estado de la vista desde la últimaviewWillDisappear:
y luego realice la transición sin problemas a los nuevos datos cuando lleguen.NSURLSesión
Note
La
NSURLSessionTask
La clase proporciona una nueva propiedad de "prioridad" con tres constantes asociadas:NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
yNSURLSessionTaskPriorityHigh
.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 deNSURLSessionTask
rendimiento.Para obtener detalles completos sobre el uso de
NSURLSessionTask
prioridades, consulte laNSURLSession.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:
Conecte el dispositivo a través de USB a su Mac
Lanzar Xcode
Elija Ventana -> Dispositivos
Haga clic derecho en el dispositivo en la columna de la izquierda, elija "Mostrar perfiles de aprovisionamiento"
Haga clic en el perfil de aprovisionamiento en cuestión
Presiona el botón
Continúe eliminando todos los perfiles afectados.
Reinstala la aplicación
kit de interfaz de usuario
Notas
UILabel
tiene un valor predeterminado de SÍ paraclipsToBounds
. Esto difiere de lo normal.UIView
defecto de NO.La
leftLayoutGuide
yrightLayoutGuide
Se han eliminado las API. Por favor use ellayoutMargins
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.