ios - community - parse swift
iOS FacebookSDK+Parse SDK+GoogleMaps SDK (2)
Así que Bolts Framework 1.1.3 funciona con Parse 1.6.3. Pero Parse 1.6.3 no se encontró en ninguna parte. Así que investigué un montón y entré en los archivos json de las vainas de cacao y obtuve el enlace directo para descargar Parse 1.6.3
o cualquier versión de cualquier marco para ese asunto. github.com/CocoaPods/Specs de las vainas de cacao es el repositorio a considerar.
Para todos los demás, que específicamente buscan Parse 1.6.3. Este es el enlace Simplemente encuentra el enlace de source
en el json y cópialo en tu navegador.
Estoy cerrando esta pregunta con la conclusión final:
Parse 1.6.3 y FacebookSDK 3.93 dependen de Bolts 1.1.3
Parse 1.6.4 se actualiza con Bolts 1.1.4 pero a partir de esta fecha facebook sdk isnt. Por lo tanto, tenemos que trabajar con Parse 1.6.3 hasta que facebook sdk se actualice con los tornillos 1.1.4
Busqué mucho y me di cuenta, -ObjC
flag que requiere GoogleMapSDK
, no funciona bien con ParseSDK
y FacebookSDK
. Así que leí todas las respuestas de stackoverflow y traté de resolver mi problema. El problema no está arreglado todavía
Pasos que realicé:
- Problema 1 : Parse no funciona con -ObjC
Solución 1 : Para que Parse funcione con
-ObjC
importe el FacebookSDK. HechoProblema 2 : Parse y Fb SDK usan
Bolts.framework
y el enlazador da errores deduplicate symbol
(algunos 92 de ellos)Solución 2 : elimine Bolts.framework ya que FacebookSDK ya viene incluido con él.
Problema 3 : Después de eliminar el marco Bolts., los errores duplicados desaparecen, pero hay un pequeño error de enlazador que no puedo descifrar. Supongo que han cambiado algo en la nueva versión del SDK. El error es el siguiente:
- Solución : ??
Símbolos indefinidos para la arquitectura x86_64: "_BFTaskMultipleExceptionsException", referenciado de: ___ 53+ [PFObject (Private) deleteAllAsync: withSessionToken:] _ block_invoke214 en Parse (PFObject.o) ___ 65+ [PFObject (Private) _deepSaveAsync: withCurrentUser: sessionToken:] _ block_invoke311 en Parse (PFObject .o) ld: símbolos no encontrados para la arquitectura x86_64 clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)
El mismo problema se planteó en los comentarios de [esta respuesta en SO] [1] sin ninguna respuesta o una respuesta constructiva.
PD: Una cosa que noté es que FacebookSDK viene incluido con Bolts versión 1.1.3
y Parse tiene una versión 1.1.4
en su archivo comprimido. ¿Esto está causando el problema? PPS Estoy usando las versiones más recientes de SDK a la fecha de hoy (19 de marzo de 2015)
Ellos son: - Parse SDK: 1.6.4 - GoogleMaps SDK: 1.9.2
Cuando salió el SDK de Google Maps para iOS, probé algunos métodos para atacar algunos errores del enlazador:
Google Maps SDK para iOS que intenta ejecutarse en iOS 4.3
Un truco que encontré para trabajar con los símbolos que faltan, fue redefinir nuevamente el símbolo que faltaba en mi código.
La cadena BFTaskMultipleExceptionsException
se define aquí así:
NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";
¿Entonces quizás solo trates de poner esa línea en tu código?
De la historia en github, parece que esto se acaba de agregar a Bolts hace unos 19 días. La versión 1.1.4 de Bolts fue lanzada hace 14 días (1.1.3 era de octubre del año pasado). Por lo tanto, es probable que esté causada por la discrepancia de versiones de Bolts que ha notado.
Otra opción podría ser obtener una versión anterior de Parse antes de lanzar Bolts 1.1.4.
Presumiblemente, esto se solucionará una vez que esté disponible un nuevo SDK de Facebook con Bolts 1.1.4.