GestureClip (4) 복사가 안 될 때 뭐가 문제인지 구분하기
지난 글에서 오므리면 진짜 복사까지 되도록 만들었는데, 실제로 여러 번 써보니 “복사가 안 되는 것 같다”는 상황이 몇 가지 다른 이유로 겹쳐서 왔다. 원인을 하나씩 구분해서 정리했다. 어느 앱이 진짜 앞에 있었는지 확인하기 모니터를 여러 개 쓰다 보니, 화면에 사진 앱이 보이고 있어도 실제로 키보드 입력을 받는 앱은 다를 수 있다는 걸 알게 ...
지난 글에서 오므리면 진짜 복사까지 되도록 만들었는데, 실제로 여러 번 써보니 “복사가 안 되는 것 같다”는 상황이 몇 가지 다른 이유로 겹쳐서 왔다. 원인을 하나씩 구분해서 정리했다. 어느 앱이 진짜 앞에 있었는지 확인하기 모니터를 여러 개 쓰다 보니, 화면에 사진 앱이 보이고 있어도 실제로 키보드 입력을 받는 앱은 다를 수 있다는 걸 알게 ...
지난 글까지 오므리면 보내고 펼치면 받는 건 됐는데, 두 가지가 아쉬웠다. 텍스트만 되고 이미지는 안 됐고, “오므리면 복사”가 아니라 “미리 복사해둔 걸 보내기”였다. 이번엔 이 둘을 채웠다. 텍스트 말고 이미지도 보내기 지금까지는 그냥 텍스트만 주고받아서 데이터가 뭔지 서로 알 필요가 없었는데, 이미지가 섞이려면 받는 쪽이 지금 온 게 텍스...
지난 글에서는 맥이랑 아이폰이 서로를 찾아서 텍스트 하나를 주고받을 수 있는지만 확인했다. 이번엔 진짜 하고 싶었던 부분, 웹캠으로 손을 보고 오므리면 보내고 펼치면 받는 것까지 이어붙였다. 맥에서 손 오므림 인식하기 Vision 프레임워크에 손 관절 좌표를 뽑아주는 VNDetectHumanHandPoseRequest가 있다. 웹캠 프레임마다 ...
화웨이 노트북이랑 폰을 손으로 오므렸다 펼치면서 클립보드를 옮기는 영상을 봤다. 손을 오므리면 복사, 다른 기기에서 손을 펼치면 붙여넣기가 되는 기능이다. 애플 생태계에는 그런 게 없어서, 비슷한 걸 맥이랑 아이폰으로 직접 만들어보기로 했다. 이 글은 클로드 코드와 대화하면서 바이브 코딩으로 진행한 과정을 정리한 것이다. 카메라로 손 모양을 읽는 부...
워치랑 아이폰을 같이 두고 워치 단독으로 러닝을 했는데, 끝나고 보니 아이폰 로그북에 기록이 안 남아있었다. 오늘 고친 것들이랑은 무관한 문제였지만, 원인을 끝까지 따라가보니 훨씬 오래된 구조적 틈이 있었다. 이 글의 원인 분석과 해결 방향은 AI와 대화하면서 하나씩 짚어나간 과정을 그대로 옮긴 것이다. 특히 뒤에 나오는 “앱이 안 켜져있는데 어떻게...
실사용 피드백이 두 개 들어왔다. 하나는 러닝 종료 후 요약 화면의 지도를 확대할 수 없다는 것, 다른 하나는 제자리에 멈췄을 때 일시정지로 뜨기까지 8초나 걸려서 너무 길다는 것. 지도가 확대되지 않던 문제 GPWS 경고가 짧은 구간에 몰리면 마커가 서로 겹쳐서 어떤 경고인지 구분이 안 됐다. 확대해서 보고 싶다는 피드백이었는데, 코드를 보니...
Watch에서 CUSTOM 거리를 Digital Crown으로 조절하다가 이상한 걸 발견했다. 최소값 100m부터 시작해서 계속 돌리다 보면 500m, 600m, 1.1km, 1.6km처럼 애매한 값에서 멈췄다. 원인 WatchDistanceSettingView의 Crown 바인딩을 보니 시작값 0.1(100m)에서 0.5씩 계속 더하는 구조였...
Filtering Operators 이전글에서 살펴봤듯 Observable에 적용하는 모든 메서드는 연산자(Operator)라고 부른다. 이번 편부터는 그중에서도 Observable이 방출하는 이벤트 중 원하는 것만 골라서 통과시키거나 걸러내는 연산자들, 즉 Filtering Operator를 다룬다. ignoreElements, elementAt,...
내용이 길어질듯 해서 새롭게 작성한다. Traits Trait는 Observable을 특정 상황에 맞게 제한한 변형 타입이다. 방출할 수 있는 이벤트 종류를 미리 좁혀놓아서, “이 스트림은 값을 여러 번 방출하지 않고 딱 한 번만 결과를 낸다” 같은 의도를 타입 자체로 표현할 수 있다. RxSwift에는 크게 세 가지 Trait가 있다. 1....
구매해둔 Udemy 강의중 RxSwift 강의가 너무 오래전이기도하고 Combine을 항상 사용해와서 그냥 냅두려다가 강의 내용도 7시간 정도 밖에 안되고 개념 자체는 Combine과 유사해서 그래도 간단하게 알아두면 좋을듯 해서 내용을 적어보도록 한다. ReactiveX 공식 사이트에서 RxSwift를 확인 할 수 있다. 그리고 RxSwift의 ...