본문 바로가기

전체 글59

[iOS/Swift] accesstoken 저장이 안될때 애플로그인 구현중 accesstoken 저장이 안되는 문제가 생겻습니다. 제가 진행하려는 상황은 💡 애플로그인 버튼을 눌럿을 때 서버에서 idtoken, refresh , access 토큰을 반환받음 → 반환받은 refresh,access 토큰을 userdefault에 저장하고 저장된 userdefault 를 이후 페이지에서 사용함 그러기 위해서는 userdefault에 코드를 저장하고 저장이 되어있다면 다음 페이지에서accessToken 을 사용하고자 하는 코드를 구현하는 중이엿습니다. 해당 동작중, if문이 동작하게 햇는데 자꾸 else로 탈출을 하는 경우였습니다. 실패 1 AF.request(url, method: .post, parameters: parameters, encoding: JSONEn.. 2023. 5. 21.
[Swift/에러해결] [NSNUll pointsize] Sizunrecognized selector sent to instance 보통 이러한 에러가 발생한 경우에는 셀렉터 인스턴스가 함수에 제대로 전달되지 않았을 때 발생하는 오류입니다. 그러기 때문에 대부분의 경우 스토리 보드에서 @IBoutlet이 연결 이름이 바뀌엇을 경우가 대부분이엿습니다. 위처럼 노란색 경고가 떳을때가 대부분입니다. 하지만 [Nsnull pointsize] 가 앞에 뜬다면 해당 오류는 아닙니다. 애초에 unrecognized~~ 에러가 뜬다는것은 인스턴스가 전달이 제대로 되어있지 않다는것이고 전달이 안되는 이유는 저의 경우에 커스텀 폰트를 인식하지 못했기 때문입니다. 폰트파일+ infp.plist 에만 폰트를 넣었는데 target에서 추가로 해줘야 하는것을 놓쳐서 해당 에러가 낫습니다. target-copy Bundle Resource 에서 폰트를 추가하여.. 2023. 3. 29.
[CS] 혼자 공부하는 컴퓨터구조+운영체제 03. 명령어 책과 강의를 통해 개인적으로 공부한 기록입니다. 3.1 소스 코드와 명령어 고급언어와 저급언어 고급 언어(high-level programming language): 사람이 이해하기 쉬운 언어이다. 저급 언어(low-level programming language): 컴퓨터가 이해하고 실행하는 언어이다. 저급 언어에는 기계어와 어셈블리어가 있다. 기계어(machine code): 0과 1로 이루어진 이진수로 이루어진 언어이다. 어셈블리어(assembly language): 기계어와 1:1 대응되는 기호로 이루어진 언어이다. 컴파일 언어와 인터프리터 언어 컴파일 언어(compile language): 컴파일러에 의해 저급 언어로 변환되는 언어이다. 소스코드가 컴파일러에 의해 목적 코드가 생성된다. → 외국.. 2023. 3. 22.
[컴퓨터 구조]< 혼자 공부하는 컴퓨터구조 + 운영체제 > - 데이터 책과 강의를 통해 개인적으로 공부한 기록입니다. 02 데이터 1. 0과 1로 숫자를 표현하는 방법 정보 단위 비트(bit): 0과 1을 표현하는 가장 작은 정보 단위 8비트 = 1바이트 1000개 단위 가 킬로바이트(kB) 메가바이트(MB) … 그러나 요즘 와서 1000개와 1024개 구분하기 시작 → kiB,MiB, GiB … 워드(word): CPU가 한 번에 처리할 수 있느 정보의 크기 단위 → 절반이면 하프 두배면 더블… 이진법 이진법(binary): 0과 1로 수를 표현하는 방법 2의 보수를 이용하여 음수 만들기: 어떤 수를 그보다 큰 $2^n$에서 뺀 값 쉽게하기 → 모든 0과 1을 뒤집고 1을 더한다. 플래그(flag)레지스터를 통하여 양수와 음수를 구분하기 때문에 컴퓨터는 안헷갈린다 십육진.. 2023. 3. 20.
[컴퓨터 구조] < 혼자 공부하는 컴퓨터구조 + 운영체제 > - 컴퓨터구조 시작하기 책과 강의를 통해 개인적으로 공부한 기록입니다. 우리가 알아야 할 컴퓨터 구조 지식은 두 가지 컴퓨터가 이해하는 정보 (데이터 + 명령어) 컴퓨터의 네 가지 핵심 부품( CPU 메모리 보조기억장치 입출력장치) 컴퓨터가 이해하는 정보 0과 1로 표현된 정보 데이터 명령어 데이터 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 명령어 데이터를 움직이고 컴퓨터를 작동시키는 정보 (ex 1과 2를 더하라, 안녕하세요를 출력하라…) 즉, 명령어는 컴퓨터를 작동시키는 정보, 데이터는 명령어를 위해 존재하는 일종의 재료. 이런 맥락에서 컴퓨터 프로그램은 명령어들의 모음으로 정의되기도 함. 컴퓨터의 4가지 핵심 부품 중앙처리장치 (CPU) , 주기억장치 (memory - RAM / ROM 보통은 메.. 2023. 3. 20.
[iOS/Xcode] CocoaPods 설치 오류(gem) Apple M1 Pro and macOS Monterey 기준입니다. ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory. HomeBrew에서 cocoapod를 설치할때 위와같은 에러가 난다면.. 1단계(HomeBrew 설치) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh ) 2단계(터미널에서 이 두 명령.. 2023. 3. 3.
[iOS/Swift] GoogleLogin구현부터 idToken 내려받기까지 구글 로그인 구글 공식문서 보면 전부 진행 가능합니다. SDK 파일 git clone 에서 SPM 파일을 다운받으면 되고 CocoaPods 의 경우에는 pod 'GoogleSignIn' 을 입력하고 pod install 을 입력합니다. 다음으로 OAuth를 입력해야 합니다. Google 개발자 콘솔에서 앱 등록: **Google 개발자 콘솔**에 로그인하고, 새로운 프로젝트를 만듭니다. 프로젝트가 만들어지면, 좌측 메뉴에서 "API 및 서비스" -> "사용자 인증 정보" -> "OAuth 동의 화면"을 클릭하고, "앱 등록"을 합니다. 등록한 앱에 대한 정보를 입력하고, 저장합니다. 다음으로 OAuth 클라이언트 ID 및 맞춤 URL 스킴 추가 발급된 CLIENTID는 두개가 있을텐데 스카마용으로 com.. 2023. 3. 3.
[iOS/Swift] 애플로그인 개발자 계정 필수! Xcode에서 앱을 엽니다. Apple Developer 사이트에서 앱 번들 ID를 만듭니다. 제일 아래에 Account 에서 “Certificates, Identifiers & Profiles” 를 클릭합니다. "Identifiers" 섹션으로 이동합니다. "+" 버튼을 클릭하여 새로운 식별자를 생성합니다. "App IDs" 카테고리를 선택합니다. "App ID Description" 필드에 앱을 설명하는 이름을 입력합니다. "Explicit App ID" 옵션을 선택합니다. "Bundle ID" 필드에 앱의 번들 ID를 입력합니다. 번들 ID는 com.companyname.appname과 같은 형식으로 작성됩니다. 이 때, companyname은 개발자 회사의 이름 또는 개인 이름.. 2023. 2. 27.
[WWDC22] What’s new in SwiftUI What’s new in SwiftUI 올해 SwiftUI 업데이트 요약 SwiftUI로 만든 시스템 요소들 Swift Chats 상태기반으로 차트를 그리는 API SwiftUI와 동일한 패러다임이 적용되었고, SwiftUI와 함께 사용 가능 접근성 대응 완벽 지원 var body: some View { Chart(parthTaskRemaining) { task in BarMark( x: .value("Date", task.date, unit: .day), y: .value("Tasks Remaining", task.remainingCount) ) }.padding() } var body: some View { Chart(partyTasksRemaining) { LineMark( x: .value("Da.. 2023. 1. 31.