배경
웹뷰 기반의 개발을 할 땐 앱과의 소통 등의 이유로 앱 위에서 띄워봐야 할 때가 종종 있다.
이 때마다 알파나 라이브앱에 배포하면서 테스트 해볼 수 있지만…
생산성을 위해 Xcode의 Simulator로 가상 앱을 띄우고, Safari Technlogy Preview를 통해 해당 웹뷰의 개발자 도구를 열어
location.href = "http://localhost:3000/my/app"
을 콘솔에 입력해 로컬 개발환경을 앱 위에 띄우곤 한다.
다만 이를 위해선
- Xcode simulator 열어야함
- Safari technology preview 열어야함
- 토스앱 열어야함
- Safari 개발자 도구 열어서 location.href 고쳐둬야함
하는 쏘 귀찮음쓰가 있음…
막 엄청자주 하는것도 아니니까 손도 느림…
아무래도 자동화 해야겠슴…
해결
Working good!
알프레드에 sim http://localhost:3000/my/app(원하는 localhost url)
을 입력하면 알파앱에서 해당 웹뷰가 뿅
어케 해결?
알프레드 워크플로우를 통해 shell script를 실행하면 된당
원하는 키워드(나는 시뮬레이터의 약자인 sim으로 함)를 입력 후 URL을 붙여넣고 다음 스크립트를 실행시킨다
# Xcode 앱 열기
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
# Safari Technology Preview 앱 열기
open "/Applications/Safari Technology Preview.app"
# Alfred로 부터 받은 첫 번째 인자 저장 (e.g. http://localhost:3000/my/app)
LOCALHOST_VAR=$1
# 해당 인자에 http://localhost:3000 이란 string을 원하는 스킴(e.g. 노션이라면 notion:/) 으로 replace
URL="${LOCALHOST_VAR/http:\/\/localhost:3000/"notion:/"}"
# 8초간 기다린다 (Simulator가 뜨는 시간 고려)
sleep 8
# 스킴을 Simulator에서 연다. 노션스킴이라면 노션 앱이, 토스스킴이라면 토스 앱이 열리겠쥬
xcrun simctl openurl booted "${URL}"