[WWDC 2022]Create parametric 3D room scans with RoomPlan
·
IOS - Swift
원본 작년에 소개된 Object Capture 현실 세계의 사진을 찍으면, RealityKit의 Photogrammetry API를 사용해서 앱에서 사용할 수 있는 3D모델을 만들어주는 기능 그 전에는 Scene Reconstruction API를 릴리즈 했었다. 공간의 대략적인 구조에 대한 정보를 제공해서, AR에 사용할 수 있도록 한다. 올해는 RoomPlan이라는 프레임워크를 새로 제공한다. LiDAR를 가진 아이폰이나 아이패드로 방을 스캔하면 방 3D 모델을 만들어준다. ARKit에서 제공하는 머신러닝 알고리즘을 이용해서 벽, 창문, 문, 화로, 소파, 탁자, 옷장 등의 물건을 식별한다. RoomCaptureView API를 쓰면 RealityKit의 스캐닝 프로세스를 실시간으로 사용해서 앱에 스..
[iOS/Swift] Png 한장으로 애니메이션 효과주기 - CABasicAnimation
·
IOS - Swift
공식문서에는 총 4가지가 기술되어 있습니다. 1. Opacity를 설정하거나 2.배경색깔을 변경하거나 3. 위치를 변경하거나(왼쪽에서 오른쪽처럼) 4. 크기를 변경하거나 등의 기능을 지원합니다. 어려운 내용이 아니다보니 실사용 코드로 확인해보겟습니다. 간단하게 스토리보드에 이미지뷰를 올려주고 3xPng 사진을 넣었습니다. 공통 기본사항 //ViewdidLoad shakeAnimation(imageView: PresentImage) viewDidLoad 에 사용될 func를 지정해 줍니다. 투명해지기 //투명해지기 func shakeAnimation(imageView: UIImageView) { let animation = CABasicAnimation(keyPath: "opacity") animation..
[iOS/Swift] UISegmentedControl - 스토리보드로 커스텀하기
·
IOS - Swift
참고 스토리보드에 segmentcontrol를 추가합니다. 레이아웃 설정이 완료된 상태에서 //... final class UnderlineSegmentedControl: UISegmentedControl { private lazy var underlineView: UIView = { let view = UIView() view.backgroundColor = .black addSubview(view) return view }() required init?(coder: NSCoder) { super.init(coder: coder) self.removeBackgroundAndDivider() self.setTitleTextAttributes([NSAttributedString.Key.foregroundC..
[iOS/Swift] accesstoken 저장이 안될때
·
IOS - Swift
애플로그인 구현중 accesstoken 저장이 안되는 문제가 생겻습니다. 제가 진행하려는 상황은 💡 애플로그인 버튼을 눌럿을 때 서버에서 idtoken, refresh , access 토큰을 반환받음 → 반환받은 refresh,access 토큰을 userdefault에 저장하고 저장된 userdefault 를 이후 페이지에서 사용함 그러기 위해서는 userdefault에 코드를 저장하고 저장이 되어있다면 다음 페이지에서accessToken 을 사용하고자 하는 코드를 구현하는 중이엿습니다. 해당 동작중, if문이 동작하게 햇는데 자꾸 else로 탈출을 하는 경우였습니다. 실패 1 AF.request(url, method: .post, parameters: parameters, encoding: JSONEn..
[Swift/에러해결] [NSNUll pointsize] Sizunrecognized selector sent to instance
·
IOS - Swift
보통 이러한 에러가 발생한 경우에는 셀렉터 인스턴스가 함수에 제대로 전달되지 않았을 때 발생하는 오류입니다. 그러기 때문에 대부분의 경우 스토리 보드에서 @IBoutlet이 연결 이름이 바뀌엇을 경우가 대부분이엿습니다. 위처럼 노란색 경고가 떳을때가 대부분입니다. 하지만 [Nsnull pointsize] 가 앞에 뜬다면 해당 오류는 아닙니다. 애초에 unrecognized~~ 에러가 뜬다는것은 인스턴스가 전달이 제대로 되어있지 않다는것이고 전달이 안되는 이유는 저의 경우에 커스텀 폰트를 인식하지 못했기 때문입니다. 폰트파일+ infp.plist 에만 폰트를 넣었는데 target에서 추가로 해줘야 하는것을 놓쳐서 해당 에러가 낫습니다. target-copy Bundle Resource 에서 폰트를 추가하여..
[CS] 혼자 공부하는 컴퓨터구조+운영체제 03. 명령어
·
CS
책과 강의를 통해 개인적으로 공부한 기록입니다. 3.1 소스 코드와 명령어 고급언어와 저급언어 고급 언어(high-level programming language): 사람이 이해하기 쉬운 언어이다. 저급 언어(low-level programming language): 컴퓨터가 이해하고 실행하는 언어이다. 저급 언어에는 기계어와 어셈블리어가 있다. 기계어(machine code): 0과 1로 이루어진 이진수로 이루어진 언어이다. 어셈블리어(assembly language): 기계어와 1:1 대응되는 기호로 이루어진 언어이다. 컴파일 언어와 인터프리터 언어 컴파일 언어(compile language): 컴파일러에 의해 저급 언어로 변환되는 언어이다. 소스코드가 컴파일러에 의해 목적 코드가 생성된다. → 외국..
[컴퓨터 구조]< 혼자 공부하는 컴퓨터구조 + 운영체제 > - 데이터
·
CS
책과 강의를 통해 개인적으로 공부한 기록입니다. 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)레지스터를 통하여 양수와 음수를 구분하기 때문에 컴퓨터는 안헷갈린다 십육진..
[컴퓨터 구조] < 혼자 공부하는 컴퓨터구조 + 운영체제 > - 컴퓨터구조 시작하기
·
CS
책과 강의를 통해 개인적으로 공부한 기록입니다. 우리가 알아야 할 컴퓨터 구조 지식은 두 가지 컴퓨터가 이해하는 정보 (데이터 + 명령어) 컴퓨터의 네 가지 핵심 부품( CPU 메모리 보조기억장치 입출력장치) 컴퓨터가 이해하는 정보 0과 1로 표현된 정보 데이터 명령어 데이터 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 명령어 데이터를 움직이고 컴퓨터를 작동시키는 정보 (ex 1과 2를 더하라, 안녕하세요를 출력하라…) 즉, 명령어는 컴퓨터를 작동시키는 정보, 데이터는 명령어를 위해 존재하는 일종의 재료. 이런 맥락에서 컴퓨터 프로그램은 명령어들의 모음으로 정의되기도 함. 컴퓨터의 4가지 핵심 부품 중앙처리장치 (CPU) , 주기억장치 (memory - RAM / ROM 보통은 메..
[iOS/Xcode] CocoaPods 설치 오류(gem)
·
IOS - Swift
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단계(터미널에서 이 두 명령..