- Total
목록오뚝이 개발자/iOS (47)
꿈꾸는리버리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kBgNh/btrX2nkqMbi/JDL5dVWkmPIgx7OIon2Ckk/img.png)
개발자이기도 하지만 실유저인 내가.. Cherish 앱을 쓰는데.. 개발할 때 앱을 삭제하거나 Test하는 일이 필요해져서 어쩔 수 없이 하단의 이미지처럼 Cherish 기본 앱과 Dev 용 앱을 분리하고 싶어졌다. 기본적으로 배포한 앱을 다운받고 있으면 Xcode에서 Run을 시키면 앱 스토어에서 다운받았던 앱이 로딩되고, 새로 개발한 사항들이 반영되어 있음을 확인할 수 있다. 이는 내 생각으로 identifier가 같기 때문에 같은 앱으로 판별되어 이렇게 로딩이 되는 것 같았다. 이를 토대로 구글링을 해보니까 내가 세웠던 가설이 맞았다. 그래서 Debug용과 Release용 identifier을 분리하면 내가 원하는대로, 앱 스토어에서 다운받은 앱 따로, 내가 개발한 앱 따로 다운이 가능했다. 그리고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rzQeG/btrVpfm88iC/shB2RLz7s1QCdkXv9dcDKk/img.png)
문제 상황 읭.. Cherish 앱 기본 언어가 왜 영어로 되어 있죠 ..?! 처음 release하고 나서 보니까 영어로 기본 언어가 설정되어 있어서, 다음 업데이트(1.1.0)에서 기본 언어를 한국어로 설정한 것을 확인했었다. 사실 첫 release 이후에 언어 설정을 만진 적이 없었기 때문에 읭? 스럽긴 했지만, 앱스토어 오류인 건가 ? 하면서 업데이트를 진행했었다. 하지만 .. 여전히 기본 언어가 영어였다.. Why? 구글링을 하니까 앱 스토어 언어 정보로 표시되는 언어는 프로젝트의 "Development Region" 를 따른다고 한다. 근데 Development Region는 기본적으로 영어('en')로 설정되어 있어서 영어로 뜬다는 .... 해결 방법 1. project.pbxproj 파일을 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cyDC4U/btrTRG2JbW2/HsL5H8CKKdBaS3nXO9LT90/img.jpg)
한국에서 처음 생긴 iOS 컨퍼런스이자, 가장 큰 iOS 컨퍼런스 !! 11월 30일에 열린 Let'Swift 2022의 준비위원회, Organizer로 참여하고 남기는 블로그 후기이다 :) 레츠스위프트 2022 공식 홈페이지 레츠스위프트 github 저는 지난 9개월동안 포항 포스텍의 애플 디벨로퍼 아카데미라는 곳에서 iOS 개발을 공부했는데요, 아카데미의 수료날이 점점 다가오자 여러 질문들이 머릿속에 떠올랐습니다. 포항이라는 공간에서 나는 애플로부터, 멘토로부터, 동료로부터 그리고 이 경험들로 무엇을 배웠고, 뭐가 아쉬웠으며, 남은 기간동안 난 이곳에서 무엇을 해야하고, 이 아카데미가 끝나고 나는 무엇을 할 수 있을까에 대한 질문이었습니다. 그리고 이때 들었던 질문들의 답을 찾기 위해 저는 7월의 어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfWrFy/btrRfH8U9m2/ljdhkNWxY4f5h1s3bsuTK0/img.jpg)
SyncSwift 컨퍼런스 연사자로 참여 🌷 저번 asyncSwift 때 유익한 강연들과 함께 너무 좋은 에너지들을 받아올 수 있어서, 다음 세미나도 참석하고 싶다는 생각을 많이 했었다. 그리고 이번에는 SyncSwift 컨퍼런스에 영광스럽게도 Talk Session 연사자로 참여하게 되었다. syncSwift 2022 사이트에 연사자로 내 이름이 있는게 너무 너무 뿌듯하다.. 처음으로 모르는 다수의 사람들 앞에서 나의 이야기를 하는 경험이었기 때문에, 많이 긴장하기도 했고 조금은 실수하기도 했지만, 그래도 나름대로 이번 기회를 통해 한발 성장할 수 있었던 것 같다. 누군가에게 나의 경험을 설명하고 어떤 도전들을 했는지, 어떤 시행착오를 겪었는지 발표 하면서 다른 사람들에게 작은 영감과 영향력을 줄 수 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F9FAu/btrQZWzWHEJ/e1lwjPiKZn211G4TTUKGKk/img.png)
두둥 ! 헥토버페스트를 참여해봤다 !! > 공식 홈페이지, 한글 버전 홈페이지 헥토버페스트란? DigitalOcean사에서 주관하는 오픈소스 소프트웨어 행사로서 올해로 9회째인 행사 전세계 누구나 자유롭게 오픈소스 프로젝트에 참여에 관심있는 모든 분들을 위한 행사이다. 오픈소스 생태계를 성장시키기 위해 1달동안 다 같이 기여하는데 의미를 가진다. 10월 한달동안 오픈소스 저장소에 4번의 PR를 승인 or merge 받으면 무료티셔츠를 받을 수 있다 ! (근데 나는 못 받음 🥲) 참여목적 why not ? 1) 우선은 깃과 관련된 행사라서 관심이 갔다! 개발자로서 할 수 있는 이벤트 같은 행사라 처음 들었을 때부터 한번쯤은 꼭 참여해보고 싶었다 ㅎㅎ 2) 다른 프로젝트의 요구사항을 이해하고, 타인의 코드를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xAPy0/btrPgLfnid2/vUl0LVo5vGKrcKZsnSgeok/img.png)
OAuth 2 이란? 앱을 사용하다보면 앱 로그인을 카카오나 apple로 하는 경우가 발생하는데, 이런 경우가 OAuth를 사용해서 구현한 내용이다. 나무위키에 따르면 OAuth의 정의는 다음과 같다. 정의만으론.ㄴ.. 뭔 소린지 모르겠으니... 더 살펴보자. " OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. " 1) 연합된 신원(federated identity) OAuth는 어느 앱이나 웹에서 직접 회원가입을 하는 것이 아닌, 믿음직스러운 기업의 로그인을 통해 서비스를 이용할 수 있도록한다. 이 때문에 사용자는 Google 계정 하나..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cC0rKr/btrMUeQSSLU/srLjBntOUThMhkPXkCEeGk/img.png)
Async Swift 002 세미나 이전에 Async Swift 001 세미나를 애플 개발자 아카데미에서 만난 지인을 통해 알게되어 참석하게 되었다. 유익한 강연들과 함께 너무 좋은 에너지들을 받아올 수 있어서, 다음 세미나도 참석하고 싶다는 생각을 많이 했었다. 계속 호시탐탐 기다리다 LinkedIn에서 공지가 뜬 것을 확인하고 바로 신청을 하게 되었다. ( 혹시나 못 보신 분들은 이전 세미나들을 해당 유튜브에서 확인 가능합니다!) 너무 유명한 곳에서 연사자 분들이 오셔서 많은 기대를 안고 세미나를 참여하게 되었다. 입구에서부터 끝날때까지 준비 위원회 분들이 많이 고생하신 흔적들을 느낄 수 있었다 :) 좋은 세미나 열어주신 분들에게 감사합니다는 말씀을 전하고 싶다 .. 세션은 다음과 같은 순서로 진행이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/E0nOl/btrYaptG1Qx/0salDUUY09RSITPEmlKptk/img.png)
1. 앱 공유하기 아래의 사진 처럼 카톡이나 메세지로 만든 앱을 공유할 수 있도록 하고 싶었다. HStack(spacing: 0) { Text("친구에게 앱 공유하기") Spacer() Image(systemName: "chevron.forward") } .onTapGesture { moveToCherishAppStore() } func moveToCherishAppStore() { if let urlShare = URL(string:"{앱스토어 링크}") { let text = "{공유 text 입력}" let activityVC = UIActivityViewController(activityItems: [urlShare, text], applicationActivities: nil) let allSc..