일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Animation
- self
- 글또
- Switch
- struct
- ScrollView
- protocol
- list
- singleton
- SWIFT
- array
- IOS
- http
- viewlifecycle
- class
- uikit
- escaping
- NotificationCenter
- Observer
- segue
- Git
- Refresh
- SWIFTUI
- PushNotification
- error
- mvvm
- apns
- 화면전환
- 고차함수
- calendar
- Today
- Total
목록My P_Life (115)
seong_hye, the developer

📘 APNsApple Push Notification service의 약자iOS, macOS, watchOS, tvOS 앱에 **푸시 알림(Push Notification)**을 전송할 수 있도록Apple이 제공하는 공식 알림 전송 서비스 APNs = Apple 기기에 원격 푸시 알림을 전달하는 중앙 서버 시스템🔹 APNs의 역할"end-to-end"데이터를 송신자(앱 서버)에서 시작하여 수신자(사용자 디바이스)까지 안전하게 전달하는 전체 과정앱 서버가 보낸 메시지를 iPhone, iPad, Mac 등에 안정적이고 보안적으로 전달하는 중간 다리 역할🔹 APNs이 필요한 이유역할설명메시지 전달앱 서버가 직접 디바이스와 통신하지 않고 APNs를 통해 전달보안 유지토큰 기반 인증 및 암호화앱 상태에 상관..
📘 Attribute@attribute는 실제 키워드가 아닌 "속성"을 나타내는 표기 방식즉, @기호로 시작하는 것들을 통틀어 **Swift 속성"컴파일러나 런타임에게 특별한 의미를 부여하는 메타 정보 역할을 함 @attribute = 함수, 타입, 변수 등에 특수한 동작이나 정보를 부여하는 컴파일러 지시자 🔹주요 Swift Attribute 목록과 설명Attribute용도@available특정 OS 버전 이상에서만 사용 가능@discardableResult반환값을 사용하지 않아도 경고 발생 X@objcObjective-C와 상호 운용 (Selector 등)@IBAction, @IBOutlet스토리보드와 연결@StateSiwftUI 상태 변수 (UI를 다시 그림)@Binding부모 뷰로부터 전달받은 ..
notification은 쉽게 말하면 앱에서 오는 알림이다iOS에서는 크게 두 가지로 나뉘어 진다- NotificationCenter : 앱 내부에서 메시지를 주고 받는 방법- Push Notification : 외부 서버에서 사용자 기기로 보내는 알림 이 내용에 대해 자세히 알아보자 📘 NotificationCenter앱 내부에서 이벤트를 전달하는 "게시 - 구독(Pub - Sub)" 방식의 메시지 시스템 🔹 사용 예시✅ 알림 보내기 (Post)NotificationCenter.default.post(name: .testNotification, object: nil) ✅ 알림 수신 (Add Observer)NotificationCenter.default.addObserver(forName: .tes..
UIKit을 사용하기 위해 프로젝트를 만들게 되면만들어져있는 기능들에 대해 알아보려 한다📘 AppDelegateiOS 앱의 생명 주기(lifeCycle)와 시스템 이벤트를 관리하는 핵심 클래스앱이 실행될 때부터 종료되기까지의 흐름을 제어하며,앱 수준의 이벤트(ex_푸시 알림, 백그라운드 진입, 외부 URL 열기 등)를 처리하는 데 사용 AppDelegate = iOS 앱 전체의 실행 상태와 시스템 이벤트를 처리하는 앱 생명 주기 관리자 클래스🔹기본 구조import UIKit@mainclass AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWi..

📘 SwiftUI - 화면 맨 위로 올라오기어플을 사용하다보면 스크롤 하다가 버튼을 눌러 화면의 맨 위로 올라오도록 하는 경우를 볼 수 있다해당 경우를 어떻게 구현했는지 정리해보려 한다. 🔹 기본 개념- ScrollViewReader: 뷰에 스크롤 위치 조작 기능을 부여할 수 있음 - .id( id 값 ) : 스크롤 목표 위치에 식별자를 붙임- .scrollTo( id 값 ) : 해당 위치로 스크롤 이동이 가능함🔹List에 버튼을 통해 위로 올리기struct ContentView: View { @State private var showButton = false let items = Array(1...100) var body: some View { ScrollviewR..
확장(Extension)이란?기존 클래스, 구조체, 열거형 타입에 새로운 Property, Method, Initializer 등을 추가하는 것으로,원본 타입(소스 코드)에 접근하지 못하는 타입들도 확장해서 사용할 수 있음extension이란 키워드를 사용하여 확장함 사용하는 이유? 원본 소스 코드에 대한 액세스 권한이없는 유형을 확장하는 기능이 포함 (소급-모델링 retroactive modeling)예) Int, String, Double 등 애플이 미리 만들어 놓은 타입에 확장도 가능[ Struct에선 self를 사용할 때 mutating 키워드 필요 ]class Person { var id = 0 var name = "이름" var email = "1234@gmail.com" ..

❗️ "Receiver () has no segue with identifier" error 해결 ❗️ 이 오류는 스토리보드에서 특정 identifier를 가진 segue가 존재하지 않는데 코드에서 해당 segue를 호출하려 할 때 발생하게 된다는 걸 알게 되었다. 이 문제를 해결하기 위해 해본 활동을 정리해보려 한다✅ 해결 방안 ➡️ 1. 스토리보드 segue의 Identifier 확인- 스토리보드에서 문제되는 ViewController를 선택- segue 연결선을 클릭- 오른쪽 Attributes Inspector에서 Identifier 확인 - 코드에서 사용하는 식별자와 정확하게 일치해야 함 (대소문자 구분!) ➡️ 2. segue가 실제로 연결되어 있는지 확인- Ctrl + 드래그 또는 Inter..

📘 FirebaseGoogle에서 제공하는 모바일 및 웹 애플리케이션 개발 플랫폼앱 개발에 필요한 다양한 백엔드 기능을 빠르게 구현할 수 있도록 도와줌서버를 직접 구축하지 않고도 인증, 데이터베이스, 알림, 분석 등을 활용할 수 있어 스타트업, 개인 개발자, 프로토타입에 자주 사용됨 Firebase = 서버 없이 앱의 백엔드 기능을 클라우드에서 처리할 수 있게 해주는 플랫폼 🔹 주요 기능기능설명Authentication이메일/ 비밀번호, SNS, Apple, Anonymous 로그인 지원Firestore / Realtime Database클라우드 기반 NoSQL 데이터베이스Cloud Storage이미지 / 동영상 등 파일 저장Cloud Messaging (FCM)푸시 알림 서비스Analytics사용자..