전체 글
-
iOS 개발자 1년 회고 (feat. 이직)회고 2023. 5. 31. 19:00
나름 iOS 개발자로 취업한 지 1년이 되었다. 1년 동안 많은 것을 배우고 성장할 수 있었던 시간이었으며, 이 글을 통해 그동안의 경험을 되돌아보고자 한다. 2022년 5월에 신입으로 첫 직장에 입사했고 중간에 신입으로 이직했다. (바로 입사하여 쉰 기간 일주일정도?) 금융권(7개월) -> 통신사(5개월) 사실 신입 교육을 받은 기간만 합쳐서 4개월 정도는 넘어 제대로 일을 한지는 반년 안될지도 모르지만 경력으로는 만 1년이 되었다. 그래서 아직 기술적인 이야기보단 경험 이야기를 써보려 한다..! 취업 그리고 이직 어떻게 하다 보니 1년 동안 신입 공채로 두 곳에 들어가게 되었고 가장 도움이 되었던 건 iOS 개발자로 앱스토어에 배포해 본 경험인 거 같다. 직접 앱을 출시 운영해 봤고 그전까지 설계를 ..
-
iOS 코드에서 중요 정보 가리기 (Feat. plist, bundle, gitignore)프로그래밍/iOS 2022. 5. 10. 19:35
개발하다 보면 url, api key, apple id 등 코드에 필요하지만 가리고 올리고 싶을 때가 있다. 그럴 때 plist를 활용하여 따로 적어놓고 사용하는 코드를 정리해놓으려 한다. 예시로 apple id를 숨기려 한다! (보통 api key나 base url도 많이 활용한다) func requestReviewmenually(id: String) { //app store connect의 앱정보에서 apple id를 확인한다 guard let writeReviewURL = URL(string: "https://apps.apple.com/app/id\(id)?action=write-review") else { return } UIApplication.shared.open(writeReviewURL, ..
-
[감정 소비] 1.0.5 업데이트에 관하여 (Feat. iOS Custom Font, Radio Button, 사용자 문의)프로그래밍/iOS 배포 2022. 4. 30. 17:58
감정 소비 앱은 기존 전체가 내가 설정한 커스텀 폰트를 활용하여 보였었다. 일단 문의하기 기능을 써주신 것도 감사하고 좋은 피드백을 얻었다. 기본 폰트를 더 좋아하는 사용자도 많을 거라 생각을 해 사용자가 폰트를 선택하게 기능을 만들어주려 한다. 그럼 일단 계획은 커스텀 폰트 고르기 및 설정해놓기 -> 각 폰트 enum 및 UIFont Extension 설정 -> 사용자 폰트 설정 View 만들기 -> 폰트 설정 시 전체 적용되게 하기 이렇게 정도 기획하고 시작을 한다 일단 폰트가 바뀔 시 앱 전체가 폰트가 바뀌어야 하기 때문에 custom font 코드들이 다 적용되어 있어야 한다. 기존에 그렇게 하지 않은 코드나 스토리보드에서 설정한 글꼴들은 코드로 바꿔준다! 커스텀 폰트 설정은 기존 포스팅을 참고!..
-
iOS 현재 앱 버전 및 빌드 정보 가져오기프로그래밍/iOS 2022. 4. 12. 01:12
사용자에게 현재 무슨 버전을 사용하고 있는지 알려주기 위해 버전 정보를 표시해주는 방법을 간단히 써보겠다..! 사용자는 버전만 알면 되니 버전만 뿌려주기로 함 func appVersionGet() -> String{ guard let dictionary = Bundle.main.infoDictionary, let version = dictionary["CFBundleShortVersionString"] as? String, let build = dictionary["CFBundleVersion"] as? String else { return "" } print("vserion: \(version), build: \(build)") return version } objc: + (NSString*) getA..
-
Swift 알고리즘 : DFS & BFS알고리즘/Swift 2022. 3. 26. 02:28
DFS 깊이 우선 탐색 스택 재귀 사용, 연결 요소 찾기 쉬움 func dfs(graph: [[Int]], v: Int, visited: inout [Bool]){ //현재 노드 방문 처리 visited[v] = true print(v, terminator: " ") //현재 노드와 연결된 다른 노드를 재귀적으로 방문 for i in graph[v] { if !visited[i]{ dfs(graph: graph, v: i, visited: &visited) } } } let graph = [ [], [2,3,8], [1,7], [1,4,5], [3,5], [3,4], [7], [2,6,8], [1,7] ] var visited = Array(repeating: false, count: graph.coun..
-
iOS 15 + NavigationBar, Tabbar 배경 구분선 투명해진건에 대하여프로그래밍/iOS 배포 2022. 3. 19. 18:15
https://developer.apple.com/forums/thread/682420 barTintColor not working in iOS 15 | Apple Developer Forums In iOS 15, UIKit has extended the usage of the scrollEdgeAppearance, which by default produces a transparent background, to all navigation bars. The background is controlled by when your scroll view scrolls content behind the navigation bar. Your screensho developer.apple.com 내부 테스트를 하다 보..
-
앱 업데이트 배포프로그래밍/iOS 배포 2022. 3. 19. 02:29
애널리틱스 및 크래시틱스를 달고 기존 UX를 개선하여 업데이트하려 한다. 먼저 버전을 기존 것보다 올려준다. 아카이브 하기 전에 실기기나 Any iOS Device로 바꿔준다. (시뮬레이터로 하면 아카이브가 비활성화될 수 있다) 혹시 아카이브 창이 안 뜨면 Window -> Organizer로 킬 수 있다. distribute 안에 validate(시스템적으로나 인증서 오류 테스트)가 포함이 되어 있어 바로 distribute를 해도 되지만 어차피 validate가 안되면 배포가 안되기에 앱 유효성 검증부터 해보는 편이다. 유효성 검증이 되지 않는 경우: 앱 아이콘이 없거나 너무 투명할 때, 번들 아이디가 유효하지 않을 때, 이미 올린 빌드 넘버나 낮은걸 입력했을 때 등 유효성이 통과되면 그다음 배포를 ..
-
.gitignore (Mac 환경)프로그래밍/Git 2022. 3. 17. 01:42
레포지토리에 .gitignore을 해놔야 깃허브에 필요 없는 걸 안 올릴 수 있다. 그리고 가장 중요하게 내가 숨기고 싶은 파일을 안올릴 수 있다! (ex. url, API Key, .plist 등) 항상 검색해서 썼었는데 나를 위해서도 정리해놓으려고 한다. 먼저 .gitignore을 만들기 위해 터미널로 레포지토리의 루트 디렉토리로 이동해준다 sudo touch .gitignore 명령을 통해 .gitignore 파일이 생성된다. open . 을 통해 직접 폴더를 보면서 하는 편이다. 또 shift + command + . 을 통해 숨긴 파일을 볼 수 있다. 다음은 .gitignore에 무엇을 적을까인데 처음 프로젝트를 push 하기 전 https://gitignore.io gitignore.io Cr..