Décrivez votre environnement de développement ici, en donnant autant de détails que possible. Si vous en avez, assurez-vous d'inclure :
2018.4.26f1
7.21.2
11.6
iPad4,4
cours d'exécution [iOS]
version 11.3.1
Pas de crash
Crash du jeu au lancement :
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /var/containers/Bundle/Application/6A540FA0-A178-4762-BE4D-1A32AC021D5C/XX.app/XX
Reason: image not found
La même version fonctionne correctement sur l'appareil avec iOS 12.4.4
et 13.6
Il suffit de faire une construction simple en utilisant la version spécifiée
C'est aussi facilement reproductible avec le simulateur iOS :(
J'utilise le script de post-construction suivant comme solution de contournement pour ne pas planter sur iOS 11 :
public class FacebookCrashIOS11 : ScriptableObject
{
[PostProcessBuild]
public static void OnPostProcess(BuildTarget buildTarget, string buildPath)
{
// Only for iOS
if (buildTarget != BuildTarget.iOS)
{
return;
}
string projectPath = PBXProject.GetPBXProjectPath(buildPath);
PBXProject project = new PBXProject();
// Read.
project.ReadFromString(File.ReadAllText(projectPath));
string targetGUID = project.GetUnityMainTargetGuid();
project.SetBuildProperty(targetGUID, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES"); // Facebook 7.21.2 crashed on iOS 11.0 without this line
// Write.
File.WriteAllText(projectPath, project.WriteToString());
}
}
Après avoir pris plusieurs heures et essayé plusieurs fois, j'ai trouvé un moyen de résoudre ce problème. J'espère que cela vous aide aussi.
Ajoutez ceci à votre PostProcessBuild :
// Fixed Facebook SDK 7.21.2 issue for iOS < 12.2
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");
J'ai eu le même problème avec ios < 12.2 et j'ai trouvé la même solution de contournement avec LD_RUNPATH_SEARCH_PATHS en plus de ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES.
Ce serait formidable d'ajouter une documentation explicite indiquant que celles-ci sont nécessaires si un jeu prend en charge les anciennes versions du système d'exploitation dans la documentation principale et dans le journal des modifications.
Je rencontre également ce "crash de l'application au lancement" avec mon jeu Unity, mais mon iPhone XS a iOS 13.6.1
Unité 2019.4.9f1
SDK Facebook 7.21.2
iOS 13.6.1
=> Crash
Avant la mise à niveau vers FBSDK 7.21.2, le projet avait FBSDK 7.19.0 et le jeu fonctionnait sans plantage.
J'ai essayé:
project.SetBuildProperty(targetId, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");
mais j'ai cette erreur lors du téléchargement :
ERREUR ITMS-90206 : « Bundle non valide. Le bundle de 'xxxxx.app/Frameworks/UnityFramework.framework' contient le fichier 'Frameworks' non autorisé."
Le statut de retour d'iTunes Transporter était 1 : ERREUR ITMS-90206 : « Bundle non valide.
Je suppose que ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES provoque cette erreur pour Unity 2019.4.9f1 car lorsque j'ai supprimé la deuxième ligne (LD_RUNPATH_SEARCH_PATHS) et reconstruit, j'ai toujours eu la même erreur de paquet non valide.
Actuellement, je dois revenir à FBSDK 7.19.0 et plus aucun plantage.
J'ai eu le même problème avec FBSDK 8.1.0 aussi.
ios 11 <= crash après la mise à niveau de FBSDK à partir de 7.18.1
Je rencontre également ce "crash de l'application au lancement" avec mon jeu Unity, mais mon iPhone XS a iOS 13.6.1
Unité 2019.4.9f1
SDK Facebook 7.21.2
iOS 13.6.1=> Crash
Avant la mise à niveau vers FBSDK 7.21.2, le projet avait FBSDK 7.19.0 et le jeu fonctionnait sans plantage.
J'ai essayé:
project.SetBuildProperty(targetId, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");mais j'ai cette erreur lors du téléchargement :
ERREUR ITMS-90206 : « Bundle non valide. Le bundle de 'xxxxx.app/Frameworks/UnityFramework.framework' contient le fichier 'Frameworks' non autorisé."
Le statut de retour d'iTunes Transporter était 1 : ERREUR ITMS-90206 : « Bundle non valide.Je suppose que ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES provoque cette erreur pour Unity 2019.4.9f1 car lorsque j'ai supprimé la deuxième ligne (LD_RUNPATH_SEARCH_PATHS) et reconstruit, j'ai toujours eu la même erreur de paquet non valide.
Actuellement, je dois revenir à FBSDK 7.19.0 et plus aucun plantage.
j'ai aussi
Return status of iTunes Transporter was 1: ERROR ITMS-90206: "Invalid Bundle. The bundle at 'xxxxx.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'."
pour le résoudre, je viens de supprimer mon archive actuelle et de la réarchiver, puis elle a accepté
J'ai trouvé un formulaire de travail s'il vous plaît vérifier ce lien:
https://github.com/facebook/facebook-sdk-for-unity/issues/193#issuecomment -754953304
Commentaire le plus utile
Après avoir pris plusieurs heures et essayé plusieurs fois, j'ai trouvé un moyen de résoudre ce problème. J'espère que cela vous aide aussi.
Ajoutez ceci à votre PostProcessBuild :