Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

SwiftUI107

7. 푸쉬 알림 (Notification) ⭐️푸쉬 알림 (Notification)⭐️ 개인적인 유저 입장에서는 푸쉬 알림(노티)이 귀찮아서 대부분 끄지만.. 광고나 주기적인 앱 사용 촉진을 위해서는 푸쉬 알림이 유용하다고 생각한다. 서버단에서 데이터를 받아와서 푸쉬를 보내는 경우가 많겠지만 이번에는 서버통신 없이 로컬에서(앱 내 데이터를 바탕으로) 푸쉬 알림을 보내는 방법을 정리해보고자 한다. 먼저 '시간' , '날짜', '위치' 기반으로 푸쉬를 보내는 방법을 다루고자 한다. 이전 사운드, 햅틱과 같이 싱글톤 패턴을 통해 푸쉬를 보내보자. // Created by Toughie on 2023/05/24. // import SwiftUI //노티를 보내기 위한 프레임워크 import UserNotifications //위치 정보를 위한 프레임워크.. 2023. 5. 24.
6. Haptic 진동 ⭐️Haptic 진동⭐️ 아이폰에서 햅틱 효과를 주는 방법에 대해 알아보자. 아이폰6s이후부터 탭틱엔진으로 진동 모듈이 바뀌면서 기분 좋은 진동 효과를 느낄 수 있지만 그 강도가 너무 약해져서 불편한 부분도 있다고 생각한다. 확실하게 빡! 진동을 주기 어려워졌달까.. 그래도 적절하게 사운드와 함께 쓰면 더 나은 UX에 기여할 수 있을 것 같다. 싱글톤 패턴을 활용한 햅틱 매니저 // Created by Toughie on 2023/05/24. // import SwiftUI final class HapticManager { static let shared = HapticManager() private init() { } //알림 func notification(type: UINotificationFeed.. 2023. 5. 24.
5. AVAudioPlayer 사운드 재생/ 열거형 (원시값,연관값) ⭐️AVAudioPlayer 사운드 재생, 열거형⭐️ 앱 내에서 사운드를 재생해야 하는 경우는 생각보다 많다. (많은 사람들이 무음모드로 사용하지만..) 특정 버튼을 눌렀을 때 효과음을 준다거나, 배경 음악을 깔아주면 앱의 퀄리티가 훨씬 높아진다고 생각한다. (better UX) Swift Student Challenge를 하면서, 그리고 아카데미 프로젝트를 진행하면서 효과음을 많이 사용했는데, 돌이켜보면 코드도 난잡했고 정리가 안되어 있었다. 그래서 간단하지만 깔끔하게 사운드 재생하는 방법을 정리하고자 한다. 외부 URL로 사운드를 재생할 수도 있지만, 여기서는 에셋 파일을 재생하는 방법으로 진행한다. 예시코드 1. 여러 뷰에서 사운드를 재생하고, 중지 해야하는 경우가 있을 수 있기에, 싱글톤 패턴으로.. 2023. 5. 23.
4. typealias 타입앨리어스 ⭐️typealias⭐️ 자주 써본 것은 아니지만, 잘 활용하면 좋을것 같은 타입앨리어스에 대해 알아보자. 말 그대로 타입의 별명을 지어주는 것이다. // Created by Toughie on 2023/05/22. // import SwiftUI struct MovieModel { let title: String let director: String let spectators: Int } //struct TVModel { // let title: String // let director: String // let spectators: Int //} //new name for existing type typealias TVModel = MovieModel 영화/티비/예능 서비스를 제공하는 앱을 만든다고 .. 2023. 5. 22.
3. CoreData Relationship/ 관계형 데이터 모델 ⭐️CoreData Relationship⭐️ Swift의 CoreData는 관계형 데이터 모델을 구성할 수 있는 기능이 있다. 관계형 데이터 모델에서 엔티티들의 관계를 나타내기 위해 'Relationship'을 사용한다. Relationshipdms 엔티티 간의 연결을 나타내는 속성으로, 1 : 1 / 1 : N / N : N 관계를 설정할 수 있다. Xcode의 모델 파일에서 inspector를 보면 Relationship type을 설정할 수 있다. (단일 관계 / 다중 관계) Xcode14 이전까지는 여러 엔티티들의 Relationship을 도식화 해서 보여주는 기능이 있었는데 무슨 이유인지 갑자기 사라졌다..;; 학습 예시로 사용했던 엔티티의 관계도는 아래와 같다. 각 엔티티의 attribute.. 2023. 5. 22.
2. CoreData 코어데이터 기본 CRUD ⭐️CoreData⭐️ 앱을 사용하다가 종료해도 데이터가 남아있어야 하는 경우가 많다. 작은 데이터라면 userDefaults, AppStorage 등을 활용할 수도 있지만, 더 크고 많은 데이터를 안정적으로 아이폰에 저장하기 위해서는 CoreData를 사용해야한다. https://developer.apple.com/documentation/coredata Core Data | Apple Developer Documentation Persist or cache data on a single device, or sync data to multiple devices with CloudKit. developer.apple.com '영구적으로 데이터를 기기에 저장'이 코어데이터 프레임워크의 핵심 기능이다. '로.. 2023. 5. 21.