
시간은 속절 없이 흐르고, 어느새 제출 기한이 코 앞까지 다가왔다. 사실 주제를 선정하고도 제출 기한까지는 꽤 넉넉한 시간이 있었는데, 개인적인 사정으로 인해 일주일이 그냥 흘러버렸다. 당시 촉박했던 나의 일정을 첨부해 보자면... 개발하여 제출하기까지 한 5일 남짓한 시간이 남아 있었다. 사실, 마감일 오후 4시까지 제출이기 때문에 그 전날 밤까지 제출한다고 생각하면 나흘 안에 개발을 완료했어야 했다. 주제: 코딩으로 아픈 지구를 치료하자 # 레이아웃 구상 내가 생각한 것은 이런 형태의 Split View 였다. Xcode에서 영감을 받은 것으로, SwiftUI를 작성할 때 코드를 왼쪽에서 작성하고, 프리뷰를 오른쪽에서 볼 수 있는 것에서 착안하였다. 코드는 블럭으로 할지, 에디터로 할 지 고민이었는데..

이 공고가 올라온 시점에서 단 3주의 시간 밖에 남지 않았다. 아직 주제를 선정하기 못했기 때문에 발등에 불이 떨어진 격이나 마찬가지였다. 이제 내가 전달하고 싶은 주제를 정해야 하는데, 생각나는 주제 3가지 정도를 가지고 구체화를 시키는 것에서 애를 먹고 있었다. 우선 다른 블로그를 면밀히 탐색해본 결과, 공통적으로 주제에 대한 꽤 그럴듯한 추측을 내놓았다. 애플이 관심을 가지거나 애플의 철학을 관통하는 주제는 선정 확률이 높을 것이다. 애플이 관심을 가질만한 주제를 생각해보니, 환경, 교육, 여성, 사회문제, 사회적 약자 등이 떠올랐다. (물론 그런 키워드를 고른다고 해서 꼭 위너가 되리라는 법은 없다) # 키워드 고르기 내가 떠올린 키워드들 중에서 개인적으로 마음에 들었던 키워드가 세 개 있었는데,..

애플은 세계개발자회의 WWDC(World Wide Developer Conference)를 연례 행사로 기획하고 개최하고 있다. 이 날은 나를 포함한 애플 팬들의 명절이라고 할 수 있다. 매년 새로운 iOS, iPadOS, watchOS, macOS 등 대규모 소프트웨어 업데이트가 발표되고, 새로운 API와 Kit들이 공개되기 때문에 이 날 새벽은 각종 애플 커뮤니티가 하얗게 불타기 때문이다. 특히 올해 WWDC 2023에서는 애플이 애플워치 이후 새로운 카테고리의 제품인 혼합현실 헤드셋을 발표할 가능성이 높게 점쳐지기 때문에 그 기대가 최고조에 달할 것으로 보인다. (가격 또한 최고조에 달할 것으로 보인다.) 사실 많은 사람들의 관심 레이더 밖의 또 다른 WWDC 묘미가 있는데, 바로 Swift Stu..

애플 디벨로퍼 아카데미에 합격하여 다닌지 두달이 다 되어간다. 애플 디벨로퍼 아카데미에는 1기에도 지원했었는데, 온라인 테스트에서 탈락 후 작년에 다시 지원하여 2기로 합격했다. 애플 디벨로퍼 아카데미의 존재를 처음 알게 된 것은, 사실 IT 커뮤니티의 새로운 소식 게시판에서였다. 세계 IT기업 애플이 포항에 제조업 R&D 센터와 개발자 아카데미를 오픈한다는 뉴스였던 것 같다. 해당 기사를 21년 5월 쯤 보았던 것 같은데, 그 때만 하더라도 나와는 관련이 없는 소식으로 생각했었다. 나는 소프트웨어학부 대학생일 뿐이었고, iOS 개발자를 희망하기는 했지만 SSAFY와 마찬가지로 졸업 후에나 지원할 짬(?)이 나지 않을까 생각했기 때문이다. 2022년 교육생 지원 공고가 떴을 때에도 큰 기대 없이 일단 지..

지난 글에 이어서 SwiftUI에서 Map을 다루어 보려고 한다. 지난 글: SwiftUI - MapKit 사용하기 Map에는 MapMarker와 MapAnnotation, MapPin을 사용해 마커를 표시할 수 있는데, 두 방식 중 MapPin은 Deprecated되어 MapMarker나 MapAnnotation의 사용을 권장한다. MapMarker MapMarker.init(coordinate: CLLocationCoordinate2D, tint: Color?) MapMarker는 마커의 위치를 나타내는 coordinate: CLLocationCoordinate2D와 마커의 색상을 결정짓는 tint: Color?의 옵션을 받는다. 이 MapMarker를 Map의 annotationContent에서 생..

iOS 14+ 지난 글에 계속 이어 토이 프로젝트에서 MapKit을 활용해보려고 한다. MapKit을 사용하려 했던 이유 원래는 카카오맵을 사용하기로 안드로이드 개발 팀원과 합의했고, 실제로 상당 부분을 카카오맵으로 개발한 상태였으나, 카카오맵의 SDK가 상당히 노후되어 있어서 마음에 들지 않는 점이 몇가지 있었다. SPM(Swift Package Manager) 미지원 작년 이후 프로젝트들에서 CocoaPods를 최대한 배제하는 중인데, 카카오맵은 아직 CocoaPods을 사용해야 한다. 물론 zip으로 묶은 패키지를 제공하니 큰 문제는 아니지만, 처음부터 삐걱대는 것이 마음에 들지 않았다. 벡터맵 미지원 다른 지도 서비스라고 해서 벡터맵을 모두 지원하는 것은 아니지만, 카카오맵의 것은 HD 타일을 설..

제공되는 여러가지 옵션 중 한가지를 선택하는 방법은 Segmented Control, Pop Up Button 등 여러가지가 있지만, iOS 사용자에게 가장 익숙한 방법은 바로 Wheel Picker일 것이다. 그리고 위에서 볼 수 있듯, UIKit의 UIPickerView는 여러 component를 표시할 수 있다. 토이 프로젝트를 진행하면서 이렇게 여러 component를 표시하는 Wheel Picker를 사용해야 했는데, 화면을 SwiftUI로 구성하면서 이 Multiple Component Picker를 사용하려 했더니 문제가 있었다. 바로 iOS 16.2가 나온 이 순간까지도, SwiftUI의 Picker에는 component를 여러개 사용할 수 있는 방법이 없다는 것이다... 물론 DatePi..

토이 프로젝트를 진행하다가 이메일로 인증번호를 받아 인증하는 뷰를 만들 필요가 생겼다. 프로젝트의 로그인과 회원가입 화면을 SwiftUI로 작성하였기 때문에, 인증번호 입력 칸을 SwiftUI로 만들어야 했다. 내가 원하는 결과물 글자 수에 맞게 TextField를 분리한다. 한 글자씩 입력하면 다음 TextField로 이동하고, 글자가 지워지면 이전 TextField로 이동할 수 있도록 하는 것이 목표이다. 우선 한 글자만 입력받을 CharacterField를 선언한다. 한 글자만 입력받을 CharacterField 전체 코드 struct CharacterField: View { @State var character: String = "" @FocusState var focused: Int? var i..