Релизный билд падает на разборе серверного конфига, а в редакторе всё работает
Игра получает с сервера конфиг и разбирает его в модели через библиотеку сериализации, которая создаёт объекты по описанию типа. В редакторе и в отладочной сборке всё работает. В релизной сборке под Android при разборе того же ответа приложение падает или получает объект с пустыми полями. Сеть в порядке, тело ответа в логе корректное. Что это за класс проблем?
- В релизной сборке вырезается код, не видимый статическому анализу: типы, используемые только через описание типа, надо защитить от вырезания
- Разошлись версии библиотеки сериализации между редактором и устройством: в билд попала старая сборка, которая не понимает новых полей конфига
- На устройстве нет прав на запись файлов: конфиг не удаётся сохранить в локальное хранилище, и разбор идёт по пустому файлу вместо ответа сервера
- Достаточно понизить уровень оптимизации компилятора C# в настройках проекта: агрессивная оптимизация переставляет присваивания полей модели
