jubeatbook-ios

요약

개발범위 전체
레포지터리 주소 [비공개] https://git.meu.works/cenox_kang/jubeatbook-ios
레포지터리 생성 일자 2017. 02. 04..
사용한 언어 Swift
사용한 개발 툴(IDE) Xcode
활성화 된 기능
  • Push Notifications
  • Background Modes - Background fetch
  • App Groups
  • 사용된 라이브러리
  • Toaster - To show Android style toast view.
  • Fabric - Total SDK platform service.
  • Crashlytics - Collect error when app crashed.
  • Charts - powerful chart framework for iOS, written in Swift.
  • Firebase - App success made simple
  • SSZipArchive - Simple utility class for zipping and unzipping files on iOS and Mac.
  • Kanna - XML/HTML parser for cross-platform(macOS, iOS, tvOS, watchOS and Linux!).
  • STPopup - just like UINavigationController in form sheet/bottom sheet style, for both iPhone and iPad.
  • RangeSeedSlider - customizable range slider like a UISlider.
  • 스토어 링크 App Store

    개요

    jubeatbook은 Konami Amusement 사의 Jubeat 라는 게임의 성과를 웹이 아닌 앱으로 쉽게 확인할 수 있도록 만든 애플리케이션으로써, 유비트의 성과들을 단 하나의 어플로 관리하고 확인할 수 있는 가장 실용적인 애플리케이션을 목표로 제작되고 있습니다.

    Konami Amusement에서 현재 웹으로 서비스 되고 있는 부분을 Kanna 라이브러리로 HTML을 불러온 후, 필요한 정보를 파싱하여 struct에 정보를 추가한 후, 이를 json으로 저장하여 활용합니다. 이 때문에 Konami Amusement의 서버가 점검 중일 경우에는 동기화에 문제가 발생하여 본 앱도 사용이 불가능합니다.

    앱 내용

    메인화면

    Screen Shot 2017-05-15 at 오후 11.32.39
    Screen Shot 2017-05-15 at 오후 11.34.37

    유저의 프로파일과 기능 메뉴, 그리고 하단에는 그 날의 추천곡과 매일 달라지는 풀 콤보 챌린지 곡을 표시하도록 하였습니다. 각 버튼은 UIStackView로 이루어져 있으며, 버튼을 누를 경우 각 화면으로 Push 됩니다.

    기록화면

    Screen Shot 2017-05-15 at 오후 11.32.54

    플레이어가 플레이한 곡 들을 전부 표시하는 화면입니다. 오른쪽 위의 정렬버튼을 이용하여 다양한 정렬 옵션을 선택할 수 있습니다. 점수 뿐만 아니라 레벨, 제목, 아티스트 등도 상/하향 순으로 정렬할 수 있습니다.

    정렬 기능은 SortOptions 라는 struct를 SortViewDelegate protocol 로 전달하였고, 함수형 프로그래밍 언어의 장점을 살린 filter(_:)sort(_:)함수를 사용하여 정렬하였습니다.

    히스토리

    Screen Shot 2017-05-15 at 오후 11.33.19

    Screen Shot 2017-05-15 at 오후 11.39.46

    플레이어가 최근 10판 동안 플레이 한 곡들을 볼 수 있는 뷰 입니다. 각 셀에는 플레이한 곡의 재킷 이미지, 곡의 이름, 점수, 랭크, 순위 등을 비롯하여 언제 어디서 플레이했는지 알 수 있습니다. 셀을 누르면 TUNE POST 라고 불리는 이미지를 불러올 수 있습니다. 오른쪽 위의 저장 버튼을 클릭하여 카메라롤에 추가할 수 있습니다.

    위젯

    Screen Shot 2017-05-15 at 오후 11.53.09 사본

    Today Extension 타겟을 추가하여 유저들이 앱을 켜지 않고도 쉽게 추천곡과 풀콤보 챌린지를 확인할 수 있도록 하였습니다.

    유저가 애플리케이션을 실행하거나, Background fetch 기능을 이용하여 애플리케이션이 자동으로 세션을 열고, 로그인이 되어 있을 경우 자동으로 업데이트합니다. 수동 업데이트의 경우도 생각하여 새로운 UI를 준비하고 있습니다.