| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- UITableView
- UITableViewCell 동적높이
- Realm
- Decodable
- CustomCode
- 정보처리기사
- uikit
- ios외부디바이스연결
- 정보처리기사 실기
- parse
- 프로그래머스
- AVFoundation
- UITableViewCell dynamic height
- Pod
- usb카메라연결
- avcapturesession
- programmers
- 위클리챌린지
- 정보처리기사 실기 요약본
- ios 26
- JSONParser
- cocoapods
- IOS
- Codable
- JSON
- ios외부카메라연결
- Xcode
- 2018 KAKAO BLIND RECRUITMENT
- swift
- ios카메라유선연결
- Today
- Total
목록전체 글 (41)
iOS 개발일기
소프트웨어 생명주기 모델(SDLC; Swoftware Development Life Cycle)소프트웨어 생명주기 : 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차단계 : 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수종류 : 폭포수 모델(Waterfall Model, 고전적 생명주기 모델)소프트웨어 공학에서 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형소프트웨어 개발 과정의 한 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형단계 : 타당성 검토 → 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수프로토타이핑 모델(Prototyping Model)고객이 요구한 주요 기능을 프로토타입으로 구현, 고객의 피드백을 반영하여 소프트웨어 개발..
원인Xcode 15 이상에서 코코아팟을 설치하거나 업데이트 했을 경우 충돌하면서 생기는 현상(Pod file 내에 아무것도 설치되어 있지 않거나 실행 권한을 필요로 하는 라이브러리나 프레임워크에 한해서 발생하는 것 같다.) Xcode 15 버전 부터 'ENABLE_USER_SCRIPT_SANDBOXING' 설정이 필수적으로 활성화 되기 때문이라고 한다. 해결 방법 Project → Target → Build Settings → Build Options → User Script Sandboxing (Yes → No)(User Script Sandboxing 옵션을 No 로 변경해주어 Swift가 아닌 파일을 읽을 수 있도록 해줍니다.) BEFORE AFTER 참조https://stackoverfl..
Xcode 16 버전으로 업데이트 후 프로젝트를 생성 후 pod init을 하려하는데 에러가 발생했습니다.CocoaPods의 버전을 1.16.x(최신 버전)으로 업데이트 하게 되면 에러가 발생하지 않는 것을 확인했습니다. 본 에러가 발생하기 전 두 개의 에러가 더 있었는데 동일한 에러가 발생하시는 분이 계실 경우 도움이 되고자 링크 남겨 놓았습니다.1. 2024.09.29 - [iOS/Xcode] - [Xcode] xcode-select: error: tool 'xcodebuild' requires Xcode 에러 해결 방법2. 2022.03.18 - [iOS/Xcode] - [Xcode] M1 환경에서 발생하는 pod update 에러 해결 방법 RuntimeError - `PBXGroup` att..
프로젝트에 코코아팟 설치를 위해 'pod init' 해주니 아래와 같은 에러가 발생했습니다.xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance 원인은 Command Line Tools 이 선택되어 있지 않아 발생하는 에러였습니다.검색을 해본 결과 여러 방법이 있었지만 필자의 경우 Xcode 내에서 Command Line Tools 버전을 선택하는 방법으로 해결하였습니다. Xcode → Setting → Locations → Command Line Tools → 버전 선택 참조h..
pod 업데이트 후 Charts 라이브러리에 에러가 발생하여 확인해보니 프로토콜을 준수하지 않는다고 합니다.두번째 에러 내용을 보고 'replaceSubrange(_:with:)' 메소드를 추가하여야 된다 생각하여 메서드 내 작성할 내용을 알아보기 위해 검색을 해본 결과public func replaceSubrange( _ subrange: Swift.Range, with newElements: C) where C : Collection, Element == C.Element { entries.replaceSubrange(subrange, with: newElements) notifyDataSetChanged()} 위와 같이 작성하여 추가해주면 된다는 것을 확인했습니다. 참조..
SDK does not contain 'libarclite' 에러가 발생하는 원인Xcode의 버전이 14.3 이상일 경우, pod 파일을 업데이트한 후에 빌드를 하게 되면 빌드 시 각 라이브러리 또는 프레임워크의 최소 지원 버전이 8.0 이하일 경우 발생하는 에러 해결 방법위 사진에 에러 내용을 직역해보면 라이브러리의 최소 배포 버전을 올려보라고 적혀있습니다. 방법 1. 에러가 발생하는 라이브러리의 최소 배포 버전 올리기 Pods → 라이브러리 및 프레임워크 → Minimum Deployments → 버전 변경 방법 2. Pod 파일 수정을 통한 프로젝트 내 모든 라이브러리 또는 프레임워크 배포 버전 변경post_install do |installer| installer.generate..
func tableView( _ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { ... }func collectionView( _ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { ... } 위 두 함수가 호출되지 않는 이유 1. delegate를 설정해주지 않았을 경우tableView.delegate = self collectionView.delegate = self 위 같은 방법은 단순한 방법이라 실수를 했을 경우가 많을 것 같네요. 2. tableView 또는 collectionView의 상위 뷰가 'tapGesture'를 가지고..
firebase와 project를 연동하려고 podfile을 update하려고하는데 에러가 나더라구요. [IMPORTANT] Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports. 구글링 좀 해보니 M1에서만 일어나는 이슈라고하네요,, % sudo arch -x86_64 gem install ffi% pod install터미널에서 해당 프로젝트 경로에서 실행해주니 문제 없이 잘 업데이트가 되더군요.
오늘은 JSON 파싱 방법 중 하나인 JSONSerialization에 대해서 알아보겠습니다. JSONSerialization은 Decodable에 비해 제약이 심하지 않죠.그렇지만 Decodable이 워낙 간단하게 구현할 수 있는지라... 기본적인 JSONSerialization먼저 문자열을 하나 선언해주겠습니다.let jsonString = """ { "user_id" : 0, "user_name" : "hoon", "user_age" : 30 } """ 그 다음 JSONSerialization을 해보도록..
전편 [Swift] JSONParser - Decodable(1) Swift에서 JSON 파싱을 위한 방법에는 JSONSerialization Decodable 이 두가지 방법이 있습니다. 오늘은 Decodable을 이용하여 JSON 파싱을 하는 방법에 대해서 알아보겠습니다. 먼저 파싱에 필요한 예제 데이 93bpm.tistory.com 이번 편에서는 Decodable에 대한 이해도를 조금 더 높힐 수 있는 시간을 가져보겠습니다. Decodable은 사용하는 방법이 편하지만 생각보다 제약이 많기 때문에 정확하게 이해하고 사용해야합니다. 간단한 형식이라면 문제없이 사용할 수 있겠지만 언제나 간단한 파싱만 하지않는 법이죠...허허 어떠한 상황에서 에러가 나는지 어떻게 대처해야되는지 몇 가지 알아보도록 하겠..