- Total
목록오뚝이 개발자 (209)
꿈꾸는리버리
한국어 영어 둘 다 사용 가능한 다국어 앱을 만들기 위해 고군분투한 이야기.. 참고하면 좋은 localization 관련 다른 이슈들 Localization : 다국어 처리localization 다국어 타이핑 쉽게 하기 (excel을 이용한)SwiftUI Widget 딱대(짐).. : localization 적용Localization : 다국어 처리 2탄info.plist localization string앱스토어에서 앱 기본 언어를 영어로 설정하기info.plist localization string 다국어 설정하기 1) command + N -> Strings File 만들기반드시 이름은 Localizable.strings 으로 ! 2) Localizable.strings 파일에서의 인스펙..
assert assert는 런타임에 특정 조건을 체크하고, 조건이 성립되지 않으면 시뮬레이터가 멈추고 에러 메세지를 출력한다 ! 언제 사용 ? assert 함수는 디버깅 모드에서만 동작하기 때문에 배포하는 앱 성능에는 영향을 끼치지 않는다는 특징이 있다. 이러한 특성을 갖기 때문에 assert문은 디버깅 중 앱 배포 전 검증을 위하여 API 테스트 등, 조건 체크 및 테스트를 해야할 때 유용하게 사용될 수 있다. +) 디버그와 릴리즈 빌드 모두를 검증하기 위해서는 precondition()을 사용한다. 궁금증 ) -0 builds, Release configuration.. -Ounchecked builds.. 구글링을 통해서 일반 시뮬레이션을 돌릴때는 에러처리가 되고 실 배포가 될 때는 assert가 ..
1️⃣ Struct와 class의 공통점 1) 값과 function을 저장할 properties와 methods 정의 : 변수 및 상수를 객체에서는 properties라고 하고, function을 methods라고 함 class Food { let name: String = "음식" func printName() { print("name : \(self.name)") } } 2) " . "을 사용하여 값에 대한 액세스할 수 있음 class Food { let name: String = "음식" } let food = Food.init() food.name 3) 초기 상태를 설정하기 위한 initializer 정의 class Food { let name: String init(name: String){ s..
xcode의 시뮬레이터에서 테스트 및 디버깅 시뮬레이터는 기기에서 앱을 테스트하기 전에 신속한 프로토타이핑 및 개발을 할 수 있습니다. 시뮬레이터에도 iOS 앱을 테스트하고 디버깅하는 데 도움이 되는 기능이 있지만, 실제 디바이스가 아니기 때문에 xcode에서 할 수 있는 개발 환경에서 테스팅할 수 없는 기능이 몇 가지 존재합니다. 1 ) Mac에서 실행되는 시뮬레이터는 실제 앱보다 성능이 좋다. 시뮬레이터는 실제 폰에서 실행이 되는 앱이 아니라 Mac에서 실행되는 앱이기 때문에 CPU, 메모리 및 네트워크 연결을 비롯한 컴퓨터 리소스에 액세스 할 수 있게 됩니다. 그렇게 때문에 모든 리소스는 모바일 장치에서 찾을 수 있는 리소스보다 빠를 가능성이 높습니다. 그렇기 때문에 시뮬레이터로 앱의 성능, 메모..
[컨퍼런스 모음 Zip]WWDC 22 Student Challenge : Winner 후기 + 팁SyncSwift 컨퍼런스 연사자로 참여한 경험 공유리버의 Let'Swift 컨퍼런스 Organizer 경험기영국 iOS 컨퍼런스(SwiftLeeds) 회고록[ WWDC24 현장 방문 시리즈 ] - 가게 된 이유 + 준비할 것들 - Apple Park, 그곳이 알고 싶다 1/2 - Apple Park, 그곳이 알고 싶다 2/2KWDC ( iOS 컨퍼런스)에서 얻은 영감씨앗들로 열심히 농사해보자 " Apple이 인정한 350명 중 한명! " ( 이라고 믿고 싶은... ) 우선은, 진짜 꿈만 같은 일이었다. 올해 상반기에 애플 아카데미 합격이 나온 ..
너어어무우 기나긴 MC2가 끝나고 드디어 브릿지 기간이 돌아왔다 ! 이번에는 팀 챌린지였던 만큼 개인적인 회고와 한명의 팀 구성원으로서의 회고, 그리고 좀 더 나은 개발자가 되기 위한 ? 회고를 하려 한다. 🌷 우선은 빠질 수 없는 우리 팀 자랑 ~ 정말 감사하게도 좋은 사람들을 만났다. 기술적으로도 너무 훌륭하신 분들이었지만 너무나도 따숩고 좋은 이야기들을 나눌 수 있었고 덕분에 많은 성장을 했다. 특히 바쁜 와중에도 서로의 분야를 이해하고자 했던 우리들의 노력들은 정말 너무 잘했다는 생각이 든다. 어려운 위기들이 많았고, 상황적으로도 힘든 순간들이 많았는데 서로를 걱정하면서 자신이 할 수 있는 일들을 해냈던 우리 팀원들에게 고맙다는 말과, 즐거웠다는 말을 먼저 하고 싶다. 뀼 ~ 👍🏻👍🏻 🌷 개인 회..
3D Touch 정리 지원하는 기기에서, 사용자들은 터치스크린에 다양한 수준의 압력을 가함으로 추가 기능에 접근할 수 있다. 예전 홈버튼이 있었던 아이폰에서 버튼을 꾹 누르면 한번 더 깊게 버튼이 눌러지는 느낌을 받을 수 있는데, 이렇게 "압력"으로 기능을 수행하게 하는 게 3D Touch이다. 그래서 사실은 3D Touch가 long press랑은 다른 개념인데, 요즘은 3D touch와 long press 기능이 비슷해 진 것 같다. 앱은 아이템 및 사용자가 아이템에 영향을 주기 위해서 사용하는 동작을 보여주기 위해서 context menu (또는 Peek과 Pop을 지원하는)를 보여주어 반응할 수 있다. iOS 13 및 그 이상에서 실행되는 기기에서 사용자들은 3D 터치를 지원하는 기기인지 아닌지에..
저번에 stateObject랑 observedObject를 공부하고 나서 실제로 코딩을 하면서 궁금한 점이 생겨났다..! 그래서 열게된,, 실험실 !! 재밌었고,, 흥미로웠다 ~ ^^ !!!! 나와 같은 고민을 했던, 고민을 할 사람들에게 조금이나마 도움이 되길 바라며 ,,, 피드백과 질문 그리고 문제제기는 언제나 두 팔 벌려 환영이다 ! 🥹✨☺️ 1) StateObject의 Viewmodel이 사라지는 시점 2) 그리고 이 부분은 그냥 아 그렇구나 ~ 하면서 넘겼는데 의문이 들어서 실험하게 되었다. ("애플은 Observable Object를 처음 초기화 할 때는 StateObject를 사용해서 View와 별개의 메모리 공간에 데이터를 저장하도록 하고, 이 객체화된 데이터를 넘겨 받을 때에는 @Obse..