Facebook-sdk-for-unity: 9.1.0 - Symbole non défini : _IOSFBEnableProfileUpdatesOnAccessTokenChange

Créé le 13 avr. 2021  ·  22Commentaires  ·  Source: facebook/facebook-sdk-for-unity

Liste de contrôle

Environnement

Décrivez votre environnement de développement ici, en donnant autant de détails que possible. Si vous en avez, assurez-vous d'inclure :

  • Version de l'éditeur Unity : 2020.1.17
  • Version du SDK Unity : 9.1.0
  • Plate-forme d'installation et version : [iOS] version X.X.X
  • XCode : 12.4 (version la plus élevée disponible dans Unity Cloud Build)

Buts

Que veux-tu accomplir?
Essayer de construire dans Unity Cloud Build et XCode local avec 9.1.0 FB SDK.

Résultats attendus

Qu'espérez-vous qu'il se passe ?
Pour que XCode soit construit avec succès après la mise à jour du SDK facebook unity.

Résultats actuels

Que s'est-il réellement passé ? Pouvez-vous fournir une trace de pile ?
50424 :  Lier UnityFramework
50425 :  ❌ ; Symboles non définis pour l'architecture arm64
50426 : ▸ > Symbole : _IOSFBEnableProfileUpdatesOnAccessTokenChange
50427 : ▸ > Référencé à partir de : _IOSWrapper_EnableProfileUpdatesOnAccessTokenChange_m7ADB5E4C2DE8D7EB448729C43F65D1FFECB5F0CC dans Facebook.Unity.IOS.o
50428 :  ❌ ; ld : symbole(s) introuvables pour l'architecture arm64
50439 :  ❌ ; clang : erreur : la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'appel)

Étapes pour reproduire

Quelles sont les étapes nécessaires pour reproduire ce problème ?
Ajoutez le SDK à Unity 2020.1.17f, effectuez une build IOS. Assurez-vous d'utiliser des cocopodes.

Exemples de code et détails

Veuillez fournir un exemple de code, ainsi que des détails supplémentaires, pour nous aider à identifier le problème. Si vous pouvez fournir un lien vers un projet de test qui nous permet de reproduire le problème, cela nous aide énormément en termes de vitesse et de qualité du correctif.

Remarque : N'oubliez pas de formater votre code pour plus de lisibilité :

// INSERT YOUR CODE HERE
bug

Commentaire le plus utile

Mettez le code suivant avant le } à la fin du fichier FBUnityInterface.mm situé dans FacebookSDK/SDK/Editor/iOS

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

Tous les 22 commentaires

Moi aussi.

Pour l'instant, vous pouvez commenter la ligne ci-dessous dans le fichier "Facebook.Unity.IOS.cpp"

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

pour le faire construire avec succès, mais ce n'est PAS la meilleure et la solution finale.
c'est une solution définitivement temporaire, quelqu'un a une meilleure réponse ?

Mettez le code suivant avant le } à la fin du fichier FBUnityInterface.mm situé dans FacebookSDK/SDK/Editor/iOS

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

Je vois la même erreur :

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)

Ma configuration :

Version de l'éditeur Unity : 2020.1.11
Version du SDK Unity : 9.1.0
Plate-forme et version d'installation : [iOS] version 14.4.2
XCode : 12.4

Je n'ai pas encore essayé les suggestions ci-dessus.

Pour l'instant, vous pouvez commenter la ligne ci-dessous dans le fichier "Facebook.Unity.IOS.cpp"

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

pour le faire construire avec succès, mais ce n'est PAS la meilleure et la solution finale.
c'est une solution définitivement temporaire, quelqu'un a une meilleure réponse ?

J'ai essayé cela et j'ai pu construire!

Pour l'instant, vous pouvez commenter la ligne ci-dessous dans le fichier "Facebook.Unity.IOS.cpp"
reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));
pour le faire construire avec succès, mais ce n'est PAS la meilleure et la solution finale.
c'est une solution définitivement temporaire, quelqu'un a une meilleure réponse ?

J'ai essayé cela et j'ai pu construire!

La solution de @firatagdas fonctionne pour moi aussi.

Il échoue également en utilisant Unity 2019.4.31

Il échoue également avec Unity 2020.1.16f1

semble échouer sur toutes les versions d'Unity, la solution @firatagdas fonctionne parfaitement, les versions l'utilisent pour compiler sans problème jusqu'à présent. Cela semble assez impressionnant, ils ont publié un SDK qui ne se compile même pas sur une plate-forme.

Désolé Facebook mais vous êtes des amateurs. Essayez-vous même de créer des projets en direct avec votre SDK ? Et le rapport de bogue est là pour 7 jours... Et le correctif ?

Abonné à la solution officielle.

@firatagdas , Sa solution a également fonctionné pour moi.

Des nouvelles de ce problème ? Je parviens à résoudre le problème avec la suggestion @ zhengwu119 , mais j'ai besoin d'un correctif pour pouvoir créer avec le cloud s'il vous plaît.

Mettez le code suivant avant le } à la fin du fichier FBUnityInterface.mm situé dans FacebookSDK/SDK/Editor/iOS

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

Merci. Cela m'a aidé.

La solution de @firatagdas a fonctionné pour moi avec 2019.4.24, merci @firatagdas 💯

un autre pour @firatagdas ici. SDK Facebook 9.1.0 avec Unity 2019.4.11f1. Bonnes choses mon pote

Merci à @firatagdas. La solution proposée (voir ci-dessous) fonctionne pour mon cas d'utilisation. L'équipe FB peut s'occuper de ce bug. On dirait que la solution est ici dans les commentaires, du moins pour certains cas d'utilisation. Le correctif semble être assez simple -> devrait être facile à publier.

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

Cela signifie qu'ils n'essaient même pas vraiment de créer pour iOS - mais oui, le correctif @firatagdas a également fonctionné pour moi. Je ne sais pas si je devrais me sentir suffisamment en sécurité pour le mettre sur notre prochaine version cependant...

Même problème avec Unity 2021.1.0f1 et Facebook 9.1.0

L'équipe du SDK Facebook devrait embaucher @firatagdas pour faire bouger les choses.

La solution

Cela devrait être corrigé dans la version 9.2.0 : https://developers.facebook.com/docs/unity/change-log

Cette page vous a été utile?
0 / 5 - 0 notes