ios 29

2024년 watchOS, watchKit, watchExtension 개발

오랜만입니다 :) 요즘 다시 swift로 watchOS 를 개발하고 있어서 포스팅 하나 남깁니다! # watchApp, watchApp WatchKit Extension옛날 워치 앱 코드를 작업하다 보니 watchApp, watchApp WatchKit Extension 이렇게 두 개가 있더라구요 이렇게 말이죠.. 그런데 테스트로 만들어본 프로젝트에서 워치 앱을 만들어봤는데,  전혀 다른 구조더라구요. scheme도 다르고 target도 달라서 이게 뭐지 싶었는데 찾아보니까 Xcode 14이후 부터는 watchKit Extension 필요없이 바로 watchApp으로 단일 앱 타겟으로 만들어진다고 해요. 그래서 크게 신경 안써도 되는 문제였어요. # Watch ConnectivityiOS랑 watchOS..

iOS/watchOS 2024.06.12

[회고] 2023년

2022년 회고연말부터 해서 연초까지 건강이 좋지 않았다.. 그리고 여러 소식과 설날이 겹치면서 정신없이 지내다가 이제야 회고를 쓰게 되었다. 2023년 iOS 공부를 시작한 지 1년이 되었다. iOS 1년 차의 생각으koreamango.tistory.com 0. 서론2024년이 되어 2023년 회고록을 작성해보고자 한다. 지나고 나니 생각보다 너무 빠르게 지나갔던 올해였다.. 주변에도 올해가 너무 빠르다고 생각하는 사람이 많았다. 2022년 일들이 다 엊그제 같은데 벌써 1년이 지났다는게 새삼.. 문득... 더 나은 2024년을 위해 2023년 회고를 시작해보도록 하겠다. iOS MateList를 RxSwift로 리팩토링하면서 Observable Stream을 사용해 상태(데이터)를 변화시키고 전파시키..

회고록 2024.01.16

[WWDC] Meet ActivityKit

Meet ActivityKit - WWDC23 - Videos - Apple Developer Meet ActivityKit - WWDC23 - Videos - Apple Developer Live Activities are a glanceable way for someone to keep track of the progress of a task within your app. We'll teach you how you can... developer.apple.com Live Activity 이벤트나 작업 진행 상황을 지켜보는 방법 Live Activity는 시작과 끝이 나뉘어 있으며 백그라운드 앱 런타임이나, 푸시알림을 통해 실시간 업데이트를 제공한다. Dynamic Island는 한번에 최대 2개의 실..

iOS/ActivityKit 2023.11.20

2022년 회고

연말부터 해서 연초까지 건강이 좋지 않았다.. 그리고 여러 소식과 설날이 겹치면서 정신없이 지내다가 이제야 회고를 쓰게 되었다. 2023년 iOS 공부를 시작한 지 1년이 되었다. iOS 1년 차의 생각으로 회고를 작성해 보면서 2022년을 되돌아보고 앞으로 무엇을 할지 회고록을 작성하면서 정리해보려고 한다. 1월 ~ 3월 안드로이드 앱 개발만 해왔던 나는, 대학교 3학년을 마치고 겨울 방학에 USG 공유대학에서 진행하는 iOS 앱 개발 심화반에 신청했다. 이 수업은 함께 수업듣는 학생들과 팀을 만들어 기획부터 개발, 출시까지 진행하는 커리큘럼으로 진행되었다. 1월에는 기획과 Swift 언어, Xcode, Storyboard 이론에 대해 배웠다. 코더스하이에서 인프런 강의를 제공해주었고 보고 따라 하며 ..

회고록 2023.01.26

[iOS] RxSwift - 응용해보기

