[iOS] 웹뷰 파일 및 사진 첨부 구분하기 웹에서 input 태그를 만들면 보통 사진 첨부, 파일 첨부 할 수 있는 세 개의 선택지가 뜬다. 웹뷰에서 파일 또는 사진 업로드 버튼을 따로 제공하기 위해 다음과 같이 두 개의 태그를 만들어 각각의 버튼이 특정 파일 형식만 첨부 가능하도록 설정해보았다. 이런식으로 설정해주면 파일을 선택할 수 있는 화면이 바로 열린다. 하지만 사진은 안댐 ㅠㅠ 흑 따로 커스텀 해주어야 한다. 초보 iOS 개발자의 일상/개발 업무 2024.08.19
프로젝트 별 spm 설정 초기화 (설정값 주입? or 환경변수 설정?) 디자인 모듈을 만들었는데, 프로젝트마다 primary color 가 바뀌도록 초기 설정을 해주어야 한다. 일단 요러케 프로젝트 타입을 정의해두고public enum AppType { case main case sub} SPM 모듈 내에서 각 프로젝트마다 다르게 초기화되는 값을 설정하는 방법 1. Dependency Injection 사용하여 설정값 직접 주입받기다음과 같이 SPM 모듈 내에 초기화 구조체 정의public struct DesignConfiguration { public static var shared = DesignConfiguration() public let appType: AppType public init(appType: AppType =.. 초보 iOS 개발자의 일상/개발 업무 2024.07.23
Unlisted app distribution 등록되지 않은 앱 배포 (+ Enterprise 배포를 하지 못한 이유) https://developer.apple.com/support/unlisted-app-distribution/ Unlisted App Distribution - Support - Apple DeveloperFeedback Assistant Submit feedback, report bugs, and request enhancements to APIs and developer tools. Send us feedbackdeveloper.apple.com 보통 조직 내부에서 사용하는 전용 앱은 Enterprise Program 을 통해 직원에게만 비공개 배포가 가능하다. 예전 회사에서는 고객사에 전달할 앱을 엔터프라이즈 배포로 진행을 했었는데,현재 진행 중인 프로젝트의 경우, 고객사 직원들을 대상으로 하는 .. 초보 iOS 개발자의 일상/개발 업무 2024.07.22
Create and publish Swift Package Manager (SPM 생성하는 법 + Package 구성 추가) SPM 을 직접 만들어보자디자인 모듈을 spm으로 따로 만들고 있는 중이다.. 혹시 또 사용할 일이 있을까봐 정리해둠 ㅎ 1. 패키지 생성 Create Package1) GUI - Xcode 에서 생성하기Xcode 에서 File > New > Package > Library 로 생성을 해줄 수 있다. 2) CLI - 터미널에서 생성하기mkdir MyPackagecd MyPackageswift package init --type library 하면 프로젝트가 생성이 됨 2. Publish PackageGithub에 새로운 repository 생성해주고Xcode > Integrate > New Git Repository 로 local 레퍼지토리 생성해준 후 다음과 같이 원격, 로컬 레퍼지토리를 연결시켜준다.. 초보 iOS 개발자의 일상/개발 업무 2024.07.18
[긴급🚨] 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 .. 초보 iOS 개발자의 일상/개발 업무 2024.04.03
[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.. 초보 iOS 개발자의 일상/개발 업무 2023.12.26
[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 개발자의 일상/개발 업무 2023.11.03
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.. 초보 iOS 개발자의 일상/개발 업무 2023.09.27
[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.. 초보 iOS 개발자의 일상/개발 업무 2023.06.28