diff --git a/personal/how-to/ipad-ios935-build-deploy.md b/personal/how-to/ipad-ios935-build-deploy.md index 92e6bcd3..aae40d4c 100644 --- a/personal/how-to/ipad-ios935-build-deploy.md +++ b/personal/how-to/ipad-ios935-build-deploy.md @@ -6,7 +6,7 @@ tags: [ipad, ios, markdown, virfield, build, deploy] --- # iPad iOS 9.3.5 — сборка редакторов, fake sign и деплой -Запрос: checkout найденных открытых редакторов в `~/Developer`, сборка на Virfield/Monterey, fake sign и установка на физический iPad. **Notepad Example и официальный iVim 1.40 собраны, fake-signed, установлены и запущены на iOS 9.3.5; экраны приложений проверены.** Edhita и GitJournal пока не собраны; их dependency preparation прервана блокировкой новой Virfield lease (`vm_drift`). Fork holzschu дополнительно требует 32-bit rebuild зависимостей. Проверенный SSH-доступ к iPad настроен 2026-10-15 через `ssh-copy-id` после явного указания пользователем пароля. +Запрос: checkout найденных открытых редакторов в `~/Developer`, сборка на Virfield/Monterey, fake sign и установка на физический iPad. **Edhita, Notepad Example и официальный iVim 1.40 собраны, fake-signed, установлены и запущены на iOS 9.3.5; экраны приложений проверены.** GitJournal ещё собирается после исправления несовместимых исторических зависимостей. Fork holzschu требует 32-bit rebuild зависимостей. Проверенный SSH-доступ к iPad настроен 2026-10-15 через `ssh-copy-id` после явного указания пользователем пароля. Второй Virfield worker восстановлен после отдельно разрешённого recovery; третий Monterey worker ready. ## Устройство и доступ @@ -97,6 +97,8 @@ Fake signer source: [ProcursusTeam/ldid](https://github.com/ProcursusTeam/ldid/t На Mac `~/scripts/sync-vault.sh` уже запускается `launchd` `com.sync-vault` каждые 300 секунд; текущий daemon state подтверждает StartInterval. Remote скрипта — `nas`, не GitHub. Редактирование серверных .md через SFTP может использовать этот существующий синк; прямому iPad GitJournal/Working Copy потребуется собственный remote. Обычный iOS-app sandbox не даёт cron для Bash/Git; на jailbroken устройстве daemon/launchd и системные Git/Bash требуют отдельной настройки. Запрос на cron пока был исследовательским: существующие расписания не менялись. +Read-only проверка после вопроса пользователя 2026-10-15: iPad уже имеет `/bin/bash` (4.0.x), `/bin/sh`, `/bin/launchctl`, `/usr/bin/ssh`, dpkg. **Git, cron/crontab, basename, head и tr отсутствуют** в штатном PATH; date/sed/mkdir доступны. Поэтому собственный скрипт синка возможен, но Mac wrapper/library нельзя просто скопировать и объявить работающим: нужны совместимый armv7 Git и недостающие core utilities либо их замена в скрипте. Расписание можно сделать launchd, как на Mac. Vault нужно хранить в директории, которую открывает выбранный редактор (например его Documents), запускать синк с согласованными permissions/mobile user и отдельным клиентским SSH key к remote. Mac→iPad key, установленный выше, не является ключом iPad→NAS/GitHub. Планировщик, пакеты Git и реальный vault на iPad в этой сессии ещё не настраивались; вопрос был о возможности, не отдельным поручением менять синк. + См. также [[personal/how-to/old-ipad-ios935-ipa-sources]], [[family/how-to/vault-git-sync]]. ## Исторический checkpoint 2026-10-14 22:40 Asia/Bishkek @@ -137,6 +139,7 @@ Output directory должен быть новым: helper отказывает |---|---|---| | Notepad Example | `packages/Notepad-20261014/Example.ipa`; `835431ecb821d996b932e523fe32188f21b82fecab4808a6536a0fe0975c4748` | `com.ruddfawcett.Example`, minimum 9.3; USB install Complete / exit 0; process 3355, UI с Markdown test document виден на screenshot | | iVim 1.40 | `packages/iVim-upstream-20261014/iVim.ipa`; `e2b67b451b11defb30fd8ba1d64a5f3e898a3010be14c3f451f41dfe12b6c777` | `com.terrychou.ivim`, minimum 9.3; USB install Complete / exit 0; process 3366, Vim welcome screen и клавиатура видны на screenshot | +| Edhita 2.3.0 | `packages/edhita-20261015/Edhita.ipa`; `f354872cc0e4596dca82903f0741ccf0204242befd3400e54fabcc1ef09a8aea` | `com.bornneet.Edhita`, minimum 9.3; USB install Complete / exit 0; detached debug launch exit 0, UI с Documents browser/Editor/Browser/Dual виден на screenshot | Установлен `ideviceinstaller` 1.2.0. До install отсутствие обоих bundle IDs проверено; другие приложения/документы не удалялись. Исполненные команды: @@ -176,4 +179,8 @@ idevicescreenshot -u "$UDID" /Users/admin/Developer/ipad-editors/iVim-first-laun - **GitJournal:** verified Flutter 2.10.5 действительно содержит armv7 Release framework с minimum iOS 9.0; запуск SDK через Rosetta прошёл. Automatic Flutter version check зависал на upstream git fetch; helper использует документированный `--no-version-check`. Native `ios-libraries` v1.1 скачаны с pinned archive SHA-256 `54d788da33397bd923b773f2041d0249b28682446eabf98046bec089eaf025c3`; все четыре static archives содержат armv7. `git_bindings` pinned `52a9def…` также подготовлен. `flutter pub get` остановился на недоступном публично `GitJournal/ext_storage` (GitHub API 404). Host pubspec изменён на опубликованный `ext_storage: 1.0.3`, но transfer в guest не прошёл; этот fallback ещё не проверен сборкой. Plugin Android-only, поэтому его platform-specific usage нужно проверить. Компиляция/деплой/Git sync GitJournal не заявляются успешными. - **iVim / holzschu:** готовые Lua/ctags зависимости только arm64; полный fork не собран для armv7. Upstream get-frameworks/Python build scripts с изменчивыми refs и iOS 11/12 не запускались. Для полноценного fork требуется отдельная подготовка совместимых 32-bit зависимостей; официальный iVim 1.40 установлен как дополнительный найденный редактор. -Состояние и пути артефактов также сохранены в `/Users/admin/Developer/ipad-editors/manifest.json`. Current blocker — `lease-327bb8…` needs_attention; не запускать команды через direct-IP в обход Virfield journal. +Состояние и пути артефактов также сохранены в `/Users/admin/Developer/ipad-editors/manifest.json`. Исторический blocker `lease-327bb8…` снят разрешённым recovery, cleanup `job-5cb66a109f395c15cd51633ab858bee7` succeeded 18:15:12 UTC 2026-10-14. Replacement `lease-9c1a94ff2b56b396fee7f1bbd2e0dcea` ready, prepare `job-b47d43f833f4bc28e4ec880f8fa40b00` succeeded; pinned tunnel `127.0.0.1:55530`, отдельные `worker-replacement-ssh.conf`/known-hosts и caller identity attempt-3. Не запускать команды через direct-IP в обход Virfield journal. + +На replacement реально выполнен `build-native-on-monterey.sh edhita`, RUN_ID `20261015T001900Z`: `BUILD SUCCEEDED`, before/after массив PODS одинаков. Полный export `edhita-export-20261015.tar.gz` сохранён на Mac. Fake-sign helper проверил armv7 main minimum 9.3, Swift dylibs minimum 7.0; `ideviceinstaller install packages/edhita-20261015/Edhita.ipa` завершился Complete, bundle metadata сверена, `idevicedebug --detach run com.bornneet.Edhita` завершился exit 0. Screenshot `Edhita-first-launch.png` просмотрен и показывает редактор и файловый browser. Изменённой пользователем заметки ещё нет; запись/редактирование vault отдельно не проверены. + +GitJournal на replacement: опубликованный ext_storage 1.0.3 успешно разрешился. Затем выявлено противоречие upstream: Dart firebase_analytics 8.0.0 требует более высокий minimum iOS, несмотря на Runner9.0 и native lock6.33.0. Выбраны точные firebase_analytics6.2.0 / firebase_core0.5.2 из исторического iOS lock; это local compatibility patch. При пере-resolve незакреплённый dart-git HEAD перешёл на современный Dart3 и нарушил old SDK2.16.2. Все четыре git dependencies теперь явно pin к исходным resolved-ref (`4e47b63…`, `52a9def…`, `d7bfaa69…`, `2e2da41…`). Эти изменения находятся в host `GitJournal/pubspec.yaml` и переданы guest. Дальнейший результат компиляции пока ожидается.