첫 iOS 관련 글이다 키키Swift가 가지고 있는 가장 큰 특징 중 하나가 바로 옵셔널 Optional 이다.값이 있을 수도, 없을 수도 있음을 표현nil이 할당 될 수 있는지 없는지 표현=> 안드로이드 코틀린 입장에서는 nullable에 해당하는 것 같다.또 스위프
눈물나는 복전생의 iOS 공부 일지 👩🏻💻개발자 공식 사이트의 튜토리얼부터 차근차근 따라하고 정리해보자.랜드마크 앱을 만들면서 뷰와 스택에 대해 공부한다.뷰를 배치하기 위해 스택을 사용한다. 스택을 사용하여 이미지와 텍스트뷰 컴포넌트를 결합, 레이어링한다.지도를
눈물나는 복전생의 iOS 공부 일지 👩🏻💻개발자 공식 사이트의 튜토리얼부터 차근차근 따라하고 정리해보자.이 포스트는 아래 블로그 글에서 이어지는 2번째 글입니다!🙈https://velog.io/@maddie/SwiftUI-SwiftUI-Tutorial
눈물나는 복전생의 iOS 공부 일지 👩🏻💻스스챌에 참가하게 되었다. 주제가 HIG 이 부분과 상당히 관련있다!개발자 공식 사이트의 HIG 정리해보자.https://developer.apple.com/design/human-interface-guideli
눈물나는 복전생의 iOS 공부 일지 👩🏻💻스스챌에 참가하게 되었다. 주제가 HIG 이 부분과 상당히 관련있다!개발자 공식 사이트의 HIG 정리해보자.(2)https://developer.apple.com/design/human-interface-guid
애플 개발자 아카데미 어느덧 3달째,다른 사람 속도 따라잡느라 대충대충했던 스위프트 문법을 다시 차근차근 공부해보자!함수는 필요한 데이터를 받을 수 있다넘겨 받을 인풋에 대해서, 이름, 타입을 지정해준다. -> ()안에 !parameter 를 호출하는 외부, 내부 관점
사용자의 관심을 항상 기다리고, 관심이 가는 곳으로 리소스를 몰아주고, 사용하는 데에 편리하게 만든다.앱이 사용자의 관심을 받을 때 = 포그라운드, 못 받을 때 = 백그라운드🌟 따라서 개발자는 앱의 상태가 변경됨에 따라 대응할 수 있는 앱을 만들어야 한다.크게 2 가
WWDC23, Apple 세계 개발자 컨퍼런스가 2023년 6월 6일 새벽에 열렸다. 다양한 업데이트와 더불어 Vision Pro라는 신제품을 알리며 개발자와 디자이너들에게 큰 주목을 받고 있다. https://developer.apple.com/videos/play
https://developer.apple.com/videos/play/wwdc2020/10171훌륭한 watchOS 앱은 간단하고 직접적입니다. 작업은 검색 가능하고 예측 가능하며 관련성이 있어야 합니다. 이 세션에서는 핵심 작업을 시작하는 기본 버튼이든,
WWDC23, Apple 세계 개발자 컨퍼런스가 2023년 6월 6일 새벽에 열렸다. 다양한 업데이트와 더불어 Vision Pro라는 신제품을 알리며 개발자와 디자이너들에게 큰 주목을 받고 있다.https://developer.apple.com/videos/p
https://developer.apple.com/videos/play/wwdc2023/10034/?time=294이 글은 위 영상을 해석 및 정리한 글입니다 🫧아래 글에 등장하는 "이 플랫폼" = Vision Pro를 말한다!🥽영상은 애플의 Accessi
😤기능: alert 경고 표시, sound 소리 재생, badge app icon 아이콘 배지 표시사용자가 원하는 중요한 정보를 전달하기 위해 사용!앱이 실행되지 않았거나, 백그라운드: 시스템이 대신 사용자와 상호작용앱이 포그라운드: 시스템은 앱에 알림 전달객체를 사
😜CoreData는 UserDefault와 비슷하지만 다른 로컬 데이터 저장 방식이다.UserDefault는 간단한, 소규모의 데이터를 저장할 때 메모리 효율성으로 인해 유용한 반면, 앱이 삭제되어도 데이터가 남아있어야 하거나, 보안이 중요하다면 사용하면 안된다.🐾
로컬 노티는 이 글을 참고하세용https://velog.io/@maddie/iOS-%EB%A1%9C%EC%BB%AC%EB%A1%9C-%EC%95%8C%EB%A6%BC-Notification-%EB%A7%8C%EB%93%A4%EA%B8%B0: Dynamic Is
default는 Date Picker를 사용한다.\-> 투비 컨티뉴fscalendar 써야 되나?레퍼런쓰https://green1229.tistory.com/362
😍프로젝트에서 오랜만에 개발을 다시 시작하니까 얼마 없지만,,잃어버린 머슬메모리들을 주워담는 중이다.Picker에 대해 알아보자우선 블로그로 글을 작성하면 공식 문서 한번쯤은 봐줘야겠다는 생각이 든다.공식문서를 들여다보자.ㅋㅋㅋㅋㅋ장난하나영어로 살펴보도록 하자그러니깐
💊https://developer.apple.com/videos/play/wwdc2023/10101/이 글은 위 WWDC23에서 소개된 기기 내 음성인식 기능을 커스텀하는 방법에 대한 영상을 정리한 것입니다.직접 번역하고 정리한 내용이니, 사용하실 때에는 출
https://developer.apple.com/documentation/coremotion/getting_raw_gyroscope_eventsiOS 장치에는 위 그림처럼 3개의 축 각각의 회전 값을 전달하는 3축 자이로스코프가 있다.회전값은 지정된 축을 중
😖앱의 데이터를 iCloud에 저장하고, 모든 기기와 웹에서 데이터를 최신상태로 유지효율적인 동기화, 간단한 모니터링, 관리 기능비공개 데이터 → 유저의 iCloud 계정에 저장되므로, 유저 층이 늘어나도 무제한 확장 가능공개 데이터 저장 최대 1PBiCloud Co
😌앱이 실행되지 않을 때에도 Siri와 커뮤니케이션하는 확장 프로그램을 빌드하여, 앱에 SiriKit을 도입할 수 있다.해당 확장프로그램에는 처리할 수 있는 특정 도메인 및 Intent가 함께 등록된다.Siri는 음성인식, 자연어 인식을 비롯한 모든 상호작용을 처리할
https://developer.apple.com/videos/play/wwdc2019/207/시리로 할 수 있는 일: 오디오 재생, 프로필 업데이트, 컬렉션에 추가 및 검색, ..풍부한 자연어 처리 기능Media Intent에는 4가지가 있음: audio 재
🏙️ SwiftData가 뭐야 SwiftData는 데이터 모델링 및 관리를 위한 강력한 프레임워크이며, 최신 Swift앱을 향상시킨다. SwiftUI와 마찬가지로, 외부 파일 형식 없이 코드에만 집중하고, Swift의 새로운 매크로 시스템을 사용하여 원활한 API
👩🏻🚀제목에 쓴 것처럼 swift 입문이 끝났다면 헷갈릴 만한 이론을 정리해봤다.맞다 내가 헷갈려서 쓴거다.프로그래밍에서 굉장히 중요한 개념인데,쉽게 말해서 데이터(속성)랑 그 데이터와 관련된 행동(메서드)를 하나로 묶은거야. 각 객체는 클래스, 구조체 등의 타
새싹 2일차, 첫 수업은 Xcode 설명, UIKit 기초 설명으로 이루어졌다. 오른쪽 영역attribute inspector: 그 중 아래 사진 부분으로, 뷰의 속성을 담당함Label - lines: 몇번째줄까지 보여질지click 안되는 텍스트 영역 → How to
Content Mode같은건 View에 속해 있는거라, View를 상속받는 애들은 다 있음.스위치의 동글이부분: thumbtitle이 적용이 안됨.밑에 있는 Tooltip도 안됨.👉🏻 터치 안하고 위에 올려두는거 = hover 효과→ inspector는 자주 쓰는
아이폰 설정 > 배터리를 보면, 실제로 앱을 몇시간 썼고, 백그라운드에서 어떻게 동작되었는지 나옴멜론 음악 재생, 유투브 작은 화면, …앱 시작하기 전 상태앱에 진입Active, Inactive앱이 화면에서 실행중인 상태항상 1개임.앱이 화면에서 실행중이나 어떤 신호도
🎄오늘은 AppDelegate와 SceneDelegate의 차이에 대해 알아보자!이 이야기를 하기에 앞서서 앱의 생명주기를 알아야 한다.Lifecycle이라고도 부르는 앱의 생명주기는예를 들어 아이폰에서 설정 > 배터리를 보면, 실제로 앱을 몇시간 썼고, 백그라운드에
앱 개발자라면 반환값을 사용하지 않을 때 뜨는 노란 에러를 본 적 있을거다. 요런 노란 에러가 뜨는데, 왜 함수 만들어놓고, 결과값 안쓰냐 이말이다.요런식으로 함수 앞에 discardableResult를 써주면, 결과값은 버릴 수 있다는 뜻이 된다.그러면 노란에러를 없
iOS 15부터 새로운 Formatted API가 등장했따!숫자, 날짜, 시간 등의 데이터를 사용자가 사용하는 현지화된 문자열로 변환해준다.애플 공식 문서의 예시는 아래와 같다.기본 날짜 스타일은 abbreviated이고,기본 시간 스타일은 shortened이다.여기도
😶🌫️오늘은 타입 캐스팅, 그리고 Class와 Structure에 대한 이야기를 해보자.지난주 TableView에 대해 공부하는 동안as라는 애를 처음 봤다.타입 캐스팅이라는 애라는데, 이를 더 잘 알아보기 위해서 배경 지식 공부를 해보자.타입 캐스팅, 타입 변환
😶🌫️각 앱들에 오픈소스 방문하기 탭이 있다는 사실,, 알고 계셨나요?잘 쓰는 오픈소스 몇 개 정리해보겠다https://github.com/WenchaoD/FSCalendarhttps://github.com/uias/Tabmanhttps:
🙈오늘은 Codable에 대해 공부해보자Swift에서 'Codable'이라는 단어는 '코딩 가능하다'는 뜻이다. 그니깐 뭔가를 코드로 바꾸거나 코드에서 뭔가를 만들어낼 수 있다는 의미다.대표적으로 웹에서 많이 쓰이는 데이터 형식인 JSON을 Swift의 인스턴스로 변
CoreLocation을 사용해보자 대부분의 프레임워크들은 매니저와 같은 중심부가 구현되어있음 locations - 배열로 들어옴(무슨 해양,, 그런거까지 정보가 많음) Privacy - Location When In Use Usage Description ->
https://velog.io/@maddie/iOS-swift-%EC%9E%85%EB%AC%B8%EC%9D%B4-%EB%81%9D%EB%82%AC%EB%8B%A4%EB%A9%B4-%ED%97%B7%EA%B0%88%EB%A6%B4-%EB%A7%8C%ED%95%9
💡앱을 사용하면서 화면을 탭하거나 스와이프하는 모든 행동은 단순해 보이지만, 실제로는 iOS의 복잡한 이벤트 처리 시스템을 거치게 된다. 이 시스템을 이해하는 것은 앱 개발에서 중요한 부분 중 하나인데, 특히 Responder Chain에 대해 알아보자.Respond
🥟iOS 앱 개발을 하다 보면 사용자로부터 이미지를 받아와야 할 경우가 많다. 사진 앱에서 사진을 선택하거나 카메라로 촬영한 이미지를 앱에 가져오는 기능은 다양한 앱에서 필수적인 기능 중 하나인데, 이 글에서는 iOS에서 이미지 선택 기능을 구현하는 방법과 이를 위한
이전 글:https://velog.io/@maddie/iOS-%EC%95%A8%EB%B2%94%EC%97%90%EC%84%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%84%A0%ED%83%9D%ED%95%98%EA%B8%B0-ImagePick
😤별거 아닌 줄 알았는데 생각보다 쏘 어려운 MVVMModel - View - ViewModel 이렇게 나뉘는 패턴임Observable 클래스는 데이터의 변화를 감지하고, 얘를 구독하고 있는 컴포넌트에 알리는 역할을 한다. 이걸 통해서 데이터 바인딩을 구현하고, 데이
insomnia에는 http로 해도 잘 받아와지던데..url에 https안쓰고 http쓰면 생기는 일:왜 생기나?HTTP(HyperText Transfer Protocol)와 HTTPS(HyperText Transfer Protocol Secure)는 서버와 클라이언트
놀랍게도 이 세상에 카카오맵 버전2에 대한 글이 없더라. 블로그와 공식문서를 번갈아가면서 공부하고 있었는데, 왜 SPM이 없다고 하는지, 왜 ObjectC를 쓰는지 의문이었는데, 버전이 달라서 그랬나보다. (내피셜) 작년 말쯤 버전 2가 나왔는지, 내가 최신 기술을 발
이전 글:https://velog.io/@maddie/iOS-KakaoMapsSDK-v.2-%EC%B9%B4%EC%B9%B4%EC%98%A4%EB%A7%B5API에서 이어집니다:)이전 글에서 카카오맵을 띄우는 작업까지 했으니,카카오맵 SDK 공식문서를 이해하기
👩🏻🚒 트러블슈팅 사실 아직 화면전환할 때 데이터 전달하는거 손에 안익었다. Realm 데이터베이스의 삭제 로직을 구현하다가 이런 에러를 만났다. 대충 String과 ObjectId 타입이 다르니까 비교할 수 없다는 내용인데, ObjectId가 뭔가? O
🗣️ 다국어 지원 앱 개발에서 단지 기능뿐만 아니라, 사용자가 어떤 언어를 사용하든 그들의 문화와 환경에 맞게 앱이 자연스럽게 다가갈 수 있도록 하는 것, 즉 다국어 지원과 현지화(Localization)도 매우 중요하다. iOS 앱 개발에서 이를 어떻게 적용할 수
안녕하세요, 매들린입니다!제가 지난 토요일 'let us go' iOS 컨퍼런스에 다녀왔는데요,특히 감명받았던 곰튀김님의 스피치를 듣고, 제가 이해하고 적용한 내용을 공유해보고자 합니다!(곰튀김님의 스피치를 듣고 쓰는 글이지만, 제 피셜로 작성해서, 틀린 내용은 언제든
내가 구현하고 싶었던건,같은 뷰 안에서 서치바를 탭하면 슝하고 뷰 상단으로 서치바가 이동하면서,서치바 탭하기 전에는 -> 검색 기록 테이블뷰서치바 탭한 후에는 -> 검색 키워드에 따른 검색 결과 테이블뷰이런 앱스토어 로직이다..그런데 같은 뷰와 뷰모델에서 위와 같은 모
swift 공부와 개발 어연 8개월차,, 아직도 이 개념이 헷갈리다니너 진짜 마지막으로 공부해준다아래 내용은 야곰의 swift 문법 교재와 ChatGPT 선생, 그리고 매 피셜로 작성되었다.많은 swift 문법중 아직도 머릿속에서 떠다니고 있던 '타입'에 대한 내용이다
문제상황은 이러하다!서버에서 게시물들을 받는 과정에서, 회원만 접근 가능할 수 있게 액세스토큰이 필요한데, 액세스 토큰은 제한된 유효 시간이 있다.유효 시간이 지나면 액세스 토큰은 만료되므로, 재발급 받는 로직이 필요하다.재발급받지 않고, 호출을 하는 경우,그리고 그
🥔오늘도 열심히 공부 하고 있는 토킹 포테이토, 매들린입니다.매번 습관처럼 선언하던 UITableView와 UICollectionView의 delegate, datasouce = self 처리와 프로토콜 채택.어느 순간 저에겐 뭔지도 모르고 일단 코드부터 작성하는 머
CoreBluetooth에 대해 알아보자.번역한 문서:https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/A
https://velog.io/@maddie/iOS-CoreBluetooth-1-%EA%B0%9C%EC%9A%94저번엔 CoreBluetooth 이론적인 내용에 대해 다뤘다고 한다면, 오늘은 진짜 써야 되는 실무적인 내용과 알아야 할 키워드를 다뤄보려고 합니다
Reference:https://developer.apple.com/videos/play/wwdc2019/901/WWDC2019: What's New in Core Bluetooth위 영상의 중간 부분을 제외한 내용을 정리한 글입니다.지극히 제가 필요한 부분만
image 땡스투 위키피디아iOS 16부터 방법이 바뀜대응할 것!orientation 강제 권하지 않는다지만 회사에서 하라는데 어떡해 해야지
안녕하세요. 회사 들어오니 블로그 더 자주 쓰는 매들린입니다. 허허오늘은 뷰에 유튜브 영상을 떡하니 넣어야 해요.뭐 딱히 회사 앱은 아니지만 나름 가려봤는데, 이런식으로 뷰에 유튜브 영상을 넣어봅시다.사실 방법은 엄청 간단해요.WebKit을 이용해서 WebView로 영
이전 글에서 DI에 대해 알아보았다.https://velog.io/@maddie/iOS-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85DI%EA%B0%80-%EB%AD%90%EC%95%BC마치 자동차에 엔진의 기능을 사용하기
DI와 초면인줄 알았는데, 나도 모르게 코드에 DI를 활용한 요소가 있었다. 이참에 진짜 제대로 공부해보도록 하자. 마이 레퍼런스: https://vikramios.medium.com/dependency-injection-in-swift-37b44b53fc24 위
오늘은 api 호출과 함께 Pagination하는 방법에 대해 알아보겠습니다! UITableView를 구현해서, api 호출 결과를 띄우는데, 아래로 쭉 스크롤할 때, 스크롤 마지막에 가서 데이터를 추가!함으로써 무한으로 스크롤할 수 있게 말입죠 Pagination이
아키텍처 패턴의 선택은 앱의 확장성, 유지보수성, 전반적인 품질에 중요한 영향을 미친다.일반적으로 채택되는 패턴들을 먼저 알아보자.Model - View - Controller가장 심플함ViewController가 거대해질 수 있음. 관리가 어렵다.Model - Vie
"테스트 더블"이라는 용어는 연극이나 영화에서 주연 배우를 대신하는 "더블"에서 유래되었으며, 소프트웨어 테스트에서 실제 객체를 대신하여 테스트를 돕는 모든 형태의 객체를 의미합니다. 이는 모의 객체(Mock), 스텁(Stub), 페이크(Fake), 스파이(Spy),
좀 오래된 git 레포지토리를 클론받아서 돌려보니 다음과 같은 에러가 계속 뜨고 빌드가 되지 않았다.이 오류는 주로 프로젝트의 최소 배포 대상(iOS Deployment Target)이 너무 낮아서 최신 Xcode와 호환되지 않는 경우 발생한다.프로젝트의 최소 배포 대
어트리뷰트 사전을 만들겠다. 계속해서 이 글에 업데이트 하겠다.코딩은 어떻게 보면 컴파일러한테 구체적인 작업을 입력해서 명령하는 것과 같다. 근데 아 이 일은 좀 특별히 해줘야되는데? 좀 급하게 처리해주세요 🙏🏻 좀 다르게 처리해야됩니다 🙏🏻 할 때 골뱅이 뒤에
정규식은 텍스트 내에서 특정 패턴을 찾거나, 대체하거나, 추출할 수 있게 해주는 도구이다!주로 문자열 검색, 치환, 검증 등의 작업을 할 때 많이 사용된다.정규식은 복잡한 문자열 처리 작업을 간단하고 효율적으로 할 수 있게 해준다!전화 번호 형식을 검증하거나, URL이