일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- color 변경
- 소셜로그인
- codebase
- testflight error
- AppleLogin
- snapkit
- CryptoSwift
- 하단 네비게이션바
- 로그출력
- RxCocoa
- navigationbar
- 백그라운드 진입시 화면
- 스토리보드 없이
- archive error
- failed: No such file or directory (2)
- RxSwift
- print vs dump
- iOS 광고달기
- reactorkit
- 화면 가리기
- 비공개 앱 배포
- Business Manager
- Apple Enterprise
- 로그 찍기
- 아카이브 에러
- 테이블뷰 밀어서 삭제
- then
- 테이블 뷰
- 테이블뷰 셀 밀어서 삭제
- MVVM
- Today
- Total
목록iOS (42)
ukSeung iOS
이런식의 단순암기는 지양하지만 급한분들을 위해 가급적 가볍게 작성되었습니다. 제 경험을 바탕해서 작성하였으니 무수한 태클, 피드백, 훈수 부탁드립니다.작성되지 않은 질문은 작성중입니다. 2024년 05월 03일 작성중그럼 모두 면접 화이팅!🙇🏻♂️ iOSBounds 와 Frame 의 차이점을 설명하시오.Frame : SuperView기준의 좌표계에서 x, y, width, height를 부여Bounds: 자체 좌표계에서 x, y, wdith, height를 부여실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하시오.가상 디바이스의 장점 : 테스트가 용이하여 빠르게 개발이 가능하다.할 수 없는 것 - 푸시 알림, 가속도 센서, 마이크, 전화, 카메라앱의 콘텐츠나 데이터 자체를..
안녕하세요 욱승입니다. 이번포스팅 에선 App version을 가져오는 함수를 구현해보겠습니다. var version: String? { guard let dictionary = Bundle.main.infoDictionary, let version = dictionary["CFBundleShortVersionString"] as? String else {return nil} return version //1.0.0 } var build: String? { guard let dictionary = Bundle.main.infoDictionary, let build = dictionary["CFBundleVersion"] as? String else {return nil} return build //1 }
안녕하세요 욱승입니다. 오늘은 privacy-sensitive 에러시 해결방안을 알아보겠습니다. 우선 오류 메시지 해결방안 => Info.plist에 Privacy - Photo Library Usage Description에 내용을 넣어줘야함 (앱이 사진에 접근하려는데 허용 하겠냐는 팝업에 대한 Description) 혹은
안녕하세요 욱승입니다. 이번 포스팅에선 defer 블록에대해 알아보겠습니다. defer 블록은 함수나 메소드에서 코드의 흐름과 상관없이 가장 마지막에 실행되는 블록입니다. 지연 블록이라고 부르기도 하는 이 블록에 작성된 구문은 작성된 위치에 상관 없이 항상 함수의 종료 직전에 실행되기 때문에, 종료 시점에 맞추어 처리해야 할 구문이 있다면 우리는 어디에작성해야 할지 고민하지 않고 defer 블록에 넣어두기만 하면 됩니다. 실제로 이 블록은 함수에서 사용된 각종 리소스의 처리나 해제, 연결 종료 등의 구문을 처리하는 용도로 유용하게 사용됩니다. defer 특성 1. defer 블록은 작성된 위치와 순서에 상관없이 함수가 종료되기 직전에 실행된다. 2. defer 블록을 읽기 전에 함수의 실행이 종료될 경우..
안녕하세요 욱승입니다. SwiftUI 스택은 3가지가 있는데요. VStack - 수직나열 HStack - 수평나열 ZStack - 자식들을 오버레이하고 두 축을 배열하는 뷰 예제 코드 VStack HStack ZStack ZStack은 자식들은 오버레이하고 두 축으로 배열하니 중첩이 됩니다.
안녕하세요 욱승입니다. 이번시간에는 In-out 파라미터에 대해 알아보겠습니다. 오류 캡쳐본 원인 전달받은 파라미터를 함수 내부에서 변경하려고 시도하면 컴파일 에러가 발생함. Swift에서 전달받은 파라미터는 상수(let)으로 취급하기 때문. 해결방안 inout 키워드를 사용하면 전달받은 파라미터를 함수 내부에서 변경할수 있음 ! 예제코드 차이가 보이시나요? 1. 호출부 변수 앞에 '&' 2. 함수 타입 앞 inout 이런식으로 함수 내부에서 전달받은 파라미터 값을 변경할 수 있습니다!
안녕하세요 욱승입니다. 9월 20일 퇴근쯔음 배포를 위한 심사를 올려놨는데 리젝 당했네요 번역 가이드라인 2.3.10 - 성능 - 정확한 메타데이터 귀하의 제출물에는 App Store 사용자와 관련이 없을 수 있는 타사 플랫폼에 대한 정보가 포함되어 있습니다. 특히, 설명에는 Android 참조가 포함되어 있습니다. 앱 또는 해당 메타데이터에서 타사 플랫폼을 참조하는 것은 일반적으로 현재 기기가 제공하는 경험에 초점을 맞추고 있는 앱 스토어 사용자에게는 관련이 없습니다. 다음 단계 이 문제를 해결하려면 앱 설명, 프로모션 텍스트, 새로운 정보, 미리 보기 및 스크린샷을 포함하여 앱 및 메타데이터에서 이 정보의 모든 인스턴스를 제거하십시오. 앱의 기능 및 타사 플랫폼과 상호 작용하는 방식을 잘못 이해했다고..
안녕하세요 욱승입니다. 이 포스팅에선 Set의 기본 집합 연산 정리에 대해 알아보겠습니다. 예제코드 var oddDigits : Set = [1, 3, 5, 7, 9] // 홀수 집합 let evenDigits : Set = [0, 2, 4, 6, 8] // 짝수 집합 let primeDigits : Set = [2, 3, 5, 7] // 소수 집합 oddDigits.intersection(evenDigits).sorted() // [] oddDigits.symmetricDifference(primeDigits).sorted() // [1, 2, 9] oddDigits.union(evenDigits).sorted() //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] oddDigits.subtra..
안녕하세요 욱승입니다. 이 포스팅에선 싱글톤 패턴에 대해 알아보고 Swift예시를 보며 이해하는 시간을 가지겠습니다! 1. 싱글톤 패턴(Singleton Pattern) 이란? 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글톤 패턴(Singleton Pattern)이라고 한다. 주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다. 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미 !! 2. 싱글톤 패턴의 장단점 장..
안녕하세요 욱승입니다. 오늘은 구조체와 클래스차이에 대해 알아보겠습니다. 요약 struct - 복사 개념 - 참조하는 값이 바꿔도 기존 값에는 영향이 없음 class - 공유 개념 - 참조하는 값이 바뀌면 기존 값도 영향을 받아 바뀜 class와 struct의 공통점 값을 저장하기 위한 프로퍼티를 정의할 수 있음 기능을 제공하기 위해 메소드를 정의할 수 있음 subscript 문법을 이용해 특정 값에 접근할 수 있음 생성자를 사용해 초기 상태를 설정할 수 있음 기본 구현에서 기능을 확장할 수 있음 Protocol을 채택하여 기능을 설정할 수있음 class(클래스) 참조 타입 ARC로 메모리 관리 같은 클래스 인스턴스를 여러 개 변수에 할당한 뒤 값을 변경시키면 할당한 모든 변수에 영향을 줌 상속 가능 타..