Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
reflex-frp
GitHub Repository: reflex-frp/reflex-platform
Path: blob/develop/scripts/ios-deploy-todomvc.sh
1 views
1
#!/usr/bin/env bash
2
set -euo pipefail
3
4
function cleanup {
5
if [ -n "$tmpdir" -a -d "$tmpdir" ]; then
6
echo "Cleaning up tmpdir" >&2
7
rm -fR $tmpdir
8
fi
9
}
10
11
trap cleanup EXIT
12
13
if [ -z "$1" ]; then
14
echo "Usage: ./ios-deploy-todomvc.sh [TEAM_ID]" >&2
15
exit 1
16
fi
17
18
tmpdir=$(mktemp -d)
19
# Find the signer given the OU
20
signer=$({ security find-certificate -c 'iPhone Developer' -a; security find-certificate -c 'Apple Development' -a; } \
21
| grep '^ "alis"<blob>="' \
22
| sed 's| "alis"<blob>="\(.*\)"$|\1|' \
23
| while read c; do security find-certificate -c "$c" -p \
24
| openssl x509 -subject -noout; done \
25
| grep "OU=$1/" \
26
| sed 's|subject= /UID=[^/]*/CN=\([^/]*\).*|\1|' \
27
| head -n 1)
28
29
if [ -z "$signer" ]; then
30
echo "Error: No iPhone Developer certificate found for team id $1" >&2
31
exit 1
32
fi
33
34
mkdir -p $tmpdir/reflex-todomvc.app
35
cp -r `nix-build --no-out-link -A ghcIosAarch64.reflex-todomvc`/reflex-todomvc.app/* $tmpdir/reflex-todomvc.app
36
sed "s|<team-id/>|$1|" < "$(eval "echo $(nix-instantiate --eval -E '(import ./. {}).ghcIosAarch64.reflex-todomvc.src')")/reflex-todomvc.app.xcent" > $tmpdir/reflex-todomvc.app.xcent
37
/usr/bin/codesign --force --sign "$signer" --entitlements $tmpdir/reflex-todomvc.app.xcent --timestamp=none $tmpdir/reflex-todomvc.app
38
"$(nix-build --no-out-link -A nixpkgs.nodePackages.ios-deploy)/bin/ios-deploy" -W -b $tmpdir/reflex-todomvc.app
39
40