Path: blob/develop/scripts/ios-deploy-todomvc.sh
1 views
#!/usr/bin/env bash1set -euo pipefail23function cleanup {4if [ -n "$tmpdir" -a -d "$tmpdir" ]; then5echo "Cleaning up tmpdir" >&26rm -fR $tmpdir7fi8}910trap cleanup EXIT1112if [ -z "$1" ]; then13echo "Usage: ./ios-deploy-todomvc.sh [TEAM_ID]" >&214exit 115fi1617tmpdir=$(mktemp -d)18# Find the signer given the OU19signer=$({ security find-certificate -c 'iPhone Developer' -a; security find-certificate -c 'Apple Development' -a; } \20| grep '^ "alis"<blob>="' \21| sed 's| "alis"<blob>="\(.*\)"$|\1|' \22| while read c; do security find-certificate -c "$c" -p \23| openssl x509 -subject -noout; done \24| grep "OU=$1/" \25| sed 's|subject= /UID=[^/]*/CN=\([^/]*\).*|\1|' \26| head -n 1)2728if [ -z "$signer" ]; then29echo "Error: No iPhone Developer certificate found for team id $1" >&230exit 131fi3233mkdir -p $tmpdir/reflex-todomvc.app34cp -r `nix-build --no-out-link -A ghcIosAarch64.reflex-todomvc`/reflex-todomvc.app/* $tmpdir/reflex-todomvc.app35sed "s|<team-id/>|$1|" < "$(eval "echo $(nix-instantiate --eval -E '(import ./. {}).ghcIosAarch64.reflex-todomvc.src')")/reflex-todomvc.app.xcent" > $tmpdir/reflex-todomvc.app.xcent36/usr/bin/codesign --force --sign "$signer" --entitlements $tmpdir/reflex-todomvc.app.xcent --timestamp=none $tmpdir/reflex-todomvc.app37"$(nix-build --no-out-link -A nixpkgs.nodePackages.ios-deploy)/bin/ios-deploy" -W -b $tmpdir/reflex-todomvc.app383940