적당한 고통은 희열이다

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

반응형

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

[긴급🚨] 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..

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

728x90
반응형