Комментарии 25
Что за нелепые отмазки? Проблема в юристах нинтендо.
А почему тогда нельзя транслировать инструкции PowerPC в ARM заранее?
Я вначале тоже не понял, но, возможно, имеется в виду, что это только эмулятор, не включающий игры. Игры нужно загружать отдельно, и как раз предобработка игр перед запуском и является JIT-компиляцией. То есть разработчики эмулятора не могут сделать этого заранее, т.к. у них нет образов, которые пользователь будет использовать, а пользователю в приложении это не даст сделать Apple.
Возможно, в этом случае они могли бы выпустить приложение-компаньон для компьютера, которое выполняет компиляцию, а потом обработанный образ закидывать в эмулятор. Но, возможно, Apple и тут была бы против.
А почему тогда нельзя транслировать инструкции PowerPC в ARM заранее?
А это тоже запрещено - подгрузка файлов с кодом.
Весь код приложения должен быть доступен модераторам при проверке приложения в момент публикации.
А как тогда другие эмуляторы работают, образы игр в них же не защиты
Эмуляторы были долгое время запрещены.
Из-за открытия альт-сторов в Европе, Apple ничего не оставалось сделать, как разрешить эмуляторы, иначе большой риск, что пользователи перетекут в альт-сторы. И опять же, не любые эмуляторы, а только "игр от ретро-консолей". То есть, DOSBox всё ещё под запретом.
Вообще странно потому что я работал в компании которая писала мобильные приложения на angular (это js фреймворк), там по сути запускался webview в котором открывалась html страница, а весь код SPA приложения подгружался с бэкенда. Проблем с публикацией приложений в appstore небыло
Это был просто angular или angular ionic?
Значит, это недоработка модераторов.
Пункт 2.5.2 App Review Guidelines это явно запрещает.
Webview можно, потому что это сафари. Сафари - единственный, кому можно JIT. Поэтому все остальные браузеры под IOS - это просто скины над тем же webview.
Собака порылась глубже. Недавно поверхностно интересовался выживанием диалектов LISP, с крайним удивлением обнаружил что диалект Scheme от MIT не работает и не собирается работать на Маке с М процессором по той же причине.
И я не понимаю зачем и от кого тут прятаться за пустыми словами о «приложениях использующих JIT» когда у мерзости есть название - W^X политика. И технически это шире чем JIT.
Обходится пока как минимум двумя способами - можно каждую игру оформить как отдельное приложение и поместить а магазин, а можно как a-Shell, вроде сбежавшая из региона Россия, выполняет С код - транслирует его в Web Assembly и потом через WASI, хотя возможно именно это и имели в виду говоря «без JIT».
О каком-то мешке вокруг шила в виде «безопасности» думать конечно глупо, а за масштаб вовлечённых сил говорит история Linux on DeX. Самсунг и Гугол были лучшими друзьями и не упускали случая украсить высочайшим присутствием презентации друг друга, однако бегом забыли о Linux on DeX, который точно не мог не быть совместным проектом, в угоду W^X политике. При этом Гугол потерял (последний) шанс вырваться со смартфонов, а Самсунг стал смешон в своих потугах против Эппл вплоть до выхода раскладушек.
Конспирология
Микрософт потому и бежала с мобилок как побитая собака, что знала о неизбежности W^X политики в устройствах для плебса и не хотела в этом участвовать.
Не знал, что на десктопных маках настолько закручены гайки.
А root-доступа у пользователя нет?
А если каждый кусок jit-кода помещать в отдельный DLL (в .so)? Понятно, что это несколько кривовато и придётся сильно переписать интерпретатор LISP, но если очень нужно, это выход?
Конспирология
Да Microsoft спит и видит, как бы на Windows позакручивать гайки по образу и подобие систем конкурентов. То TPM становится обязательным требованием к платформе, то облачный аккаунт обязательным при первой установке системы. Магазин постепенно продвигают, так что даже Valve испугался и начал пилить альтернативную ОС, на случай если Steam запретят на Windows.
"Пилить альтернативную ОС" - как-то очень сильно сказано. Дериватив Арча с враппером (Proton) для запуска вынь-игр, с не сказать чтобы выдающейся совместимостью (намедни купил для Дэка Arkanum, а он после генерации персонажа просто висит. Да и интерфейс генерации тормозит просто безбожно).
Arkanum
Если речь про Arcanum: Of Steamworks and Magick Obscura, то может это не Proton виноват. Её без фан-патчей и на современной Windows не запустить.
Тогда её должны убрать из магазина. А то получается, игру продают за деньги, а она гарантированно не работает? (Поддержка Windows 7/8, а уж тем более XP, в Steam прекращена)
Убрать-то можно, но получится очередной abandonware, файлы которого придётся по всему интернету искать.
Официальная поддержка игры закончилась ещё в 2001, Troika Games закрылась в 2005, а Activision точно ничего патчить не будет.
Насколько я понимаю, с технической точки зрения там вся игра сделана из говна и палок. Даже версию с GOG надо патчить руками.
Ну пока что всё это элементарно обходится в один-два не очень секретных тыка. Выглядит больше как сортировка хомячков по удобным стойлам.
А как же Java с ее JIT-компиляцией?
Разработчики DolphiniOS объяснили, почему эмулятора GameCube и Wii не будет в App Store