- Total
목록오뚝이 개발자/iOS (55)
꿈꾸는리버리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kBgNh/btrX2nkqMbi/JDL5dVWkmPIgx7OIon2Ckk/img.png)
🌷 Xcode 시리즈 목차 1) Custom File Template 만들기2) 함수 설명 주석 달기3) Xcode 여러 버전 다운 받기4) Dev 용 앱 분리하기5) Xcode 단축기 모음 6) 커스텀 자동 완성 만드는 방법 (Code Snippet)7) xcodeproj vs xcworkspace커스텀 자동 완성 만드는 방법 (Code Snippet) 🌷 필요하게 된 상황 개발자이기도 하지만 실유저인 내가.. Cherish 앱을 쓰는데.. 개발할 때 앱을 삭제하거나 Test하는 일이 필요해져서어쩔 수 없이 하단의 이미지처럼 Cherish 기본 앱과 Dev 용 앱을 분리하고 싶어졌다. 기본적으로 배포한 앱을 다운받고 있으면 Xcode에서 Run을 시키면 앱 스토어에서 다운받았던 앱이 로딩되고,..
![](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)
[컨퍼런스 모음 Zip]WWDC 22 Student Challenge : Winner 후기 + 팁SyncSwift 컨퍼런스 연사자로 참여한 경험 공유리버의 Let'Swift 컨퍼런스 Organizer 경험기영국 iOS 컨퍼런스(SwiftLeeds) 회고록[ WWDC24 현장 방문 시리즈 ] - 가게 된 이유 + 준비할 것들 - Apple Park, 그곳이 알고 싶다 1/2 - Apple Park, 그곳이 알고 싶다 2/2KWDC ( iOS 컨퍼런스)에서 얻은 영감씨앗들로 열심히 농사해보자한국에서 처음 생긴 iOS 컨퍼런스이자, 가장 큰 iOS 컨퍼런스 !!11월 30일에 열린 Let'Swift 2022의 준비위원회, Organizer로 참여하고 남기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfWrFy/btrRfH8U9m2/ljdhkNWxY4f5h1s3bsuTK0/img.jpg)
[컨퍼런스 모음 Zip]WWDC 22 Student Challenge : Winner 후기 + 팁SyncSwift 컨퍼런스 연사자로 참여한 경험 공유리버의 Let'Swift 컨퍼런스 Organizer 경험기영국 iOS 컨퍼런스(SwiftLeeds) 회고록[ WWDC24 현장 방문 시리즈 ] - 가게 된 이유 + 준비할 것들 - Apple Park, 그곳이 알고 싶다 1/2 - Apple Park, 그곳이 알고 싶다 2/2KWDC ( iOS 컨퍼런스)에서 얻은 영감씨앗들로 열심히 농사해보자 SyncSwift 컨퍼런스 연사자로 참여 🌷 저번 asyncSwift 때 유익한 강연들과 함께 너무 좋은 에너지들을 받아올 수 있어서, 다음 세미나도 참석하고 싶..
![](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..