ios - Parse API 1.6.4-no se puede compilar un proyecto
parse.com arm64 (11)
Descargué la nueva API Parse de iOS (1.6.4) e intenté compilar mi proyecto. Cuando lo hago, me sale este error:
Undefined symbols for architecture arm64" "_BFTaskMultipleExceptionsException", referenced from:
___53+[PFObject(Private) deleteAllAsync:withSessionToken:]_block_invoke214 in Parse(PFObject.o)
___65+[PFObject(Private) _deepSaveAsync:withCurrentUser:sessionToken:]_block_invoke311 in Parse(PFObject.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Captura de pantalla:
Colocación
NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";
en el delegado de aplicaciones como lo sugirió Sergey Surkov entre las importaciones y la implementación y luego agregando libstdc ++. 6.dylib en las fases de compilación funcionó para mí. Consulte también https://.com/a/27628797/1036945
EDIT2: FacebookSDK Update 3.23.2 resuelve este problema e incluye Pernos 1.1.4: https://developers.facebook.com/resources/facebook-ios-sdk-3.23.2.pkg
EDITAR: Suelte -ObjC "Otro marcador de vinculador" de su configuración de compilación.
Bolts.framework no es necesario con Parse si el SDK de Facebook está integrado.
A partir de Facebook iOS SDK 3.14 se incluye bolts.framework. https://developers.facebook.com/docs/ios/upgrading-3.x
Intenta eliminar tu instancia manual de bolts.framework.
He tenido exactamente el mismo problema al usar los últimos SDK de Parse (1.7.4) y Facebook (4.2.0). El problema se debe a la integración de Bolts.framework en los SDK de Parse y de Facebook. Por alguna razón, el marco Bolts en Parse es siempre más nuevo que el que se incluye en el SDK de Facebook.
Después de muchos, muchos intentos de instalar, eliminar y volver a instalar estos SDK, usando el método de arrastrar y soltar y mediante Cocoapods, finalmente logré superar este problema realizando los siguientes pasos:
- Eliminé completamente cualquier instancia de los marcos Parse, Facebook y Bolts de mi proyecto;
- Volví a agregar el marco de FBSDKCoreKit (y el ShareKit y LoginKit para las necesidades de mi proyecto) siguiendo los pasos en la página de desarrolladores de Facebook: https://developers.facebook.com/docs/ios/getting-started/ Asegúrese de NO para copiar los elementos a su proyecto.
Volví a agregar el marco Parse al proyecto usando el método de arrastrar y soltar. También agregué el marco ParseFacebookUtilsV4 porque lo necesitaba para crear usuarios a través del inicio de sesión de Facebook.
Este fue el paso más importante que resolvió todo: agregué el archivo Bolts.framework proporcionado por Parse arrastrándolo al proyecto, pero asegurándome de NO copiarlo en el proyecto (al igual que con el marco FBSDKCoreKit, deseleccioné la opción "Copiar elementos en la carpeta del grupo de destino. "opción. Si lo copia en la carpeta del proyecto, el proyecto no se construirá.
Estos pasos finalmente resolvieron todos mis problemas.
Intente descargar el último SDK y reemplazar todos los marcos de Parse con la última versión.
Pude averiguar la URL para cualquier persona que necesite Parse iOS v1.6.3.
https://parse.com/downloads/ios/parse-library/1.6.3
Puedo confirmar que todo se compila correctamente usando 1.6.3.
Sólo para poner el registro en orden.
El problema se debe a un conflicto con el marco de los Pernos entre los Pernos del SDK de Facebook y el de los Pernos de Parse. Una solución temporal para solucionar este problema es utilizar Cocoapods para su dependencia de SDK de Facebook, que le ayudará mientras se trabaja una solución.
Facebook ha reconocido el error y se lo ha asignado al equipo apropiado para que lo corrija.
Por favor, siga developers.facebook.com/bugs/383331175179417 para las actualizaciones.
Si está utilizando cocoapods, intente la pod update Bolts
Solución temporal para Parse 1.6.4 y Facebook SDK 3.23:
Agregue a su AppDelegate.m u otra clase la siguiente constante después de las importaciones y antes de la sección de implementación:
NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";
@interface IPAppDelegate ()
@end
@implementation IPAppDelegate
Debería resolver el problema hasta que se solucione en el lado de Parse / Facebook.
- Actualización: esta solución es solo para las versiones de Facebook y Parse SDK que se enumeran anteriormente y estas versiones en este momento están desactualizadas.
El nuevo Parse SDK 1.7.4 funciona correctamente con el nuevo Facebook SDK 4.0 y no debería haber ningún problema.
Tuve exactamente el mismo problema. Actualizar los Pernos a 1.1.4 lo resolvió por mí (Pernos era 1.1.3 antes).
Si usa cocoapods, cambie o agregue esta línea a su podfile
pod ''Bolts'', ''1.1.4''
Si no, simplemente descárguelo aquí: https://github.com/BoltsFramework/Bolts-iOS/releases
asegúrese de que el marco de sdk de Facebook y el marco de los pernos (incluidos con fb sdk) se importen a su proyecto.
obtuve un error similar ("... no es un dylib" y "Símbolos no definidos para la arquitectura") porque arrastré toda la carpeta de análisis ("parse-library-1.7.4-2") a mi proyecto de xcode, cuando debería He arrastrado solo los marcos que necesitaba ("Bolts.framework" y "Parse.framework"). eliminó la carpeta de análisis, arrastró sobre los dos marcos, entonces todo funciona como se esperaba :)