적당한 고통은 희열이다

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

반응형

초보 iOS 개발자의 일상/개발 업무 99

[긴급🚨] 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. 프로그래스가 표시될 기본 ..

[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..

[Swift iOS] 서버 점검 중 팝업 띄우기 Firebase Remote Config

Remote Config 란? 앱을 업데이트 하지 않아도, 앱의 동작이나 UI를 변경할 수 있도록 도와주는 클라우드 서비스이다. 앱을 강제로 업데이트 시켜주어야 할 때, A/B 테스트를 할 때 등 여러가지 상황에서 유용하게 사용할 수 있다. 참고 : Firebase 원격 구성 서버 점검중 팝업 띄우기 Firebase 설정 Firebase 콘솔 - Remote Config 로 들어간다. 1. 매개변수 추가 매개변수의 이름(키)을 설정해주고, 원하는 데이터 유형을 설정해준다. 1-1. 매개변수 수정 Bool 형태의 값은 다음과 같이 설정해줄 수 있다. String 형식의 값은 다음과 같이 설정해줄 수 있는데, 개행을 하기 위해서는 아래 버튼을 눌러 문자열 편집기를 사용할 수 있다. 2. 변경사항 게시 변경사..

[Swift iOS] Firebase A/B Testing

서비스를 개선하는 실험 방안 중 하나로 유명한 A/B Test 새로운 피처를 도입하기 전에 사용자들의 니즈를 먼저 파악하기 위해 2주 정도 Firebase A/B Testing 을 진행하였다. 버튼의 UI 를 변경하여 유저들이 해당 기능에 얼마나 관심이 있는지를 파악하고자 하였고, 변경된 버튼의 클릭률이 8% 정도 높아 해당 피처의 고도화를 진행하기로 하였다. 새로운 기능이나 기획의 방향에 논리적인 근거가 될 수 있다는 점에서 좋은 방식이라고 생각한다. 개발하는 입장에서 같은 기능을 두개로 나눠서 만들어야 하니 귀찮긴 했는데 그래도 재미있었다. 가설 설정 - A/B 테스트 진행 - 결과 분석 및 도출 A/B 테스트 과정에서 유의할 점 A/B 테스트의 결과는 표본의 수에 따라 크게 달라질 수 있다. 10명..

[Swift iOS] Add UIButton actions in UITableView Cells with Code

UITableView Cell 안에 UIButton을 넣어 터치 이벤트를 주려고 했는데, 아무리 해도 버튼 tap 인식이 안되는 것이었다. 대부분의 예제가 스토리보드를 사용해서 구현을 했던데, 코드로 구현을 했더니 아주 사소한? 문제로 몇 시간을 날렸다 ㅎㅎㅎ 우선 내가 사용한 방법은 Delegate 패턴을 사용하여 터치 이벤트를 추가해주었다. tableView header에서는 이 방법으로 버튼 터치가 잘만 되는데, cell에서는 아무리 해도 터치 이벤트 적용이 안되는 거야 왜ㅐㅐ 문제는 이벤트 추가가 아니라 cell 내에서 UIButton 을 추가할 때 있었다.. ㅎㅎㅎ cell 내에서 코드로 UIButton을 추가할 때 그냥 self.addSubview(button) 이렇게 해주면 투명한 Conte..

728x90
반응형