Опишите здесь свою среду разработки, предоставив как можно больше подробностей. Если они у вас есть, обязательно включите:
2018.4.26f1
7.21.2
11.6
iPad4,4
running [iOS]
version 11.3.1
Без падений
Вылет игры при запуске:
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
Та же сборка работает нормально на устройстве с iOS 12.4.4
и 13.6
Просто сделайте простую сборку, используя указанную версию
Это легко воспроизвести с помощью симулятора iOS :(
Я использую следующий сценарий пост-сборки в качестве обходного пути, чтобы избежать сбоев на 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());
}
}
После того, как потребовалось много часов и много попыток, я нашел способ решить эту проблему. Надеюсь, это тебе тоже поможет.
Добавьте это в свой PostProcessBuild:
// Fixed Facebook SDK 7.21.2 issue for iOS < 12.2
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");
У меня была такая же проблема с ios <12.2, и я нашел такое же решение с LD_RUNPATH_SEARCH_PATHS в дополнение к ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES.
Было бы здорово добавить явную документацию, которая требуется, если игра поддерживает более старые версии ОС в основной документации и в журнале изменений.
Я также испытываю "сбой приложения при запуске" с моей игрой Unity, но на моем iPhone XS установлена iOS 13.6.1.
Единство 2019.4.9f1
Facebook SDK 7.21.2
iOS 13.6.1
=> Авария
Перед обновлением до FBSDK 7.21.2 в проекте была FBSDK 7.19.0, и игра работала без сбоев.
Я пытался:
project.SetBuildProperty (targetId, «ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES», «ДА»);
project.AddBuildProperty (targetGuid, «LD_RUNPATH_SEARCH_PATHS», «$ (унаследовано) @ исполняемый_путь / Frameworks»);
но получил эту ошибку при загрузке:
ОШИБКА ITMS-90206: «Недопустимый пакет. Пакет по адресу 'xxxxx.app/Frameworks/UnityFramework.framework' содержит запрещенный файл 'Frameworks'».
Статус возврата iTunes Transporter был 1: ОШИБКА ITMS-90206: «Недопустимый пакет. Пакет на 'xxxxx.app/Frameworks/UnityFramework.framework' содержит запрещенный файл 'Frameworks'».
Я предполагаю, что ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES вызывает эту ошибку для Unity 2019.4.9f1, потому что, когда я удалил вторую строку (LD_RUNPATH_SEARCH_PATHS) и перестроил, я все еще получил ту же ошибку Invalid Bundle.
В настоящее время мне нужно вернуться к FBSDK 7.19.0 и больше никаких сбоев.
У меня была такая же проблема с FBSDK 8.1.0.
ios 11 <= сбой после обновления FBSDK с 7.18.1
Я также испытываю "сбой приложения при запуске" с моей игрой Unity, но на моем iPhone XS установлена iOS 13.6.1.
Единство 2019.4.9f1
Facebook SDK 7.21.2
iOS 13.6.1=> Авария
Перед обновлением до FBSDK 7.21.2 в проекте была FBSDK 7.19.0, и игра работала без сбоев.
Я пытался:
project.SetBuildProperty (targetId, «ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES», «ДА»);
project.AddBuildProperty (targetGuid, «LD_RUNPATH_SEARCH_PATHS», «$ (унаследовано) @ исполняемый_путь / Frameworks»);но получил эту ошибку при загрузке:
ОШИБКА ITMS-90206: «Недопустимый пакет. Пакет по адресу 'xxxxx.app/Frameworks/UnityFramework.framework' содержит запрещенный файл 'Frameworks'».
Статус возврата iTunes Transporter был 1: ОШИБКА ITMS-90206: «Недопустимый пакет. Пакет на 'xxxxx.app/Frameworks/UnityFramework.framework' содержит запрещенный файл 'Frameworks'».Я предполагаю, что ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES вызывает эту ошибку для Unity 2019.4.9f1, потому что, когда я удалил вторую строку (LD_RUNPATH_SEARCH_PATHS) и перестроил, я все еще получил ту же ошибку Invalid Bundle.
В настоящее время мне нужно вернуться к FBSDK 7.19.0 и больше никаких сбоев.
У меня также есть
Return status of iTunes Transporter was 1: ERROR ITMS-90206: "Invalid Bundle. The bundle at 'xxxxx.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'."
чтобы решить эту проблему, я просто удалил свой текущий архив и повторно заархивировал его, затем он принял
Я нашел рабочую форму, пожалуйста, проверьте эту ссылку:
https://github.com/facebook/facebook-sdk-for-unity/issues/193#issuecomment -754953304
Самый полезный комментарий
После того, как потребовалось много часов и много попыток, я нашел способ решить эту проблему. Надеюсь, это тебе тоже поможет.
Добавьте это в свой PostProcessBuild: