ios

    WWDC25 - FoundationModels로 엿본 애플이 꿈꾸는 개인화 AI의 미래

    WWDC25 - FoundationModels로 엿본 애플이 꿈꾸는 개인화 AI의 미래

    올해 WWDC25에서 가장 궁금하던 부분은 "애플은 AI에 어떻게 대응할까?" 였습니다.ChatGPT나 Gemini처럼 클라우드 기반 LLM이 각광받는 시대에 개인정보 보호와 기기간 통합을 중시하는 애플이 어떻게 대응할지 궁금했는데요. 바로 이번에 발표된 FoundationModels을 통해 애플의 스탠스를 확인할 수 있었습니다. 이대로라면 골든 타임을 놓칠 수 있겠다고 생각한 것인지, Apple Inteligence 출시 전에 개발자들로 하여금 먼저 온디바이스 AI 모델을 사용하여 개발할 수 있도록 'FoundationModels' 이란 프레임워크를 공개했습니다. 이 프레임워크는 iOS, iPadOS, macOS, visionOS를 포함하는 Apple 전 플랫폼에서 온디바이스 언어 모델을 활용할 수 있..

    애플 로그인 서버부터 클라이언트까지(Swift + Nest.js + TypeScript)

    애플 로그인 서버부터 클라이언트까지(Swift + Nest.js + TypeScript)

    iOS 앱을 개발할 때 소셜 로그인 기능을 구현한다면, 애플 로그인은 사실상 필수적인 기능입니다. 그렇기에 프로젝트를 할 때마다 애플 로그인을 구현하게 되는데, 매번 '어떻게 구현하더라' 하며 다시 찾아보는 일이 반복되곤 했습니다. “애플로부터 토큰을 발급받아 서버에 넘기면 서버가 알아서 로그인 또는 회원가입 처리를 진행하고, 그 후 액세스 토큰과 리프레시 토큰을 넘겨 받는다” 정도로만 기억하고 있었고, 로그인 플로우에 대한 명확한 이해가 부족해 발생하는 문제였습니다. 마침 클라이언트부터 백엔드까지 직접 구현해볼 수 있는 기회가 생겼고, 이번 기회에 로그인 플로우를 제대로 정리해야겠다고 생각해 iOS 클라이언트 코드와 서버 로직까지 모두 작성해보았습니다.iOS 클라이언트는 Swift 로, 서버 코드는 N..

    테스트 가능한 오디오 관리 객체 설계하기

    테스트 가능한 오디오 관리 객체 설계하기

    문제소리가 정상적으로 입, 출력되는지 테스트하기 위해선 오디오 인터페이스부터 기타까지 실제로 연결해야만 테스트 할 수 있는 환경이었고, 그 결과 비효율적인 작업이 반복되었습니다.원인 분석AudioManager가 너무 많은 역할을 하다보니 필연적으로 코드가 길어지게 되었습니다.mark 주석으로 역할을 구분해두었지만 함수 내에서 다른 함수를 호출할 수 있어 사이드 이펙트 발생 위험이 존재했습니다.또한 실제 장치를 연결하지 않고 테스트할 수 없는 환경이었습니다.final class AudioManager { static let shared = AudioManager() private var cancellables = Set() // 사용 가능한 입력 장치 목록 var availableIn..

    AVFAudio - AVAudioSession

    AVFAudio - AVAudioSession

    AVFAudio AVFAudio는 재생, 녹음, 오디오 처리와 같이 앱에서 시스템 오디오 동작을 구성할 때 사용하는 프레임워크 입니다.아래와 같이 다양한 클래스들이 존재하는데, 오늘은 AVAudioSeesion에 대해 학습해보려고 합니다. AVAudioSessionAn audio session acts as an intermediary between your app and the operating system — and, in turn, the underlying audio hardware. You use an audio session to communicate to the operating system the general nature of your app’s audio without detailing..

    네이버 부스트캠프 웹・모바일 9기를 마치며

    네이버 부스트캠프 웹・모바일 9기를 마치며

    부스트캠프, 소중한 기억을 기록하며2024년 12월 6일, 최종 프로젝트 발표와 수료식을 끝으로 부스트캠프에서의 여정이 마무리되었다.이 소중한 기억들이 휘발되기 전에 기록으로 남겨 오래오래 간직하고자 한다. 부스트캠프에 지원하기 전의 나나는 부스트캠프 이전까지 어떠한 교육 과정도 수강한 적이 없었다.iOS에 대해 아는 것이 거의 없었고, 주변에 iOS 개발자도 없어 물어볼 사람조차 없었다.어떻게 학습해야 할지, 무엇을 학습해야 할지 막막한 상태에서 그저 무작정 프로젝트를 진행하며 iOS 개발을 해왔다. 그리고 혼자서 학습하는 요령이 생겼고, 개발도 꽤나 할 수 있게 되었다.하지만 시간이 지나며 문득 이런 생각이 들었다. • ‘iOS 개발자로 취업하려면 어느 정도 수준이 되어야 할까?’• ‘나는 지금 어느..

    Tuist 없이 모듈 만들기 with DemoApp

    Tuist 없이 모듈 만들기 with DemoApp

    모듈화는 Tuist가 있어야만 할 수 있을까요? 그렇지 않습니다. Tuist나 XCodeGen 과 같은 모듈화를 도와주는 도구들도 코드나 yml을 아래에서 설명할 형태로 바꿔주는 것이에요ㅎㅎ 그렇기 때문에 도구 없이도 모듈화를 할 수 있어야합니다. Tuist없이 모듈을 하나 만들어보겠습니다. 현재 모듈 구조는 아래와 같습니다. 여기서 TestFeature 라는 모듈을 하나 만들어 볼거에요.File - New - Project 를 눌러줍니다.그리고 Framework(Dynamic Framework)를 골라줍니다.모듈명을 설정하고Add to, Group을 xcworkspace 를 지정해 워크스페이스에 들어가도록 설정하고 create를 눌러 모듈을 생성합니다.짜잔 모듈이 생겼어요.이 헤더 파일을 objc와 브..