swift 184

iOS Memory Debug Graph 분석해 프로젝트 구조 개선

iOS Memory Debug Graph 분석해 프로젝트 구조 개선 넥스터즈 IT 동아리에서 두달 동안 서비스 개발.팀 빌딩 과정까지도 포함이라 앱 규모가 작았고, 그에 반해 메모리를 매우 과하게 사용하고 있다고 느낌.개발환경SwiftUI를 주력으로 사용하여 개발. 분석메모리릭이 발생한다고 생각해 이를 체크프로파일링을 통해 Leak을 체크 Leaks에 체크되는 부분은 없었지만 메모리가 지속적으로 증가하고 있음. 다음에 생각하는 부분은 앱 구조에서 객체들을 엄청나게 생성하는게 아닐까 싶어서 확인.(누수는 아니여도 뭔가 더티페이지 같은게 생기지 않을까란 접근)개발 기간도 짧고, 코드의 구조나 의존성에 대한 부분 보다는 서비스 자체에 더 큰 목적이 있었음.특히 각 Repository 및 UseCase에서 ..

iOS CoreData 간단한 CRUD

iOS CoreData 간단한 CRUD 가장 기초적으로 CRUD 수행해보자 연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data를 사용하기 위한 사전준비- 프로젝트 생성시이렇게 생성하면 AppDelegate와 SceneDelegate에 기본적으로 Core Data를 위한 코드가 추가됩니다.먼저 SceneDelegate에서는 백그라운드로 넘어갔을때 현재 컨..

iOS CoreData 이론

iOS CoreData 이론 CoreData에 대해서 알아봅시다.1편에서는 개념과 이론을 중점으로 서술하며, 코드 설명은 2편에서 이어집니다.연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data란?- 코코아 개발 환경을 통해 제공하는 인 메모리(In-Memory) 방식의 데이터 관리 프레임워크.- 이를 통해 데이터베이스 한경과 유사하게 데이터 CRUD과정..

[TCA] FocusState

[TCA] FocusState TCA의 FocusState 사용방법 정리 - 목차 - FocusState 사용 예제 - FocusState 사용 예제 SwiftUI의 @FocusState는 TCA 라이브러리의 `bind` view Modifier를 통해 사용 - 자세한 부분은 코드의 주석을 확인 // MARK: - Feature domain struct FocusDemo: Reducer { struct State: Equatable { @BindingState var focusedField: Field? // ✅ 2. 포커스 스테이트로 사용할 bindingState를 선언 @BindingState var password: String = "" @BindingState var username: String..

apple/TCA 2023.09.27

[ARKit] #6 ARKit in iOS

ARKit in iOS iOS 디바이스 카메라 모션 기능 등 우리의 앱에서 증강 현실 경험을 생성하는 방법에 대해서 알아보자. # 장치 권한 확인(Verifying Device Support and User Permission) - 앱이 ARKit을 사용할 수 있고, 사용중에 그 권한이 있는지 확인해야 한다. - ARKit은 iOS 11.0 이상 그리고 A9 프로세서 이상이 필수적임. 몇몇 ARKit 기능들은 더 특정 디바이스의 더 최신버전이 필요함. ARKit은 또한 디바이스의 카메라를 사용하고, 그래서 iOS의 privacy 권한을 유저로부터 허용받아야 함. 장치의 호환성을 우리가 다루는 방법을 ARKit을 우리가 어떻게 사용하냐에 따라 다름. - 만약 후면 카메라를 이용한 AR의 기본적인 기능만 사..

[SceneKit] #4 SCNAction

SCNAction 시작하기 전 간단정리 SceneKit에서 명시적 애니메이션: Core Animation SceneKit에서 암시적 애니메이션: SCNTransaction SCNAction은?: 그룹핑, 시퀀스, 싱글 등 조합 가능. 연결한 모든 노드의 속성을 변경하는 간단하고 재사용 가능한 애니메이션. class SCNAction : NSObject SCNNode액션 이 연결된 객체의 구조와 내용을 변경하기 위해 액션을 사용하지만 액션을 사용하여 scene에 다른 변경을 줄 수 있음. SceneKit에서 액션은 사용자 입력에 따라 자주 변경되는 애니메이션 동작을 구현하는 쉬운 방법을 제공함. # Working with Actions action을 생성하기 위해서는 action과 관련이 있는 메서드의 클..

[SceneKit] #3 Animating SceneKit Content

#3 Animating SceneKit Content 내가 만든 지오메트리들에 이벤트나 애니메이션 등도 사용할 수 있다. # Base Code 일단 기본코드는 이렇게 여기서 하나하나 추가해보자. func make_image_control() { let scene = SCNScene() arSceneView.scene = scene // 카메라 생성 let cameraNode = SCNNode() cameraNode.camera = SCNCamera() cameraNode.position = SCNVector3(x: 0, y: 0, z: 5) scene.rootNode.addChildNode(cameraNode) // Capsule 생성 및 추가 let capsuleGeometry = SCNCapsule(..

SceneKit 개념 간단히 공부하기 (애플 문서 기반)

SceneKit 개념 간단히 공부하기 (애플 문서 기반) SceneKit을 문서를 기반으로 전체적으로 정리하고 Geometry를 간단히 다뤄보는 순서로 진행 들어가기 전 개념 간단히 정리Geometry: 우리가 원하는 어떤 물체 (ex. 정육면체, 구 등)Material: 지오메트리 표면에 어떤 효과를 주는것 (ex. 이미지 넣기, 색 넣기 등)Node: ARSceneView화면에 Geometry를 추가할건데, Node를 통해 좌표를 주어 넣을때 사용. SCNGeometry 클래스material이 정의된 표면에 Scene에 표시할 수 있는 3차원 모양(model 또는 mesh라고도 부름) SceneKit에서 SCNode 객체에 연결된 지오메트리는 Scene의 Visible 요소를 구성하며, 지오메트리에 ..

ARKit 기본 개념 간단히 정리 (애플 문서 기반)

ARKit 기본 개념 간단히 정리 (애플 문서 기반) VisionOS를 공부하면서 ARKit부터 차근히 쌓아야 할 것 같아서 정리. 프로젝트 환경Xcode 15.0 beta 3iOS 17.0 +UIKitSnapKit, RxSwift 프로젝트 생성SwiftUI와 UIKit중 UIKit를 기반으로 설정 UIKit 자료가 더욱 풍부하며 UIKit으로 학습해도 추후에 SwiftUI로 뷰만 래핑해서 사용하거나 혹은 SDK형태로 기능 구현을 유지한 채 SwiftUI로 UI만 다시 작성할 수 있기에 학습 측면에서 UIKit이 더 낫다는 판단. 프로젝트 파일 설명import UIKitimport SceneKitimport ARKitclass ViewController: UIViewController, ARSC..

[SwiftUI] EqutableView (feat. POD)

- EqutableView란?> EqutableView는 이전 값과 비교하여 새 값이 이전 값과 동일한 경우 자식 업데이트를 방지하도록 설계된 뷰입니다. `iOS 13.0+` `iPadOS 13.0+` `tvOS 13.0` `watchOS 6.0+` `visionOS 1.0+ Beta [apple-docs-EqutableView](https://developer.apple.com/documentation/swiftui/equatableview) 💡 들어가기 전.- 아래의 개념에 대한 지식이 반드시 필요함. 필요한 이유는 글 제일 아래에서 설명   - [Plain ol' Data](https://rldd.tistory.com/552)  EqutableView Usage1. 내가 EqutableView로 ..