iOS 10 / Xcode 8 GM build obteniendo lo siguiente, nunca lo había tenido antes en Xcode 7. ¿Alguna idea?
objc [25161]: la clase PLBuildVersion se implementa en ambas /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.azuntes de servicios y /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x1202 Uno de los dos será usado. Cuál no está definido.
(NOTA: solo parece suceder en el simulador, no aparece en el dispositivo real).
Respuestas:
Idea principal
La idea principal es simple:
Si su aplicación (o dependencias, como Pods) usa framework, que usa explícito (o implícito)
PhotoLibraryServices.framework
oAssetsLibraryServices.framework
como dependencia, Xcode le advierte (incluso si está usando solo uno de ellos). Puede serPhotos/PhotosUI.framework
uAssetsLibrary.framework
, u otro (no tengo una lista completa de dependencias, pero es posible).¿Cuál es el problema?
La clase con nombre
PLBuildVersion
se define en ambosPhotoLibraryServices.framework
yAssetsLibraryServices.framework
. El nombre de la clase es único en Objective-C (no puede definir 2 clases con el mismo nombre), por lo que no está definido cuál se usará en tiempo de ejecución.Sin embargo, creo que no será un problema, porque ambas clases tienen los mismos métodos y campos (lo comprobé con desensamblador) y supongo que ambos fueron compilados de la misma fuente.
El radar ya está enviado.
fuente
.attributedText
. No estoy accediendo a la cámara ni a las fotos. Esta advertencia también causa un retraso considerable para que se cargue el controlador de vista, a pesar de que no hay tareas que requieran mucho tiempo (sin acceso a la red, sin E / S de archivos, etc.).Según la respuesta del empleado de Apple en el Foro de desarrolladores de Apple :
fuente
No pude encontrar una manera de deshacerme de la advertencia, pero si desea evitar que la aplicación se bloquee, debe proporcionar una descripción de por qué está accediendo a la cámara, la biblioteca de fotos, etc. Esto es nuevo en iOS10.
Ingrese lo siguiente en su
Info.plist
archivo.Foto
Clave:
Privacy - Photo Library Usage Description
Valor:$(PRODUCT_NAME) photo use
Cámara
Clave:
Privacy - Camera Usage Description
Valor:$(PRODUCT_NAME) camera use
Puede encontrar más información aquí: https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html
fuente
info.plist
archivo. Aparentemente es necesario en iOS 10.xCreo que puede obtener este error simplemente usando un UIWebView. Mi solución fue reemplazar mi uso de UIWebView con WKWebView.
fuente
Tuve esto después de agregar Respuestas en Fabric a mi proyecto.
Eliminar datos derivados me sirvió. (shift alt comando k en XCode)
Editar un año después:
Después de eliminar los datos derivados, siempre salga de XCode e inícielo nuevamente.
En casos no relacionados, tengo la impresión de que eliminar datos derivados no borra los XCode's en la memoria caché de los datos derivados.
fuente
Restablecer el simulador de iOS me solucionó esto. Simulador -> Restablecer contenido y configuración.
fuente
En mi caso, esta advertencia comenzó a aparecer después de abrir un segundo proyecto xcode y ejecutar la segunda aplicación en el simulador. Después de volver a la primera aplicación, la advertencia comenzó a aparecer. Acabo de salir del Simulador y Xcode y reabrí mi proyecto. La advertencia desapareció después de eso. Si eso no lo resuelve, continúe con las otras respuestas. Xcode puede ser muy exigente a veces.
fuente