일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- widgetkit
- 코테
- Firebase
- SwiftUI
- ios
- cloud functions
- fcm
- Apple Developer Academy
- UIDatePicker
- coreml
- createml
- tabman
- UITableView
- Flutter
- spring
- Delegate Pattern
- UIStackView
- Complication
- Sendbird
- task.yield()
- WWDC22
- swift concurrency
- Swift
- Project
- Tuist
- watchkit
- backend
- Coding Test
- app intents
- github
- Today
- Total
목록ios (57)
azhy의 iOS 이야기
2022년 5월 15일에 작성됨 며칠 전에 앱을 출시하고 앱 정보를 확인해 보니 언어가 EN 영어로 되어있었다. 분명 나는 출시할 때 지역을 한국으로 설정했는데 왜..?라고 생각을 하고 구글링을 했습니다. 결론은 앱 스토어의 언어로 표시되는 정보는 프로젝트의 Development Region 따른다고 합니다.Info.plist에서 Localization native development region을 Korea로 변경프로젝트이름.xcodeproj/project.pbxproj 파일을 다른 에디터(저는 vs로 작업했습니다)를 이용해서 열고 developmentRegion = ko;로 바꾸고 밑에 knownRegions 에도 en -> ko로 변경 이렇게 변경하고 출시를 하면 앱의 언어가 한국으로 뜨는 것을 ..
2022년 5월 12일에 작성됨 인생 첫 앱을 출시하며 있었던 이야기를 기록으로 남겨보려 합니다.규칙모바일 개발은 Flutter로 먼저 입문했었습니다.하지만 iOS에 더 관심이 있었고 최종적으로는 취업도 iOS로 하려 했기에 iOS에 조금 더 집중하기로 결정을 했습니다.프로젝트는 저 포함 2명이서 진행하였고 몇 개의 규칙을 정해 기획을 진행했습니다.유저정보를 최대한 묻지 않는 로그인, 회원가입유저 간 상호작용하는 기능들 배제복잡하지 않은 UI, UX디자인은 최대한 해치지 않게 제작이제 막 swift 기초 문법을 공부하고 바로 프로젝트를 진행했기에 리스크를 최대한 줄이려고 이렇게 규칙을 정했습니다.실제로 그때 당시 작성했던 노타빌리티 메모인데, 이렇게 보니 조금 부끄럽네요.. ㅋㅋㅋㅋㅋ기획앞에 작성한 규칙..
2022년 5월 6일에 작성됨 기본 입력받기// return Stringvar input = readLine()!// return Intvar input = Int(readLine()!)!"1 2 3 4 5"와 같은 공백 있는 숫자 입력받기// split - return: [SubString] var nums = readLine()!.split(separator: " ").map {Int($0)!} // components - return: [String] -> import Foundation 필수var nums = readLine()!.components(separatedBy: " ").map {Int($0)!}// FileIO, 입력받으면서 리스트에 바로 추가하기array.append((file.re..
2022년 5월 3일에 작성됨 우리는 보통 GCD, Dispatch Queue를 구분하지 않고 부릅니다.요번에 정리하며 알게 됐는데 공식문서를 보면 GCD는 동시성 실행을 제공하는 프로그래밍 언어 요소, 런타임 라이브러리 등이라고 합니다. 그래서 따지고 보면 GCD랑 Dispatch Queue는 같지는 않지만 GCD의 개념으로 동시성 프로그래밍을 지원하는 친구가 Dispatch Queue라서 같은 의미로 봐도 무방할 것 같습니다. 다른 언어와 달리 iOS 는 Dispatch Queue에 작업을 넣으면 운영체제가 알아서 스레드에 할당해 주는 특징이 있습니다.Serial, ConcurrentDispatch Queue에는 2가지 종류가 있는데 Serial과 Concurrent가 있습니다. Serial등록된 ..
2022년 4월 19일에 작성됨CocoaPods 이용해서 TabMan 설치pod 'Tabman', '~> 2.12'Set & Use설치가 완료되었다면 ViewController를 생성해서 다음과 같이 세팅을 해주세요.import Tabmanimport Pageboyclass TabViewController: TabmanViewController { private var viewControllers = Array = [] override func viewDidLoad() { super.viewDidLoad() // tab에 보여질 VC 추가 if let firstVC = storyboard?.instantiateViewController(withIdentif..
2022년 4월 16일에 작성됨 Custom Cell을 이용해서 TableView 구성 중인데 모든 곳에 autolayout superView 0으로 잡아도 왼쪽 여백이 계속 생기는 이슈가 발생했습니다. 그래서 구글링을 통해 알아보니 생각보다 많은 사람들이 이런 상황을 겪고 있었네요. ( 참고링크 1, 참고링크 2 )해결법// view controller...tableView.register(UITableViewCell.self, forCellReuseIdentifier: "identifier")tableView.separatorInset = .zerotableView.directionalLayoutMargins = .zerotableView.layoutMargins = .zero...// data so..
2022년 1월 2일에 작성됨프로젝트 생성 후 Android 앱 등록 선택 Android 패키지 이름을 추가합니다.패키지 이름은 app / build.gradle 에서 확인 가능구성 파일 다운로드 구성 파일을 다운해서 app 폴더에 추가SDK 추가androd / build.gradle 에 추가buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { ... // Add this line classpath 'com.google.gms..