Open egorovsa opened 10 months ago
Мне почему то кажется что Xcode выпилил возможность динамически подключать этот фреймворк потому что он теперь доступен в XCODE. и добавляется через Линковку.
В динамическом подключении мне думается уже нет смысла.
Я так же добавил в юнити при билде автоматическое подключение этого фреймворвка, чтобы при каждом билде его не добавлять руками.
/Assets/Editor/XcodeSwiftVersionPostProcess.cs
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
public static class XcodeSwiftVersionPostProcess
{
[PostProcessBuild(999)]
public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
AddAppTrackingTransparency(path);
}
}
private static void AddAppTrackingTransparency(string path)
{
// Путь к папке проекта Xcode
string projPath = PBXProject.GetPBXProjectPath(path);
PBXProject proj = new PBXProject();
proj.ReadFromFile(projPath);
#if UNITY_2019_3_OR_NEWER
string targetGuid = proj.GetUnityMainTargetGuid();
#else
string targetGuid = proj.TargetGuidByName(PBXProject.GetUnityTargetName());
#endif
// Добавить фреймворк AppTrackingTransparency.framework
proj.AddFrameworkToProject(targetGuid, "AppTrackingTransparency.framework", false);
// Сохранить изменения в файле проекта
proj.WriteToFile(projPath);
}
}
Apple M1 Max Unity: 2021.3.32f1 Personal XCODE: Version 15.0.1 (15A507)
Не знаю по каким причинам, запрос к IDFA больше не показывается. Я перепробовал всё, и даже более старые версии Unity. Что-то мне подсказывает что, что-то поменялось в Xcode. Я начал смотреть и дебажить вашу реализацию запроса.
Вот она
/Assets/AppMetrica/Plugins/iOS/YMMBridge.m
и заметил что он не находит библиотеку при попытке динамической загрузки.
void *handle = dlopen("AppTrackingTransparency.framework/AppTrackingTransparency", RTLD_LAZY);
ну и дальше собственно ничего не происходит.Я решил временно для себя вопрос, руками добавил
#import <AppTrackingTransparency/AppTrackingTransparency.h>
его же добавил в xcode в UnityFramework -> General -> Framework and Libraries -> AppTrackingTransparency.frameworkв вашем коде убрал динамическую загрузку и все начинает работать .