일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- 코딩테스트실력진단
- velog
- frontend
- Apple Developer Academy
- 프로그래머스
- 회고
- AppleDeveloperAcademy
- ios
- iOSDeveloper
- UIKit
- 알고리즘
- TypeScript
- Xcode
- tshaped
- 코딩테스트
- 프론트엔드
- Front-end
- NextJs
- globalcommunity
- JavaScript
- error
- react-query
- 코드트리챌린지
- 프로젝트
- swiftUI
- react
- git
- 코드트리
- SWIFT
- Today
- Total
목록SWIFT (23)
Moon Work

ScreenTime APIScreenTime API는 앱 iOS, iPadOS 15이상에서 사용 가능한 애플의 디바이스 제한 프레임워크입니다. 자녀들의 기기 사용을 제한하거나, 자기 자신의 핸드폰을 제한하는 등의 기능들을 제공해주고 있습니다.이 글에서는 ScreenTime API를 적용하고 앱을 출시하는 과정에 대해 소개해 드리겠습니다:)주의! 혹시 ScreenTime API를 사용해서 앱을 만들고 싶으신 분들 중에 Entitlement 승인은 아직 안받으셨으면 미리 2주 정도 이후에 배포가 가능하다는 것에 대한 위로의 말씀을 드립니다..😭 자세한 내용은 아래에서! ScreentTime API 사용해서 앱 배포하기: Null Moments 위에 프로젝트는 간단하게 시간을 지정해서 앱을 제한하고, nul..

값타입도...힙에 저장된다고...? 값타입의 Heap Allocation(Heap boxing)클로저에 대해 공부하면서 값타입의 Heap Allocation에 대해 더 공부하게 되었습니다. 값타입의 Heap Allocation은 Struct, Enum과 같이 Stack에 저장되는 값 타입이 힙에 할당되는 현상을 의미합니다. 이렇게 Heap에 할당된 경우 값 타입이 heap에 저장되며 class와 같이 참조타입처럼 동작하게 됩니다.Heap Allocation이 발생하는 경우Swift에서 Heap Allocation은 다음과 같은 경우에 발생합니다.프로토콜을 통해 값 타입을 다룰 때클로저에서 캡쳐될 떄(캡쳐리스트가 없는 경우)컬렉션에서 값 타입을 참조할 때클래스 안에 값타임, 값 타입 안에 클래스 타입을 ..

내가 만든 앱이 버벅거리거나, 앱을 구동하면 핸드폰이 너무 뜨거워지나요? Instrument는 구현과 함께, 또는 그 이후에 최적화를 통해 이런 문제를 해결할 수 있도록 돕는 도구가 있습니다. KWDC24에서 View가 버벅거리는 이유에 관한 발표를 듣고 제가 만드는 앱의 버벅거림을 개선해보기 위해 학습해보고 싶었습니다(다음 글은 실제 개선 및 성능 향상 정도를 보여줄 수 있을지도..?!). 이 글에서는 Paul Hudson 씨의 예제와 기본 개념을 버무려 Instruments의 기본적인 기능에 대해 정리하였습니다. 기본적인 개념을 익히고, 이후 다양한 instruments들을 체험해보시길 기대합니다(저도 알려주세요👀) About InstrumentsInstruments는 Xcode 도구 세트의 일부로..

팀원들과 어떻게 하나의 앱으로 공유하죠?Q. 왜 제 핸드폰에 앱이 빌드가 되지 않는건가요? Q. 팀원 Xcode에 로그인했는데 왜 핸드폰에 빌드가 되지 않는걸까요?위와 같은 질문은 애플생태계에서 개발을 하다보면 자연스럽게 경험하게 되는 부분입니다. 위 질문에 답하기 위해서는 애플이 앱을 실행시키기 위해 만든 보안에 대해 이해가 필요합니다. 이해를 하려고 미루고 미루다, 아카데미에서 진행하는 출석 체크 앱의 유지보수를 위해 이번에 깊게 이해해보려 했습니다. 앱을 실행시키려면앱은 앱스토어에서 다운받을 수 있고, 그 앱은 애플이 발급한 인증서(Certificate)를 통한 코드 서명(Code Signing)이 되어야 실행이 될 수 있습니다. 코드 서명(Code Signing)이란, 앱에 서명을 한 이후 변경이..

Error 삶은 늘 원하는대로 흘러가지 않습니다. 하지만 그런 상황에 대비를 해야 하는 것이 Error Handling입니다. Error Handling: 에러 처리 또는 ExceptionHandling이라고 말하기도 합니다. Error Handling을 잘해야 하는 이유 만약 여러분이 은행앱을 통해 돈을 송금하는데 갑자기 “에러입니다.”라고 나오기만 하고 어떤 문제인지 말해주지 않고 앱이 종료된다면 어떨까요? Error Handling은 이러한 상황에서 어떤 에러가 어디서 발생했는지 말해주고, 유저가 앱을 지속적으로 사용하는데 중요한 힌트를 제공합니다. (ex. 잔액이 부족합니다, 계좌가 올바르지 않습니다 등) Error의 사용 어떤 함수가 에러를 발생할 가능성이 있다면 Swift에서는 함수 선언 시 ..

에러: "No such module" 상황은 이렇다. FireStore를 하기 위해 SPM으로 dependency를 추가하고 build를 했는데 No such module 에러가 발생했다. 오늘도 나의 인내심을 성장시켜준 에러. 감사하다. 시도한 방법 1. Project Navigator - Targer - BuildSetting에서 Debug와 Release를 빈칸으로 바꿔보았지만 아무런 일도 일어나지 않았다. 2. Xcode 에러인 것 같아서 Xcode를 종료했다가 다시 했지만 실패 3. SPM에 누락된 라이브러리가 있을 수도 있어서 Firebase의 모든 라이브러리를 적용했지만 실패 4. SPM에서 dependency 삭제 제거 3회 반복 -> 실패 해결 방법 현타가 올 수도 있으니 조심하자 SPM..

SwiftUI에서 화면 캡쳐하기최근에 하는 프로젝트에서 image를 만들어서 instagram으로 공유하는 기능을 구현해야 했다. 먼저는 화면의 이미지를 image로 렌더해야 하는 기능을 구현해야 해서 UIGraphicsImageRenderer를 활용한 캡쳐 기능을 구현하였다. 구현 순서1. Target으로하는 View를 구현한다.해당 뷰를 그대로 이미지로 만들기 때문에 따로 View를 만들거나 아래와 같이 바뀌는 내용이 없다면 extension에 computed property로 구현해도 된다.// 렌더해야 하는 뷰extension RendererTestView { private var TargetImageView: some View { ZStack{ Color.w..

Codable: type alias Codable is a type alias for the Encodable and Decodable protocols. When you use Codable as a type or a generic constraint, it matches any type that conforms to both protocols. Coadable은 Encodable과 Decodable을 합친 Union Type이다. 정의 typealias Codable = Decodable & Encodable Decodable: Protocol A type that can decode itself from an external representation. Decodable은 외부 표현을 자신으로 변환..