iOS

    Swift UI - Observable Object로 이벤트 프로그래밍

    기존에 UIKit에서 화면 데이터의 값이 변경되었을 때 rxSwift를 통해서 변경을 감지하고 View를 갱신해주었습니다. SwiftUI도 마찬가지로 데이터 변경을 감지하고 View를 갱신할 수 있도록 하는 Combine 프레임워크가 있습니다. Combine 프레임워크는 iOS 13 이상부터 사용 가능합니다. Combine 프레임워크의 ObservableObject 는 아주 쉽게 여러분들의 데이터가 변경될 때마다 View를 갱신하는 코드를 작성하게 도와줍니다. 가볍게 ObservableObject 이 뭔지 알아보고 실제로 어떻게 사용하는지 예시 코드를 보겠습니다. ObservableObject ObservableObject 는 Combine 프레임워크에 포함된 Publisher입니다. Observable..

    swift ui - navigation 활용하기

    swift ui - navigation 활용하기

    Swift UI에서 Navigation을 하려면 NavigationView 를 사용해야 한다. Swift UI라고 해서 기존에 없던 기능이 제공되는 것은 아니고 기존의 UI Kit의 네비게이션 시스템을 View로 다룰 수 있게 해놓은 것이다. iOS 버전이 증가하면서 부족했던 네비게이션 기능들이 추가되고 있으므로 업데이트를 항시 확인해주어야 한다. iOS 16부터는 NavigationStack 을 사용하는 것이 권장사항이다. 아직 16버전을 타겟하는 것은 이르기 때문에 iOS 17정도 나왔을 때 마이그레이션을 고민해본다. NavigationView NavigationView는 하나의 View Stack을 만들어주고 관리할 수 있게 한다. 사용법은 매우 간단하다. NavigationView 안에 페이지 뷰..

    Swift | lazy property에 대해 알아보자

    Swift | lazy property에 대해 알아보자

    Lazy Property Lazy Property는 Property의 종류 중 하나입니다. 사용하는 데에 소모되는 비용이 큰 프로퍼티를 Lazy Property로 사용하면 비용 절감의 효과를 누릴 수 있습니다. 예를 들어서 다음과 같은 클로저 프로퍼티가 있다고 가정해보겠습니다. class MyClass{ var myProperty: Int = { // 비싼 연산 수행 } } MyClass의 인스턴스가 생성될 때마다 myProperty 프로퍼티가 할당되야 하고 클로저 내부의 비싼 연산이 수행될 것입니다. 물론 비싼 비용으로 만든 이 프로퍼티를 사용해야만 한다면 어쩔 수 없이 비용을 감수해야겠지만, 실제로는 이 프로퍼티가 사용되지 않을 수도 있습니다. 만약 사용되지 않을 경우 기껏 비용을 들여 프로퍼티를 만..

    [Flutter Apple Sign In] 플러터 애플 로그인 | 3. 코드 작성

    [Flutter Apple Sign In] 플러터 애플 로그인 | 3. 코드 작성

    안녕하세요 개발자 베베입니다. 저번 포스팅에 이어서 플러터 ios 애플 로그인 구현 마지막 단계에 대해 알아보도록 하겠습니다. 이전 포스팅 [Flutter Apple Sign In] 플러터 애플 로그인 | 2. 파이어베이스 설정하기 안녕하세요 개발자 베베입니다. 저번 포스팅에 이어서, 이번에는 애플 로그인을 사용하기 위해 파이어베이스 프로젝트에서 설정해야 할 내용들에 대해 알아보도록 하겠습니다. 이전 포스트 [Flu bebesoft.tistory.com 1. Xcode에서 Apple Sign In 활성화 빌드될 앱 파일에 애플 로그인의 기능이 사용된다는 정보를 넣어주기 위해 Xcode에서 애플 로그인 기능을 활성화해줘야 합니다. /ios 디렉토리를 오른쪽 클릭으로 눌러서 Xcode를 열고 아래 과정을 거..

    [Flutter Apple Sign In] 플러터 애플 로그인 | 2. 파이어베이스 설정하기

    [Flutter Apple Sign In] 플러터 애플 로그인 | 2. 파이어베이스 설정하기

    안녕하세요 개발자 베베입니다. 저번 포스팅에 이어서, 이번에는 애플 로그인을 사용하기 위해 파이어베이스 프로젝트에서 설정해야 할 내용들에 대해 알아보도록 하겠습니다. 이전 포스트 [Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기 안녕하세요 개발자 베베입니다. 이번 포스팅에서는 앱에 애플 로그인 기능을 추가하기 위해 나의 앱에 Apple Sign In 기능을 활성화하는 방법에 대해서 알아보도록 하겠습니다. 애플 로그인에 관 bebesoft.tistory.com 1. 애플 로그인 활성화하기 앱에서 사용하는 파이어베이스 프로젝트로 접속한 후, 왼쪽 메뉴의 [빌드] -> [Authentication]을 들어갑니다. Authentication 페이지의..

    [Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기

    [Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기

    안녕하세요 개발자 베베입니다. 이번 포스팅에서는 앱에 애플 로그인 기능을 추가하기 위해 나의 앱에 Apple Sign In 기능을 활성화하는 방법에 대해서 알아보도록 하겠습니다. 선행 과정 파이어베이스와 플러터 프로젝트가 연결되어 있어야 함 Apple Developer Program에 가입되있어야 함 애플 로그인을 디버깅하거나 사용하기 위해선 먼저 애플 개발자 프로그램에 가입되있어야 합니다. 애플 개발자 프로그램은 제가 가입했을 당시 기준으로 12만원정도 하며 1년마다 갱신해주어야 합니다. 뭐.. 비싸긴한데 앱스토어에 앱을 출시하기 위해선 반드시 가입해야 하니 눈물 흘리며 가입해주도록 합시다.. 애플로그인이 필요한 이유 2020년부터 앱스토어에 출시되는 모든 어플은 구글로그인, 트위터 로그인같은 타사 인..

    IOS 앱 개발 시에 로컬 데이터는 어떤 디렉터리에 저장해야 할까?  | Flutter

    IOS 앱 개발 시에 로컬 데이터는 어떤 디렉터리에 저장해야 할까? | Flutter

    디렉터리의 중요성 앱에 로컬 데이터를 활용하려면 로컬 데이터의 특성에 맞게 저장되는 디렉터리를 정해주어야 한다. 안드로이드 앱같은 경우 이 점을 지키지 않아도 앱 심사가 거부되는 등의 문제가 발생하지 않지만, IOS 앱은 문제가 발생한다. 예를 들어 앱에서 활용하는 유저의 정보 파일을 TMP 디렉터리 ( 임시 파일 디렉터리 )에 저장하여 사용하고 있다면 데이터가 삭제될 위험도 있고 IOS 같은 경우 iCloud 백업 기능을 사용할 수 없다. 이 글에서는 IOS 앱이 사용하는 디렉터리의 구조와 목적을 알아보고, 추가적으로 path_provider 패키지를 사용해서 아주 쉽게 경로를 얻는 방법을 알아보도록 한다. IOS 앱의 구조 모든 IOS 앱은 샌드박스(SandBox)라는 자신만의 공간을 갖는다. 샌드박..