
안녕하세요!조금 늦은 감이 있지만, Swift 5.9에서부터 제공하기 시작한 macro에 대해 공부해 보고자WWDC 23 - Write Swift macros 세션을 듣고 정리해 보았습니다. Swift의 macro를 사용하면 기존의 반복되는 코드를 컴파일타임에 생성하여, 개발 생산성을 높여준다.Overviewlet calculations = [ ( 1 + 1, "1 + 1" ), ( 2 + 3, "2 + 3" ), ( 7 - 3, "7 - 3" ), ( 5 - 2, "5 - 2" ), ( 3 * 2, "3 * 2" ), ( 3 * 5, "3 * 5" )]이렇게 학생들이 계산 능력을 연습하는 데 사용할 수 있는 계산 목록이 있다.tuple의 왼쪽에는 정수형 결과가 표시되고..

해당 글은, 화면방송에 대한 개인 공부를 진행하며 시청한 WWDC 2018 - Live Screen Broadcast with ReplayKit을 정리한 글입니다.해석과 정리된 내용이 완벽하지 않으므로, 잘못된 부분에 대해선 지적 부탁드립니다. 🙏 1. WWDC 2016 - Go Live with ReplayKit2. WWDC 2018 - Live Screen Broadcast with ReplayKit - ReplayKit은 사용자의 App의 화면, 오디오 및 마이크 사운드를 실시간으로 기록하고 수정하고 공유할 수 있게 해주는 프레임워크이다.- ReplayKit은 Live Broadcast를 지원한다. ReplayKit ReplayKit은 화면과 오디오 그리고 3rd-party 라이브스트리밍 서..

해당 글은, 화면방송에 대한 개인 공부를 진행하며 시청한 WWDC 2016 - Go Live with ReplayKit을 정리한 글 입니다.해석과 정리된 내용이 완벽하지 않으므로, 잘못된 부분에 대해선 지적 부탁드립니다. 🙏 ReplayKit은 사용자의 앱 내 화면과, 사운드 그리고 마이크의 오디오를 녹화할 수 있다.이를 통해, 게임을 하는 동안 음성 내레이션이 가능하고, 이를 시스템 공유 시트를 사용해서 공유가 가능하다.ReplayKit1. Replaykit은 HD 화질의 비디오를 제공한다.게임 성능에 거의 영향을 주지 않고, 배터리의 소모를 최소한으로 줄임2. 개인정보를 보호한다유저의 개인정보가 매우 중요하기 때문에, 녹화 시작 전에 사용자 프롬프트를 표시해서 유저가 직접 권한을 제공할 수 있도록..

프로젝트의 폴더 구조를 파악해주는 도구인 Codeface를 소개해 보고자 합니다. 이와 같은 툴이, 기존에도 있었는지는 모르지만, 유용하게 사용할 수 있을 것 같아 소개하도록 하겠습니다. Codeface 설치 우선 공식 사이트에 들어갑니다. https://codeface.io/ Codeface See the Architecture of any Codebase codeface.io 해당 사이트에 들어가면 하단에, 앱스토어 링크가 있으니 설치 해줍니다. 이 도구는, LSPService라는 오픈소스를 기반으로 제공되는 서비스 입니다. 그렇기 때문에, 먼저 LSPService를 설치 해줍니다. 공식사이트 최하단에 있는 LSPService 링크를 누르면, 설치 방법에 대해 나옵니다. 이동한 링크에서, 각자 프로세..

위의 사진과 같이 UIComponent를 추가하고, Auto Layout을 설정하려고 하는데 하단의 'Add New Constraints'가 활성화 되지 않는 현상을 보이는 경우가 있다. 그럴 땐, 우측 사이드바의 'Show The Size Inspector'를 들어가서 'Layout'항목의 값이 'Autoresizing Mask'로 되어있는지 확인 해준다. 만약 그렇게 되어있다면, 'Inferred'값으로 변경 해준다.

Clean Architecture를 공부하면서 헷갈리는 개념이었던 '의존성 주입 (Dependency Injection)'에 대한 정리를 하려고 합니다. 다만, Clean Architecture에 대한 전 과정을 다루는 글이 아니니 이 점 참고부탁드립니다. 또한 완벽한 글이 아니다보니, 잘못된 내용이 있을 수 있으니 많은 지적 부탁드리겠습니다! :) 의존성(Dependency)이란? 흔히, Clean Architecture의 가장 중요한 원칙을 설명할 때 "각 계층(Layer)은 서로 독립적이어야 하며, 한 계층의 변화가 다른 계층에 영향을 주어서는 안된다!" 라고 설명합니다. 여기서 말하는 '계층이 서로 독립적' 이라는 말은, 각 계층의 결합도를 최소화 하는것을 지향해야한다는 말 입니다. 하지만, iO..

이전에 action이 아닌, outlet관련해서 동일한 Error가 발생한 적이 있어서 이번에 글로 남깁니다. 위 에러는, Xib파일에서 ViewController로 직접 Outlet이나 Action을 연결 할 때 생기는 에러입니다. 발생 원인은 정확하게는 모르겠으나, 해결 방법은 둘 다 동일합니다. 우선 VC내부에 직접 Outlet변수 혹은 Action함수를 정의 해줍니다. 그리고 기존과는 역순으로, 사진의 좌측 Action 연결부에서 Xib파일의 Component로 연결 해주면 정상적으로 연결이 됩니다.
인턴쉽을 진행하며, iOS에서의 비디오 처리기술에 대한 공부를 진행하고 있습니다. 그 중 가장 먼저 알아봐야 할, 코덱에 대해 개인적으로 공부하고 정리한 글입니다. 코덱이란? 코덱은 coder-decoder의 약자이다. 오디오 & 비디오 신호와 같은 디지털 데이터를 특정 형식으로 인코딩 및 디코딩 하는 SW & HW 장치 인코딩. 디코딩 개념 [ 인코딩 ] 인코딩이란 전송 or 저장을 용이하게 하기 위해 정보를 한 형식에서 다른 형식으로 변환하는 process 이다. 변환 하고자하는 data의 종류와, 인코딩의 목적에 따라 다른 방식으로 수행 가능하다. ex1) 라디오 신호와 같은 노이즈가 가득한 소통 채널을 통해 text를 전송하는 과정. 데이터를 전송하는 과정에서 노이즈로 인한 오류를 방지하기 위해 ..