iOS Using the magnetometer sensor
운영 체제: macOS Ventura 13.4.1
사용 버전: Xcode 14.3.1, Swift, SwiftUI
휴대폰에 있는 센서를 사용하기 위해서는 CoreMotion을 사용합니다.
https://developer.apple.com/documentation/coremotion/getting_processed_device-motion_data
사용 버전: Xcode 14.3.1, Swift, SwiftUI
iOS Using the magnetometer sensor를 알아보겠습니다.
iOS에서 자기계(magnetometer) 센서 또는 자기(magnetic) 센서를 사용하는 방법을 알아봅시다.
휴대폰에 있는 센서를 사용하기 위해서는 CoreMotion을 사용합니다.
https://developer.apple.com/documentation/coremotion/getting_processed_device-motion_data
9 번째 줄처럼 CoreMotion을 import 합니다.
13 번째 줄처럼 motionManager에 CMMotionManager를 정의합니다.
이 motionManager가 모든 센서를 관장합니다.
함수를 하나 만듭니다. 저는 startMagnetometer라고 적었습니다.
20 번째 줄처럼 isMagnetometerAvailable을 사용하여 자기 센서가 사용 가능한지
확인합니다.
21 번째 줄처럼 magnetometerUpdateInterval을 사용하여 몇 번 읽어들일지
설정합니다. 현재는 1 초에 50 번 읽는 설정입니다.
22 번째 줄처럼 startMagnetometerUpdates를 사용해서 센서 값 읽기를
실행합니다.
to에는 OperationQueue.main을 적어줍니다.
14 번째 줄처럼 자기 값을 받을 변수를 하나 만듭니다.
25 번째 줄처럼 nil 인지 확인하고, 26 번째 줄에서 magneticField 값을
대입합니다.
출력을 해봅시다.
body 부분을 다음과 같이 수정해 줍니다.
아래에 함수를 하나 더 만듭니다.
자기 센서가 필요 없을 때에는 종료시켜야 합니다.
37 번째 줄처럼 stopMagnetometerUpdates를 적어줍니다.
그리고, onAppear와 onDisappear를 사용하여 센서가 작동되게 합니다.
실행해 봅시다.
카테고리: iOS
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.