본문 바로가기

Application/iOS

(4)
[iOS] AfterGPT 출시와 생각 2월 말에 AfterGPT가 출시되었다. https://apps.apple.com/in/app/aftergpt/id6477769508 ‎AfterGPT ‎AfterGPT는 ChatGPT 영어 스피킹 기록장입니다. ChatGPT와 대화 후에, AfterGPT에서 해당 대화를 저장 및 관리할 수 있습니다. 또한 사용자가 사용했던 영어 표현에 대해 더 자연스러운 표현을 제안받을 apps.apple.com 애당초 토이 프로젝트 느낌으로 조금씩 개발을 하였다. 그런데 막상 완성되고 또 내가 직접 이용하다보니 이제는 욕심이 나서 하나 둘씩 추가하고 싶은 기능들이 있다. 그와 동시에 해당 어플이 가지고 있는 문제점들도 속속히 보이고 있다. 그와 관련된 내 생각들을 정리하고자 한다. 당연하게도 ChatGPT 정책에 강..
[iOS] iOS App Template 분석 https://iosapptemplates.com/templates/swiftui-starter# Free SwiftUI Starter Project - iOS App Templates | Download Download our free iOS SwiftUI starter project to learn SwiftUI quickly. Boilerplate app coded in SwiftUI - layout, images, navigation - open-source in SwiftUI iosapptemplates.com SwiftUI starter project이다. 총 12개의 앱 스크린으로 구성된 프로젝트의 코드를 볼 수 있다. 아래는 해당 디렉토리 구조이다. View 파일은 단순히 UI 요소에 대한..
[iOS] 상태 관리 SwiftUI에서는 SSOT를 기반으로 상태를 관리한다. SSOT는 Single Source Of Truth로 데이터의 값을 결정하는 곳이 단 하나의 위치 에서만 존재 해야한다는 이론이다. 이를 통해 데이터의 일관성을 준수한다. 아래에서는 구체적인 방법들에 대해서 정리하였다. 1. @State와 @Binding @State 속성 래퍼는 뷰 내에서 변경 가능한 상태를 나타낸다. 변경 가능한 상태를 사용하면 뷰에서 해당 상태가 변경될 때마다 자동으로 다시 렌더링된다. @Binding 속성 래퍼는 다른 뷰의 @State 속성과 바인딩되어, 두 뷰 간에 데이터를 공유하고 동기화하는 데 사용된다. import SwiftUI struct ContentView: View { @State private var isTo..
[iOS] iOS를 선택한 이유 그동안 안드로이드 어플 개발을 목표로 공부를 진행해왔다. 주로 안드로이드 어플 개념에 대한 공부였고 실제 프로젝트 코드 기반으로 진행했었다. 다만 진행 과정에서 어느 정도 생각이 바뀐 부분이 있어서 정리하고 왜 iOS 개발을 하기로 했는지 설명해야겠다. 이렇게 한번 정리해두면 나중에 쉽게 리마인드를 할 수 있어 좋다. 1. 내가 사용할 어플 나는 아이폰 유저이다. 그렇기에 안드로이드 어플을 사용할 수 없다. 내가 사용할 수 없다면 재미가 확 줄어든다. 나 자체가 고객이 되어야 훨씬 재밌게 개발을 할 수 있다. 물론 안드로이드를 사용하는 사람이 더 많고, 그 곳이 더 시장성이 있을 것이다. 다만 그것을 보고 안드로이드 개발을 진행하기엔 우선 재미가 없고, 재미가 없으면 끈기있게 공부를 진행할 힘이 안난다...