xcode - descargar - La clase PLBuildVersion se implementa en ambos marcos
xcode download (7)
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 ambos /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.az10eservicios 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).
Idea principal
La idea principal es simple:
Si su aplicación (o dependencias, como Pods) usa framework, que usa
PhotoLibraryServices.framework
o
AssetsLibraryServices.framework
explícito (o implícito) como dependencia, Xcode le advierte (incluso si está usando solo uno de ellos).
Puede ser
Photos/PhotosUI.framework
o
AssetsLibrary.framework
u otro (no tengo una lista completa de dependencias, pero es posible).
¿Cuál es el problema?
La clase con el nombre
PLBuildVersion
se define en
PhotoLibraryServices.framework
y
AssetsLibraryServices.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.
Radar ya está enviado.
Creo que puede obtener este error simplemente usando UIWebView. Mi solución fue reemplazar mi uso de UIWebView con WKWebView.
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.
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 archivo
Info.plist
.
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
Restablecer el simulador de iOS me solucionó esto. Simulador -> Restablecer contenido y configuración.
Según la respuesta del empleado de Apple en el Foro de desarrolladores de Apple :
Usted no controla ninguna de las fuentes de clase enumeradas, por lo que no hay nada que pueda o deba hacer, aparte de Informar un error.
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 y vuelva a iniciarlo.
En casos no relacionados, tengo la impresión de que eliminar datos derivados no borra los XCode en la memoria caché de los datos derivados.