Выполнение Unix / произвольных команд на iOS - PullRequest
2 голосов
/ 26 апреля 2019

Это не для производственного приложения - я просто играю для удовольствия (на устройстве, а не на симуляторе).

Есть ли какой-нибудь механизм для выполнения произвольных двоичных файлов на iOS? Скажи, ls.

Я пробовал posix_spawn(), но он всегда возвращает статус 1.

system() даже не компилируется, происходит сбой: 'system' is unavailable: not available on iOS

fork() аналогичным образом не допускается

Я понимаю, что это длинный план, но у меня есть пара (локальных / личных) проектов, которые написаны как предварительно скомпилированные двоичные файлы ARM, и я бы хотел, чтобы они были доступны на моем iPad. (Плюс это просто забавный эксперимент.)

Sidenote: Я годами не взломал устройство iOS и надеюсь избежать этого - если вышеперечисленное невозможно для стандартной iOS, я просто вздохну и продолжу.

1 Ответ

2 голосов
/ 30 апреля 2019

Существует проект под названием Оболочка Linux для iOS на GitHub для запуска оболочки Linux на iOS с использованием эмуляции usermode x86 и перевода syscall.

Для создания проекта вам понадобятся следующие вещи:

  • Python 3
  • ниндзя
  • Пряжа (только при сборкедля iOS)
  • Meson (pip install meson)
  • Clang и LLD (на mac, brew установить llvm, на linux, sudo apt установить clang lld или sudo pacman -S clang lld или любой другой)
  • sqlite3 (это так часто встречается, что он уже может быть установлен на Linux и определенно уже установлен на Mac. Если нет, сделайте что-то вроде sudo apt install libsqlite3-dev)

Я нашел эту ссылку на GitHub в этом сообщении.

PS Я рад, что он работает.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...