🙉 RxSwift ❌ Rx가 없이 UI 설계 텍스트 필드 델리게이트를 잡음 텍스트 체인지 이벤트를 받고 패스워드나 아이디 분기를 잡고 valid 체크하고 true false를 통해 hidden 을 on off 함 둘다 valid 맞으면 버튼을 hidden off ⭕️ Rx를 사용해 UI 설계 데이터가 필요한데 나중에 데이터를 줄 때 비동기 사용 아이디랑 비밀번호를 눌렀을 때 값을 나중에 주니까 비동기로 처리가능 스트림에 클릭이벤트, 텍스트 체인지 이벤트를 넣고 서브스크라입에 전달됨 UI 이벤트가 처리되는 것도 비동기로 처리 ⭐️ 응용 첫 코딩 private func bindUI() { idField.rx.text //.filter{ $0 != nil } //.map{ $0! } .orEmpty .map(..

iOS/RxSwift 2022.07.23

[iOS] RxSwift - 기본 문법 정리

⭐️ Observable 1️⃣ Observable Reactive X에는 옵저버가 있다. 이 옵저버는 Observable을 구독해서 지켜본다. Observable이 배출하는 하나 또는 연속된 항목에 옵저버는 반응한다. 이러한 패턴은 동시성 연산을 가능하게 한다. 그 이유는! Observable이 객체를 배출할 때까지 그 시점을 감시하는 관찰자를 옵저버에 두고, observable이 객체를 배출하면 관찰자는 옵저버에게 알림을 준다. 위 내용을 마블 다이어 그램으로 요약하면 다음과 같다. (직역 주의) 이것은 타임라인이다. / Observable 의 / 시간은 왼쪽에서 오른쪽으로 간다. 이것은 아이템들이다. / 생성된 / Observable에 의해 이 수직선은 나타낸다. / Observable이 성공적으로..

iOS/RxSwift 2022.07.23

[iOS] Unit Test - 단위 테스트 어떻게 하는건데.. (4)

[iOS] TDD TDD (테스트 주도 개발) 테스트 주도 개발 (Test-driven development TDD) 은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링 한다. - 위키백과 - TDD(Test Driven Development)는 개발을 하는 데에 있어서 테스트가 주가 되어 개발을 이끌어나간다는 의미로 소프트웨어를 개발하는 방법론 중에 하나입니다. 지금까지 우리가 유닛 테스트를 작성해온 것들을 돌아보면 모두 이미 작성된 메서드에 대해서 테스트를 만들어주었는데요, 테스트 주도 ..

iOS/Unit Test 2022.07.12

[iOS] Unit Test - 단위 테스트 어떻게 하는건데.. (3)

🙈서론 이제 실전으로 들어가보자. 예제로 Unit Test를 해보려고 한다. @testable 테스트 메서드를 작성하기 전에 @testable import [타켓 명] 라는 코드를 작성해줘야 한다. @testable은 Unit Test에서 실제 앱 타깃에 있는 코드들에 접근하기 위한 키워드이다. 보통 앱 코드 내부에서는 internal 수준의 접근 제한으로 타입을 만들어주는 것이 일반적이다. 그렇기 때문에 앱 타깃의 타입들에 외부 타깃에서 접근하는 것이 불가능한데, @testable은 테스트 하는 동안에는 다른 타깃의 코드에 접근할 수 있도록 해주는 것이다. SUT (System Under Test) Test 클래스의 첫 줄에 test할 타입을 넣은 프로퍼티를 만든다. setUpWithError가 먼저 ..

iOS/Unit Test 2022.07.12

[iOS] Unit Test - 단위 테스트 어떻게 하는건데.. (2)

🙈서론 이번 글은 야곰 아카데미의 한 강의를 거의 따라썼다시피.. 네.. 그렇습니다.. 이해하면서 쓰고 있어요 ㅎㅎ,, 이 파트는 Test file을 보며 마무리 짓습니다. XCTest XCTest는 유닛 테스트, 퍼포먼스 테스트, UI 테스트를 만들고 실행하는 프레임 워크이다. XCTestCase 테스트 클래스가 상속하고 있는 XCTestCase는 무엇일까? XCTestCase 는 추상 클래스인 XCTest의 하위 클래스로, 테스트를 작성하기 위해 상송해야 하는 가장 기본적인 클래스이다. XCTest는 테스트를 위한 프레임 워크의 이름이기도 하고, 테스트에서 가장 기본이 되는 추상 클래스의 이름이기도 하다. XCTestCase를 상속받은 클래스에서는 test에서 사용되는 다양한 프로퍼티와 메서드를 사용..

iOS/Unit Test 2022.07.08

[iOS] Unit Test - 단위 테스트 어떻게 하는건데.. (1)

🙈 서론 여러 세션이나 채용공고를 보면 단위 테스트에 대한 이야기를 많이 접할 수 있다. 테스트하며 코딩을 하면 유지보수가 용이하고 코드 안정성을 높이는 등 다양한 장점이 있다. 여태 테스트의 중요성에 대해 잘 알고 있었지만, 내 프로젝트에는 적용해보진 못했다. 그래서 한번 자세하게 파보고자 정리해보려고 한다. ❓Unit Test에 대해 정의 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차 즉, 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차를 말한다. 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 해준다. 이상적으로 테스트 케이스는 분리되어야 한다. 이를 위해 가짜 객체(Mock obje..

iOS/Unit Test 2022.07.02