Я получил ghc-slave
для сборки для iPhone 6S под управлением iOS 12.0.1.Я поместил это в вспомогательный скрипт, чтобы не путать cabal
с постоянно меняющимися IP-адресами:
connect_to_iphone
#!/bin/bash
exec iserv-proxy "$@" <iphone ip> <port>
Я запустил GHCSlaveна iPhone, и я доверял своему сертификату разработчика, как он просил.
Затем я клонировал singletons
и попытался скомпилировать его.
git clone https://github.com/goldfirere/singletons
cd singletons
cabal --with-ghc=aarch64-apple-ios-ghc \
--with-ghc-pkg=aarch64-apple-ios-ghc-pkg \
--with-gcc=aarch64-apple-ios-clang \
--with-ld=aarch64-apple-ios-ld \
--hsc2hs-options=--cross-compile \
--disable-shared \
--configure-option=--host=aarch64-apple-ios
--ghc-options=-fexternal-interpreter \
--ghc-options=-pgmi=/path/to/connect_to_iphone
new-configure
cabal new-build
При сборке th-lift-instances
TH былсначала нужно.GHCSlave на iPhone показал, что библиотеки были отправлены для запуска TH.Однако в тот момент, когда выполнение TH фактически началось, GHCSlave потерпел крах.Журналы из XCode показывают
...
Exception Type: EXC_BAD_ACCESS (SIGKILL - CODESIGNING)
...
Termination Reason: Namespace CODESIGNING, Code 0x2
...
Я не уверен, с чего начать, чтобы это исправить.Как использовать GHCSlave без ошибок подписи?