Разработчик эмулятора Delta рассказал, что одно из ключевых ограничений в tvOS – это то, почему он не делает версию для Apple TV.
Apple TV не испытывает недостатка в играх, поскольку на ней работает сервис Apple Arcade, но онлайн-обсуждение разработчиков показало, что каждая игра и приложение на tvOS имеют ограничения по объёму доступной им памяти. Каждое из них имеет максимум 500 КБ, на которых можно сохранить всё, что необходимо, от оценок до сохранённых игр, а в случае эмуляторов – даже ROM-файлы игр.
Как пишет на Mastodon берлинский разработчик и автор книги о Swift Оле Бегеманн, больше 500 КБ сохранить можно, но с определённым риском.
Даже в руководстве Apple, на которое ссылается Бегеманн, 500 КБ названы «ограниченными». Всё, что сохраняется сверх этого лимита, может быть удалено самой tvOS в любой момент, когда на Apple TV 4K закончится свободное место.
В ответ на слова Бегеманна разработчик эмулятора Райли Тестут рассказал, что это ограничение мешает и ему.
«Отсутствие постоянного хранилища – это, честно говоря, одна из главных причин, почему я до сих пор не портировал Delta на Apple TV», – отметил он.
Эмулятор RetroArch доступен на Apple TV, но в дискуссии на игровом форуме Resetera, возникшей после сообщения Бегеманна, пользователи жалуются на то же самое ограничение. На Reddit советы новым пользователям по загрузке ROM-файлов в RetroArch включают использование кэша, но пока нет комментариев о том, что они могут быть стёрты операционной системой приставки.
В документации Apple объясняется, что данные, превышающие ограничение в 500 КБ, сохраняются в кэше, который не удаляется, пока игра или другое приложение работает.
«Однако, когда места мало и приложение не запускается, эти данные могут быть удалены», – говорится в документации.
У этого кэша тоже есть предел.
Он, а также весь код приложения и его ресурсы, такие как изображения и аудио, должны занимать максимум 4 ГБ – или даже чуть меньше.
«Не используйте всё пространство кэша, так как это может привести к непредсказуемым результатам», – предупреждает Apple.
Компания отмечает, что «ваше приложение может хранить и извлекать пользовательские данные в iCloud», и представляет это как решение. Но загрузка из iCloud происходит медленно, что усложняет работу приложения, поскольку ему приходится контролировать, хранятся ли его данные локально или нет.
Неназванный разработчик под ником Ezekiel в теме Mastodon утверждает, что именно эта проблема с хранением данных привела к завершению работы Minecraft для Apple TV. Игра вышла на Apple TV в 2016 году, но позже была снята с поддержки.
Ещё по теме: