썸네일 [iOS/Supabase] Sign in with Apple 탈퇴 기능 구현 삽질 기록 - Supabase Edge function을 이용한 Token Revocation 두근두근 첫 심사를 올린 기쁨 9일 01:54 am 에 제출하고 약 29.5시간? 정도 만에 리뷰를 받았다 (10일 07:33 am) 탈퇴 기능이 없단다!!사실 맞다.. 일단 로그아웃만 넣고 탈퇴는 나중에 넣어야지 했는데(문의는 가능하게 창구는 열어놓긴 함)계정 삭제가 가능해야만 출시가 가능하단다 ㅠㅠ 그래 계정 삭제 후딱 넣어주면 되지!그것이 바로 삽질의 시작이었다...그리고 이것은 그 삽질에 대한 기록레쓰고 현재 구현된 상태는 다음과 같다- SwiftUI 네이티브 앱- Sign in with Apple 네이티브 구현 (AuthenticationServices 프레임워크)- Supabase Auth를 통한 세션 관리- Supabase DB + Storage 데이터 저장 사용자가 UI에서 계정 삭제를..
[xcode26] preview canvas에서 GroupRecordingError / Error encountered during update group 에러 발생 시 dev, prod 스킴 설정하고 이것저것 고치다가 view preview를 하나 봤는데 계속 크래시가 났다.심지어 빌드는 성공했는데도.. GroupRecordingError / Error encountered during update group 등등이 적힌 로그가 떴는데 검색해도 정보가 없었다. 빌드 캐시 다 날려보고 온갖 난리부르스,심지어는 그냥 텍스트만 띄워서 보려고 해도 안돼서스킴, build configuration 잘못 건드렸나 하고 하루종일 삽질,git도 되돌리고 아주 별짓을 다해도 안되고아무래도 이상해서 계속 검색하다보니 비슷한 증상의 stackoverflow 글을 발견.. https://stackoverflow.com/questions/79813033/swiftui-preview-not-..
썸네일 [iOS/Xcode] xcconfig 파일에 url 넣기 supabase를 쓰면서 코드 내에서 supabase url 및 key를 써야하는 상황이 되었다.환경변수처럼 분리할 수는 없지만 비슷하게 xcconfig 파일을 사용할 수 있다. 사용방법은 간단하다..xcconfig 파일을 만들고 그 안에 환경변수처럼 값을 넣어준 다음Info.plist에 다음과 같이 키와 값을 지정해주고, Project > Info > Configurations 에서 내가 원하는 타겟에 .xcconfig 파일을 연결해준다. 그리고 코드 내에서는 이렇게 써주면 된다.let supabaseURL = Bundle.main.infoDictionary?["SUPABASE_URL"] as? Stringlet supabaseKey = Bundle.main.infoDictionary?["SUPABA..
썸네일 [iOS/SwiftUI] Supabase Auth 로 애플 로그인 Sign in with Apple 구현 (feat. 애플 Authentication Services) swift로 iOS 네이티브 앱을 개발하는 중Supabase Auth 로 로그인을 구현하기로 했다. 인터넷을 좀 찾아보면서 하는데firebase에 비해서 상대적으로 정보도 부족하고블로그나 유튜브 영상도 애매하고gpt나 클로드에서도 좀 애매하게 알려줘서굉장히 헷갈리는 부분이 많았다. 내 나름 공식문서랑 삽질한 결과를 남겨 놓겠다!(사실 native로 그냥 구현하는 건 제일 단순하고 쉬운 건데더 어려운 다른 정보들이랑 혼자 헷갈려서.. 좀 쓸데 없이 헤맸다 ) 오늘의 뽀인트는 "swift로 네이티브 iOS 앱을 개발하면서애플로그인을 구현하는 방식"이다. 일단 supabase에서 제공하는 관련 공식문서는 여기다.https://supabase.com/docs/guides/auth/social-login/auth..
썸네일 [iOS/SwiftUI] 버튼 아이콘 색 설정하기 .tint (.accentColor) Button(action: viewModel.sendMessage) { Image(systemName: "paperplane.fill") .font(.system(size: 26))}.disabled(viewModel.inputText.trimmingCharacters(in: .whitespaces).isEmpty)//채팅창에 텍스트가 있을 때에만 버튼 활성화//viewModel 부분 코드는 생략 이런식으로 버튼을 넣으면활성화 시 시스템 기본 색상이 들어가고 (파란색)비 활성화 시 자동으로 회색 처리 된다. 그런데 이렇게 파란 버튼은 너무 애플스럽기(?) 때문에 다른 색상으로 바꿔주고 싶었다. 만만한 .foregroundStyle을 썼는데 (구 .foregroundColor)Butt..
썸네일 [iOS - SwiftUI] Text에서 link 감지하고 인앱브라우저로 열기 prefersInApp SwiftUI 3.0, iOS15부터는 Text(.init(보여줄_텍스트)) 라고만 쳐도알아서 텍스트 내 link를 감지하고 클릭가능한 링크로 포맷팅해준다.Text(.init("링크를 넣으면 www.google.com 클릭 가능해요. 여러개도 가능해요 https://naver.com")) .padding(.horizontal, 14) .padding(.vertical, 10) .cornerRadius(12) //... 근데 문제는 알아서 일을 너무 잘 한 나머지 바로 외부 브라우저로 url이 열린다.사용자가 앱에서 이탈하는 것을 막기 위해서 inapp 브라우저로 띄우려고 또 한참 찾아본 결과!iOS26부터 지원 되는 기능이 있다는 것을 알게 됐다..!! 굉장한 신규 기능!요걸 해보려..
썸네일 [iOS - Xcode] cmd+X / cmd+C로 라인 잘라내기/복사하기 단축키 key binding (VSC 처럼 쓰기) 라인 잘라내기/복사하기아래 경로의 파일에/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist 아래 내용을 추가하자 Cut and Copy Cut Current Line selectLine:, cut: Copy Current Line selectLine:, copy: 단, 기본적으로 존재하는 영역 선택 후 복사/잘라내기와 충돌이 나기 때문에Xcode - Settings - Key Bindings 내에서 Shift+cmd+C/Shift+cmd+X 등으로 바꾸는 걸 추천함 출처: https://appl..
썸네일 [IOS-SwiftUI] .safeAreaInset(edge: .bottom) 쓰면서 모서리 Radius 주는 방법 (바텀시트처럼) .safeAreaInset(edge: .bottom) 내에 들어가는 View에 mask 씌우기.mask { UnevenRoundedRectangle(topLeadingRadius: 10, topTrailingRadius: 10) .ignoresSafeArea()} cornerRadius 값을 주거나 clipshape 하면 safeArea 위로 떠 버리는 문제가 있었는데.ignoresSafeArea()를 먹인 도형으로 마스크를 걸어주면 된다! 출처: https://stackoverflow.com/questions/78705662/swiftui-overlay-either-rounded-corners-or
썸네일 241123 집안일 잔뜩 오늘도 나름 토요일 치고 부지런히 움직였다.어제 저녁에 폭주기관차 친구들을 만나고 집에 들어왔는데 유독 평소보다도 더 잠이 쏟아지는 것이다. 한잔씩 걸쳤던 막걸리 때문이겠지.조금더 객기를 부리려는 마음이 앞섰지만 체념하고 10시 40분쯤? 일찍 잠에 들었다. 다음날 아침 일찍 일어나길 기대하면서! 그런데 웬걸, 아침에는 평소보다도 일어나기 힘들었고 뒤척이다 겨우 10시에 일어났다 ㅋㅋ 온갖 이상한 꿈들도 많이 꾸고,,정신차리고 하루를 곰곰히 생각해보니 이것저것 나름대로 하고 싶은 것이 많았다. 몇개월 전부터 예매해뒀던 내한 공연을 위해 부랴부랴 셋리스트 예습을 돌리기 시작했는데 뭔가 내심 시들해져서 취소를 마음먹게 되었다. (사실 12월 주머니가 좀 궁한 것도 한 몫했다..) 그래서 티켓 환불도 하러 가..