분류 전체보기
-
Choosing Between Structures and Classes아카이브 용도 2025. 7. 23. 16:02
구조체와 클래스는 앱에서 데이터를 저장하고 동작을 모델링하는 데 좋은 선택이지만, 유사성으로 인해 하나를 선택하기 어려울 수 있습니다.앱에 새로운 데이터 유형을 추가할 때 어떤 옵션이 적합한지 선택하는 데 도움이 되도록 다음 권장 사항을 고려하십시오.- 기본적으로 구조를 사용합니다.- Objective-C 상호 운용성이 필요할 때 클래스를 사용하십시오.- 모델링하는 데이터의 ID를 제어해야 할 때 클래스를 사용하십시오.- 프로토콜과 함께 구조체를 사용하여 구현을 공유하여 동작을 채택합니다. 기본적으로 구조체를 사용합니다.구조체를 사용하여 일반적인 종류의 데이터를 나타냅니다. Swift의 구조체에는 다른 언어의 클래스로 제한되는 많은 기능이 포함되어 있습니다. 저장된 속성, 계산된 속성 및 메서드를 포함할..
-
[Swift] 데이터 타입 - 기본 자료형 (primitive data type)/Swift 2025. 5. 29. 18:50
안녕하세요 아렉스입니다 :> 오늘은 Swift의 기본 자료형에 대해 이야기 하겠습니다. Swift 에서는 명명된 타입(named type)과 복합 타입(compound type)의 두가지 종류가 있습니다. ## 명명된 타입(named type) 사용자 정의 명명된 타입 / 클래스 / 구조체 / 열거형 / 프로토콜을 포함합니다.Swift 표준 라이브러리는 배열, 딕셔너리, 그리고 옵셔널 값을 나타내는 타입을 포함하여 일반적으로 사용되는 명명된 타입을 정의합니다. 숫자, 문자, 그리고 문자열을 나타내는 데이터 타입 (Data types) 또한 명명된 타입에 속합니다.데이터 타입 (Data types) 은 다른 언어에서 일반적으로 기본 또는 원시라고 간주됩니다 기본 자료형으로는 정수와 부동 소수점 정수Swi..
-
[SPM] Local Package 사용 시 변경 사항이 반영 되지않을 때 2025. 5. 27. 14:41
안녕하세요 아렉스입니다 :> 오늘은 Local Package 변경 사항 반영이 안되는 현상에 대해 얘기해 보겠습니다. 발생한 일Game Controller의 입력을 받아오는 신규 기능을 작업하며,기존 GameControllerManager 파일이 비대해져 ControllerInput 파일로 분리하였습니다.파일이 분리된 것을 컴파일러가 인식하지못해 빌드가 되지않았습니다.ControllerKit/ └─ Sources/ └─ Controller/ ├─ ControllerInput.swift // ⛑️ 기존 코드에서 분리한 파일 └─ GameControllerManager.swift 해결법매번 모든 패키지를 빌드하면 오래 걸리기 때문에, Xcode 내부적으로 패키지 정..
-
[macOS] Dock 에서 아이콘 없애기 - Application is agent/mac OS 🖥 2025. 5. 22. 01:05
안녕하세요 아렉스입니다 :> 오늘은 에이전트 앱 설정에 대해 얘기해 보겠습니다. macOS 앱 빌드시 Dock에 아이콘이 표출됩니다. 백그라운드에서 실행되는 프로그램을 Apple은 데몬과 에이전트로 나누어 부릅니다.데몬(시스템 전체 백그라운드 프로그램) / 에이전트(특정 사용자를 대신하여 작동하는 프로그램) 오늘 알아볼 것은 에이전트 앱 라고 합니다. info.plist 의 Application is agent (UIElement) 키 값을 통해 Dock 표시 여부를 설정할 수 있습니다. Application is agent (UIElement) 키 값은는 앱이 백그라운드에서 실행되고 Dock에 나타나지 않는 에이전트 앱인지 여부를 나타내는 부울 값입니다. 에이전트란 ?에이전트는 특정 사용자를 대신..
-
[WidgetKit] WidgetKit 정책과 타임라인(Timeline) 매커니즘/Widget 2025. 5. 21. 15:07
안녕하세요 아렉스입니다 :> 오늘은 WidgetKit 매커니즘에 대해 얘기해 보겠습니다.전반적인 구조는 2025.05.21 - [/Widget] - [WidgetKit] WidgetKit 간단하게 알아보기 보고 오시면 도움이 됩니다. 위젯은 기존 iOS 앱과 다른 라이프사이클 매커니즘을 가집니다.또한 정책이 명확하기 때문에, 테스트 간 정책에 따라 정상적인 동작 여부를 구분할 수 있습니다.WidgetKit 정책 WidgetKit은 배터리와 리소스를 보호하기 위해 위젯 새로고침에 하루 단위 예산을 두고 있습니다.위젯을 다시 로드하면 CPU, 네트워크, 배터리가 소모되며, 성능 및 배터리 보호를 위해 업데이트 빈도와 횟수를 최소화해야 합니다. Widget 시스템은 사용자의 행동을 배우고, 학습 기간 동안은..
-
[WidgetKit] WidgetKit 간단하게 알아보기/Widget 2025. 5. 21. 15:05
안녕하세요 아렉스입니다 :> 오늘은 WidgetKit 에 대해 얘기해 보겠습니다. iOS 개발에서 WidgetKit은 사용자가 iOS 홈 화면, 잠금 화면, 또는 StandBy 모드에서 앱의 중요한 정보를 빠르고 간편하게 확인할 수 있게 해주는 위젯을 만들 때 사용하는 프레임워크WidgetKit이란?Apple의 위젯 개발 프레임워크iOS 14 이상부터 도입SwiftUI 기반으로 작동앱의 정보를 홈 화면, 잠금 화면, StandBy 등 다양한 위치에 작고 가볍게 시각적으로 표시WidgetKit으로 무엇을 할 수 있는가 ?위젯스마트 스택 지원워치 컴플리케이션라이브 액티비티컨트롤 위젯 위젯은 크게 configurable, nonconfigurable 두개의 타입으로 볼 수 있습니다. @main(시작점)부터 ..
-
[iOS] MultipeerConnectivity(P2P 프로토콜) 소개 및 예제 프로젝트/iOS 📱 2025. 5. 12. 22:07
안녕하세요 아렉스입니다 :> 오늘은 P2P(peer to peer) 를 도와주는 Multipeer Connectivity 프레임워크에 대해 얘기해 보겠습니다. P2P(peer to peer)는 서버를 거치지않고 이용자들을 직접 연결하는 프로토콜입니다.대표적인 P2P 사용 예시는 BitTorrent, WebRTC, Bitcoin P2P 가 있습니다. Multipeer Connectivity 프레임워크는 주변 장치에서 제공하는 서비스의 검색을 지원하고 메시지 기반 데이터, 스트리밍 데이터 및 리소스(예: 파일)를 통해 해당 서비스와의 통신을 지원합니다. iOS에서 프레임워크는 인프라 Wi-Fi 네트워크, P2P Wi-Fi 및 Bluetooth 개인 영역 네트워크를 기본 전송에 사용합니다.macOS 및 tv..
-
[Metal] Metal 이란카테고리 없음 2025. 5. 6. 23:33
타임라인 정리2014년 Metal 1 출시2017년 Metal 2 출시2018년 macOS Mojave(10.14)부터 OpenGL 및 OpenCL의 지원을 중단2022년 Metal 3 출시 Metal은 긴밀하게 통합된 최신 그래픽 및 컴퓨팅 API로, Apple 플랫폼에 맞게 설계 및 최적화된 강력한 셰이딩 언어와 함께 제공Metal을 사용하면 앱이 기기의 GPU에 직접 액세스하여 복잡한 장면을 빠르게 렌더링하고 계산 작업을 병렬로 실행할 수 있습니다낮은 오버헤드의 효율적인 아키텍처사전 컴파일된 셰이더세분화된 리소스 제어 및 멀티 스레딩 지원을 기반. Metal이 적극적으로 이요하는 앱의 카테고리정교한 2D 또는 3D 환경을 렌더링하는 게임프리미어 프로, Final Cut Pro와 같은 비디오 ..