У меня есть два толстых фреймворка с двумя слайсами в каждом (arm64 и x86_64): MyDbEngine.framework и MyDbClient.framework. Каждая структура содержит одни и те же функции точки входа: MyDbConfigure(), MyDbInit() и MyDbDeInit(). Я пытаюсь выяснить, как добавить ОБА этих фреймворков в проект приложения Xamarin.iOS для iOS, чтобы приложение устанавливало обе фреймворки, но когда я вызываю точку входа, это нужно делать в определенной фреймворке (MyDbClient.framework в этот случай). Кажется, я не могу понять, как это сделать, потому что DllImport на iOS заставляет использовать __Internal
, а не указывать конкретную платформу для загрузки.
Например, в моем проекте приложения Xamarin.Android я могу добавить эквиваленты файлов отдельных динамически связанных общих объектов (.so) для моих фреймворков (MyDbEngine.so и MyDbClient.so) в соответствующие \lib\arm64-v8a\ или \lib \x86_64\, а затем укажите [DllImport(libZenDb, EntryPoint = "ZenDbConfigure")]
, чтобы явно загрузить точку входа из MyDbClient.so.
Есть ли способ сделать это в Xamarin.iOS?