swift8 [iOS] 원격 모듈 업그레이드 오류 (Could not compute dependency graph: unable to load transferred PIF: The workspace contains multiple references with the same GUID 'PACKAGE:1YM1U4L3KHXI6YAJKZPL0AW5PXP8KNX9R::MAINGROUP') 안녕하십니까, 민트입니다 😈키체인 오픈소스를 만들어서 작업하던 중, 업그레이드를 했더니 문제가 생겼습니다. 더보기Showing Recent Issues Failed to resolve dependencies Dependencies could not be resolved because no versions of 'keychainmodule' match the requirement 1.0.2..Resolving Package Graph Failed 4/10/25, 7:00 PM 1.8 seconds키체인 모듈을 적용하고 있던 프로젝트에서 업그레이드한 1.0.2를 읽지 못하는 것입니다. clean build를 해도 여전히 다음과 같은 오류가 떴습니다. 더보기Showing Recent IssuesP.. 2025. 4. 11. [iOS/WWDC21] Explore structured concurrency in swift 1 안녕하십니까, 민트입니다. 😈 WWDC21 Explore structured concurrency in swift를 보고 내용을 정리해 보았습니다.양이 많아서 Part1과 2로 분리합니다.구조적 프로그래밍초기에 컴퓨터를 사용할 때는 명령어 시퀸스로 작성되어 제어 흐름을 관리하기 어려웠습니다. 하지만 요즘은 언어에서 구조화된 프로그래밍을 사용하여 제어 흐름을 균일하게 만들기 때문에 이러한 일은 거의 없어졌습니다.예를 들어 if - else문은 구조화된 제어 흐름을 사용합니다. 중첩된 코드 블록이 위에서 아래로 이동하는 동안에만 조건부로 실행됩니다. 이처럼 Swift에서는 해당 블록이 정적 범위인 scoping을 따릅니다. 이에 해당 블록 내에서 정의된 변수들의 생명 주기는 블록을 벗어날 때 끝납니다.이처.. 2025. 4. 1. [iOS/Swift] WKWebKit 약관 상세 페이지 전환하여 띄우기 우리는 노션 웹페이지로 두 개의 상세 페이지를 보여준다. ( 페이지는 현재 제외되었다.)같은 형식의 뷰에, title과 WebView의 링크만 바뀐다. 다만 여기서 버튼을 눌렀을 때, 바깥의 약관 선택 페이지에서도 해당 표시가 반영되어야 했다. 구조를 고민하다가, 위의 3개 페이지가 전부 같은 뷰모델을 공유하여 상태 값들을 전달받을 수 있도록 구현했다.WKWebView 사용WebView의 구현 방식에서는 3가지가 있다. 1. WKWebKit2. open safari3. SFSafariViewController나는 이 중에서도 닫기 버튼을 커스텀하고, 따로 웹에서 작업할 것 없이 앱 내에서 보여주기만 할 것이기에 WKWebKit을 사용하였다. 노션으로 약관을 정의했는데, 약관의 내용이 수정되었을 때 굳.. 2024. 7. 7. [iOS/Swift]카카오톡 공유하기 구현 3. openURL, 앱이 suspended일 때, query Parameter에 한글이 있을 때 2024.07.05 - [iOS/트러블 슈팅] - [iOS/Swift]카카오톡 공유하기 구현 1.이미지 URL 설정 + FileManager에 UIImage 저장 [iOS/Swift]카카오톡 공유하기 구현 1.이미지 URL 설정 + FileManager에 UIImage 저장우리 서비스 roome는 방탈출 프로필을 생성하는 것이 가장 주된 기능이다. 때문에 이 프로필을 다른 사람들에게 공유하는 것이 필수였다. 네이버, 인스타 등 여러 가지 매체를 고민했는데 프로필mintraum.tistory.com2024.07.05 - [iOS/트러블 슈팅] - [iOS/Swift]카카오톡 공유하기 구현 2. 사용자 정의 템플릿 사용 [iOS/Swift]카카오톡 공유하기 구현 2. 사용자 정의 템플릿 사용2024.07.0.. 2024. 7. 5. [iOS/Swift]카카오톡 공유하기 구현 2. 사용자 정의 템플릿 사용 2024.07.05 - [iOS/트러블 슈팅] - [iOS/Swift]카카오톡 공유하기 구현 1.이미지 URL 설정 + FileManager에 UIImage 저장 [iOS/Swift]카카오톡 공유하기 구현 1.이미지 URL 설정 + FileManager에 UIImage 저장우리 서비스 roome는 방탈출 프로필을 생성하는 것이 가장 주된 기능이다. 때문에 이 프로필을 다른 사람들에게 공유하는 것이 필수였다. 네이버, 인스타 등 여러 가지 매체를 고민했는데 프로필mintraum.tistory.com이전글에 이어서 공유하기 템플릿에 대해서도 고민이 있었다. 우리 팀은 보낸 이와 받는 이가 다르게 보이길 원했다.정확히는 "확인하러 가기" 버튼이 굳이 본인에게 보일 필요가 없다고 생각했다. 때문에 위 사진처럼 .. 2024. 7. 5. [iOS/Swift]카카오톡 공유하기 구현 1.이미지 URL 설정 + FileManager에 UIImage 저장 우리 서비스 roome는 방탈출 프로필을 생성하는 것이 가장 주된 기능이다. 때문에 이 프로필을 다른 사람들에게 공유하는 것이 필수였다. 네이버, 인스타 등 여러 가지 매체를 고민했는데 프로필 이미지를 보여주면서 클릭 시 우리 앱으로 연결을 하는 것에는 카카오만이 적합하다는 결론이 나와 카카오톡 공유하기만 사용하기로 했다.1. 흐름공유하기가 이루어지는 과정은 다음과 같다. -----보내는 이-----1. 사용자가 ViewController에서 공유하기 버튼을 누른다. 2. ViewModel에서 KakaoShareApi를 사용해 공유용 템플릿을 생성하고, 전달한다. 3. 전달 후 되돌아온다.-----받는 이-----1. 확인하러 가기 버튼을 누른다.2. -1) 앱 미설치 시 카카오 디벨로퍼스의 플랫폼에 설.. 2024. 7. 5. [iOS/Swift] UIView to UIImage without Display 요즘 IT 동아리 프로그라피에서 사이드 프로젝트를 하는 중이다. 프로필 이미지를 만들어서 보여주는 프로젝트인데, 1:1 정방향의 프로필과 3:4 세로형의 프로필 사진 구현을 보여주면서 고민이 생겼다. 디자인 상 이미지 밑의 버튼이 겹치지 않기 위해 3:4 세로형의 height를 미리 구현한 뒤 이미지로 만들어 저장하고 보여줄 때는 가로 넓이를 세로 길이에 맞추어 줄이는 형식으로 구현해야 했다.물론, 이렇게 보이는 것과는 다르게 이미지로 저장하기를 누르면 3:4의 경우 옆의 회색 없이 카드 이미지만 저장되어야 했다. 때문에 view 계층의 제일 밑에서 CardView를 그리고, 해당 UIView를 UIImage로 저장하여 불러왔다. 그런데 이때 시점의 차이 때문에 UIImage가 뜨지 않았다. 고민하다 처.. 2024. 7. 2. [iOS] TableViewCell에서 layoutMarginsGuide 사용 테이블뷰의 Custom Cell을 설정할 때 처음에 제약조건을 ContentView에만 맞췄다. private func configureCellConstraint() { NSLayoutConstraint.activate([ contentStackView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor), contentStackView.topAnchor.constraint(equalTo: contentView.topAnchor), contentStackView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), contentStackView.bottomAnchor.constraint(e.. 2024. 1. 6. 이전 1 다음