Facebook-sdk-for-unity: 9.1.0 - Símbolo no definido: _IOSFBEnableProfileUpdatesOnAccessTokenChange

Creado en 13 abr. 2021  ·  22Comentarios  ·  Fuente: facebook/facebook-sdk-for-unity

Lista de Verificación

Medio ambiente

Describe aquí tu entorno de desarrollo, dando tantos detalles como sea posible. Si los tiene, asegúrese de incluir:

  • Versión del editor de Unity: 2020.1.17
  • Versión del SDK de Unity: 9.1.0
  • Plataforma de instalación y versión: [iOS] versión X.X.X
  • XCode: 12.4 (versión más alta disponible en Unity Cloud Build)

Metas

¿Qué quieres lograr?
Intentando construir en Unity Cloud Build y XCode local con 9.1.0 FB SDK.

Resultados previstos

¿Qué esperas que pase?
Para que XCode se compile correctamente después de actualizar el SDK de la unidad de Facebook.

Resultados actuales

¿Lo que realmente pasó? ¿Puede proporcionar un seguimiento de la pila?
50424: ▸ Vinculación de UnityFramework
50425: ▸ ❌; Símbolos indefinidos para arquitectura arm64
50426: ▸> Símbolo: _IOSFBEnableProfileUpdatesOnAccessTokenChange
50427: ▸> Referenciado desde: _IOSWrapper_EnableProfileUpdatesOnAccessTokenChange_m7ADB5E4C2DE8D7EB448729C43F65D1FFECB5F0CC en Facebook.Unity.IOS.o
50428: ▸ ❌; ld: símbolo (s) no encontrado para la arquitectura arm64
50439: ▸ ❌; clang: error: el comando del vinculador falló con el código de salida 1 (use -v para ver la invocación)

Pasos para reproducir

¿Cuáles son los pasos necesarios para reproducir este problema?
Agregue el SDK a Unity 2020.1.17f, realice una compilación de IOS. Asegúrate de usar cocoapods.

Muestras de código y detalles

Proporcione un ejemplo de código, así como detalles adicionales, para ayudarnos a localizar el problema. Si puede proporcionar un enlace a un proyecto de prueba que nos permita reproducir el problema, esto nos ayudará enormemente tanto en la velocidad como en la calidad de la solución.

Nota: Recuerde formatear su código para facilitar la lectura:

// INSERT YOUR CODE HERE
bug

Comentario más útil

Coloque el siguiente código antes de } al final del archivo FBUnityInterface.mm ubicado en FacebookSDK / SDK / Editor / iOS

  void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable)
  {
    [[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable];
  }

Todos 22 comentarios

Yo también.

Por ahora, puede comentar la línea a continuación en el archivo "Facebook.Unity.IOS.cpp"

reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));

para que se compile con éxito, pero NO es la mejor y última solución.
es una solución definitivamente temporal, ¿alguien tiene una mejor respuesta?

Coloque el siguiente código antes de } al final del archivo FBUnityInterface.mm ubicado en FacebookSDK / SDK / Editor / iOS

  void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable)
  {
    [[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable];
  }

Veo el mismo error:

Undefined symbols for architecture arm64: "_IOSFBEnableProfileUpdatesOnAccessTokenChange", referenced from: _IOSWrapper_EnableProfileUpdatesOnAccessTokenChange_m7ADB5E4C2DE8D7EB448729C43F65D1FFECB5F0CC in Facebook.Unity.IOS.o _IOSWrapper_IOSFBEnableProfileUpdatesOnAccessTokenChange_m7E35B38EDDDF18DE2B0B960DA8269D277C8FBCAB in Facebook.Unity.IOS.o (maybe you meant: _IOSWrapper_IOSFBEnableProfileUpdatesOnAccessTokenChange_m7E35B38EDDDF18DE2B0B960DA8269D277C8FBCAB) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Mi configuración:

Versión del editor de Unity: 2020.1.11
Versión del SDK de Unity: 9.1.0
Plataforma de instalación y versión: [iOS] versión 14.4.2
XCode: 12.4

Todavía no he probado las sugerencias anteriores.

Por ahora, puede comentar la línea a continuación en el archivo "Facebook.Unity.IOS.cpp"

reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));

para que se compile con éxito, pero NO es la mejor y última solución.
es una solución definitivamente temporal, ¿alguien tiene una mejor respuesta?

¡Probé esto y pude construir!

Por ahora, puede comentar la línea a continuación en el archivo "Facebook.Unity.IOS.cpp"
reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));
para que se compile con éxito, pero NO es la mejor y última solución.
es una solución definitivamente temporal, ¿alguien tiene una mejor respuesta?

¡Probé esto y pude construir!

La solución de @firatagdas también me funciona.

También falla al usar Unity 2019.4.31

También falla al usar Unity 2020.1.16f1

parece fallar en todas y cada una de las versiones de Unity, la solución @firatagdas funciona perfectamente, se compila con eso para compilar sin problemas hasta ahora. Parece bastante impresionante que lanzaron un sdk que ni siquiera se compila en una plataforma.

Lo siento Facebook pero sois aficionados. ¿Estás intentando crear proyectos en vivo con tu SDK? Y el informe de errores está aquí durante 7 días ... ¿Qué pasa con la revisión?

Suscrito para solución oficial.

@firatagdas , Su solución también funcionó para mí.

¿Alguna noticia sobre este tema? Me las arreglé para solucionarlo con la sugerencia de @ zhengwu119 , pero necesito una solución para poder construir con la compilación en la nube, por favor.

Coloque el siguiente código antes de } al final del archivo FBUnityInterface.mm ubicado en FacebookSDK / SDK / Editor / iOS

  void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable)
  {
    [[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable];
  }

Gracias. Me ha ayudado.

@firatagdas 's solución funcionó para mí con 04.24.2019, gracias a que @firatagdas 💯

otro para @firatagdas aquí. SDK de Facebook 9.1.0 con Unity 2019.4.11f1. Cosas buenas mi amigo

Gracias a @firatagdas. La solución propuesta (ver más abajo) funciona para mi caso de uso. El equipo de FB puede encargarse de este error. Parece que la solución está aquí en los comentarios, al menos para algunos casos de uso. La solución parece ser bastante simple -> debería ser fácil de liberar la corrección de errores.

void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable)
  {
    [[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable];
  }

Esto significa que en realidad ni siquiera intentan compilar para iOS, pero sí, la corrección de @firatagdas también funcionó para mí. Sin embargo, no estoy seguro de si debería sentirme lo suficientemente seguro como para poner esto en nuestro próximo lanzamiento ...

El mismo problema con Unity 2021.1.0f1 y Facebook 9.1.0

El equipo del SDK de Facebook debería contratar a @firatagdas para que las cosas se muevan.

La solución

Esto debería arreglarse en v9.2.0: https://developers.facebook.com/docs/unity/change-log

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

michelleran picture michelleran  ·  6Comentarios

edscodeblenders picture edscodeblenders  ·  4Comentarios

charanjeet5ingh picture charanjeet5ingh  ·  6Comentarios

MorganMoon picture MorganMoon  ·  7Comentarios

1901 picture 1901  ·  6Comentarios