Story Notifier

요약

개발범위 전체
레포지터리 주소 https://github.com/CenoX/storynotifier
레포지터리 생성 일자 2016. 12. 29...2019.11.22
사용한 언어 Swift
사용한 개발 툴 (IDE) Xcode
활성화 된 기능
  • App Sandbox
  • Network Ingoing - Outgoing
  • 사용된 라이브러리 N/A
    릴리즈 Mac App Store

    개요

    모바일 SNS 서비스인 KakaoStory의 알림을 macOS에서도 확인할 수 있게 해주는 애플리케이션이며, Reflection님이 만든 Story Notifier를 macOS 플랫폼에서 사용할 수 있게 포팅한 애플리케이션입니다.

    편한 업데이트 환경을 위해 Sparkle 프레임워크를 활용하였으며 개인 블로그 사이트에서지만, 배포가 이루어진 첫 macOS 애플리케이션입니다.

    2019년 하반기에 Mac App Store를 통해 애플리케이션이 출시되었습니다.

    애플리케이션 아이콘은 shiftpsh가 제작하였습니다.

    앱 내용

    가장 먼저 실행하면,

    스크린샷 2019-12-30 오후 11.23.36

    카카오 ID와 비밀번호를 입력하는 창이 WebView로 연결됩니다. 해당 WebView가 표시하는 페이지의 주소는 accounts.kakao.com으로써, 로그인이 완료되었을 시 KakaoStory 페이지로 리다이렉트 시키는 파라메터를 포함하고 있습니다.

    로그인에 성공했을 경우, 해당 창이 사라지며 KakaoStory로부터 알림을 수신하게 됩니다.


    자동로그인 기능 삭제

    1.0.3 버전까지의 Story Notifier는 직접 ID와 PW를 입력하여 카카오 서버에 로그인 요청을 보내는 로직을 가지고 있었습니다.

    다만, 매크로 등의 방지를 위하여 카카오 측에서 도입한 캡챠 시스템으로 인하여 실패 사례가 발생하게 되었고, 그에 따라 WebView로 로그인하고 쿠키를 이용하는 방식으로 변경하였습니다.


    버튼을 클릭하면, 로그인 창과 함께 사라지며 NSUserNotification을 이용해 가장 최근 알림부터 사용자게에 알립니다.

    스크린샷 2017-05-22 오후 8.06.03

    스크린샷 2017-05-22 오후 8.06.06

    상단바를 통해 알림을 몇초마다 갱신할 것인지에 대한 설정을 제공하며,

    스크린샷 2019-12-30 오후 11.37.36

    하단에는 종료버튼과 로그아웃 버튼이 위치해 있습니다.

    주기 설정은 UserDefaults에 저장되며, 기본은 5초입니다. 설정 저장 시, 애플리케이션의 재시작이 필요합니다.


    로그아웃 시에는 먼저 유저에게 로그아웃 확인 알림창을 띄운 후,

    스크린샷 2017-05-22 오후 8.38.16

    유저가 로그아웃 버튼을 누르면, UserDefaults에 저장된 모든 정보를 삭제하고, 애플리케이션이 종료되기 전 NSUserNotification 을 이용해 로그아웃이 완료되었다는 알림을 띄우고 종료됩니다.

    스크린샷 2017-05-22 오후 8.40.27