Skip to content

Latest commit

 

History

History
93 lines (57 loc) · 3.17 KB

README.md

File metadata and controls

93 lines (57 loc) · 3.17 KB

ios-wanted-GyroData


팀원 소개

Eddy(권준상) James(엄철찬) Beeem(김수빈)
CoreMotion 담당 GraphView 담당 CoreData 담당
아키텍쳐 및 다크모드 타이머 로직 담당 FileManager 담당
Github Github Github

🎁 프로젝트 구조

MVC 패턴

Screen Shot 2022-09-28 at 13 14 35

  • ViewController가 방대해지는 것을 방지하기 위해 View와 분리했습니다.

📁 폴더 구조

스크린샷 2022-09-05 오후 4 22 01

Application

  • AppDelegate, SceneDelegate, Info.plist 등

Source

  • Model: 앱 내에서 사용되는 데이터 관련 모음
  • Extensions: Extension 모음

Feature

  • GraphView: Graph View 관련 모음
  • CoreData: Core Data Model 관련 모음
  • MotionDataList: 첫 번째 화면 관련 모음
  • MeasureData: 두 번째 화면 관련 모음
  • GraphDetail: 세 번째 화면 관련 모음

📱 구현 화면

첫 번째 화면


Screen Shot 2022-09-28 at 13 09 17


두 번째 화면

Screen Shot 2022-09-28 at 13 10 23


세 번째 화면

Screen Shot 2022-09-28 at 13 11 21


🛠 기능 구현 방식

AutoLayout

  • StoryBoard를 제거하고 코드로 View를 구현하였습니다.

Core Motion

  • CMMotionManager를 이용해서 acc값과 gyro 값을 가져왔습니다.

Graph

  • UIBezierPath를 이용해서 그래프를 그렸습니다.
  • CoreMotion으로 측정한 값을 리스트에 담아서 0.1초마다 표시하도록 구현했습니다.
  • 측정된 값이 지정한 최대치에 도달하면 그래프의 크기를 1.2배 축소시킵니다.

Core Data & FileManager

  • 측정된 데이터를 CoreData와 FileManager를 이용해서 저장했습니다.
  • 데이터를 JSON 파일로 변환했습니다.

Dark Mode

  • 다크 모드를 대응하였습니다.

📼 실행 영상

RPReplay_Final1664340749.mov