적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

초보 iOS 개발자의 일상 109

[긴급🚨] Privacy Manifest 추가하기

5월 1일까지 Privacy Manifest를 추가해줘야 한다눙,, (deadline은 https://developer.apple.com/news/?id=3d8a9yyh 요기 참고) https://developer.apple.com/documentation/bundleresources/privacy_manifest_files 요기 참고해서 추가해주면 되고, 뭔지 전혀 감이 안온다! 싶으면 아래 wwdc 영상 보면 쪼꼼 이해 될수더..? https://developer.apple.com/videos/play/wwdc2023/10060 Get started with privacy manifests - WWDC23 - Videos - Apple Developer Meet privacy manifests: a ..

[Swift] bullet string 적용하기

Bullet String 적용하기 점 넣고 들여쓰기 해주는 방법 ! 1. NSAttributedString 에 extension으로 원하는 값들을 설정해준다. extension NSAttributedString { static func makeBulletList( strings: [String], color: UIColor = MacaColors.gray500, font: UIFont = Fonts.AppleRegular.of(size: 14), indentation: CGFloat = 15, lineSpacing: CGFloat = 4, paragraphSpacing: CGFloat = 2 ) -> NSAttributedString { let paragraphStyle = NSMutableParagra..

[Swift iOS] circular progress bar 원형 프로그래스 바 만들기 (feat. UIBezierPath)

2023.11.03 (금) 미션을 수행하면 표시될 progress bar 작업을 진행했다. 이미지 위에 원형 프로그래스 바를 직접 구현하여 미션 수행 상황을 한 눈에 볼 수 있도록 하였다. 미션 수행 내역이 한 번이라도 있는 경우, 이미지 위에 회색 및 흰색 테두리가 표시되고, 그 위에 파란색으로 진행상황을 표시해주는 방식이다. 1. CircularProgressBar 클래스 생성 다음과 같이 클래스로 원형 프로그래스 바를 생성해두면, var progressBar = CircularProgressBar() 이런 식으로 간편하게 사용이 가능하다. class CircularProgressBar: UIView { private let lineWidth: CGFloat = 2 } 2. 프로그래스가 표시될 기본 ..

iOS 17 대응 - 컬렉션뷰 이슈

2023년 9월 18일, 지난주에 iOS 17 버전이 출시되었다. 나는 업데이트를 잘 안하는 편이라,, ㅎ 업데이트 안하고 있었는데 어제 스쿼드 미팅에서 갑자기 몇몇 기기에서 커뮤니티 탭 전환이 안되는 버그가 발견되었다..! 😱 얼마 전, 커뮤니티 리뉴얼 하면서 테스트도 엄청 했고 지금 내 핸드폰과 테스트 기기들에서는 너무나 정상적으로 작동이 잘 되고 있는데??? 1. iOS 17 빌드하기 - 웰컴 투 업데이트 지옥 🤗 OMG.. 해당 이슈 발생하는 기기 두개가 다 iOS 17 업데이트 한 거,,, 이게 머선일이고..? 일단 원인을 찾기 위해 디버깅을 해보려 하니.. iOS 17 빌드할려면 Xcode 15로 업데이트를 해야한다. Xcode 15 실행할려면 mac OS 13.5 이상이어야 되니깐 mac O..

[Swift iOS] Set gradient 그라디언트 뷰 적용하는 법 (+ 안뜰때!!)

그라디언트 뷰를 따로 만들어서 사용하는 방법 class GradientView: UIView { private let gradientLayer = CAGradientLayer() override init(frame: CGRect) { super.init(frame: frame) setGradientLayer() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } private func setGradientLayer() { gradientLayer.frame = bounds gradientLayer.colors = [UIColor.blue.cgColor, UIColor.red.cgColor] grad..

프로토콜 사용시 주의해야 할 강한 순환 참조 문제

‘weak' must not be applied to non-class-bound 'any …Delegate'; consider adding a protocol conformance that has a class bound 이러한 에러가 떴다. 클래스 인스턴스 간에 강한 순환 참조가 발생하는 경우가 있는데 흔히 Delegate 패턴을 사용할 때 이런 문제가 발생할 수 있다. * Retain Cycle (= Strong Reference Cycle) : 두 클래스 인스턴스가 서로 참조를 유지하면서 메모리에서 해제되지 않아 메모리 누수가 생기는 현상 그래서 UITableViewDelegate도 다음과 같이 weak var로 정의되어 있음. weak var delegate: UITableViewDelegate..

집무실 왕십리점

취준컴퍼니 3기에 합격(..?)하여 집무실 전지점을 이용해볼 수 있는 특권을 얻게 되었다 히히 로켓펀치 프리미엄 서비스, 실무진 코치진 등 다양한 복지(?) 혜택들이 있지만 iOS 개발하시는 코치님은 없으신 관계로 🥲 가장 기대되는 혜택은 24시간 운영되는 집무실 무제한 회원권..!! 😆😆 집에서 제일 가까운 왕십리점을 먼저 방문해보았따 짱조아~ 나는 햇살이 드는 2층 독립좌석에 자리를 잡고 앉아 간만에 포토부스로 안찍던 세ㄹ카도 몇장 찍어보았다. (햇살을 담아보고싶었뚬) 역시 1인석은 편하고 좋은데 뻘짓도 많이 하게 되는듯(..?) ㅋㅋㅋ 사진찍고 핸드폰으로 에어드롭하려던걸 실수로 다른 사람에게 보내버렸,, 🫣 그렇지만 어쩌겠는가 부끄러움은 온전히 나의 몫인걸,, 어쩔수 없지뭐. 철판 깔아~~ 독립 좌..

728x90
반응형