일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- base64 변환
- DataBinding
- UIPresentationController
- Android
- swift
- url 관찰
- 개발자 면접
- ViewBuilder
- scrolling tab
- Side Menu
- oberve url
- ios
- 스크롤 탭
- UIViewControllerTransitioningDelegate
- DevelopmentRegion
- SwiftUI
- transformation.map
- url 추적
- pod install
- GeometryReader
- notifychanged
- List
- convert base64
- swift #swift keychain #keychain 사용법
- 상단 탭바
- detect url
- development language
- Tuist
- 기존 앱
- Swift Package Manager
- Today
- Total
목록IOS (30)
버그 잡이
앱 스토어를 보면 아래와 같이 앱에 관한 정보가 표시됩니다. 그런데 저는 분명히 App Store Connect 를 통해서 앱을 등록할때, 언어와 지역을 한국으로 설정했는데, 앱 출시 후 확인해보니 언어가 영어(EN)으로 설정 되어 있습니다. 뭐지......? Development Region 구글링을 통해서 확인해보니 앱 스토어 언어 정보로 표시되는 언어는 프로젝트의 "Development Region" 를 따른다고 합니다. Development Region는 기본적으로 영어('en')로 설정되어있습니다. 이는 .xcodeproj 파일에서 수정해줘야합니다. .xcodeproj 파일을 editor로 열고 "developmentRegion"로 검색하면 'en' 으로 설정되어있는 것을 볼 수 있습니다. 1...
iOS 프로젝트에서 cocoaPods 를 쓴다면 매번 터미널에서 pod install을 해주는 번거로움이 있습니다. Xcode에서 이 명렁어 치는 과정 (터미널 실행 -> 프로젝트 경로 진입 -> pod install) 을 단축키 하나로 등록할 수 있습니다. Xcode의 Custom Behavior를 사용하는 것으로 방법은 아래와 같습니다. 1. Pod-install.sh 파일 생성 터미널 실행 후 원하는 경로에서 아래 파일을 생성해줍니다. 저는 nano를 써서 "nano Pod-install.sh" 명령어로 파일 생성 후 아래 내용을 복사해서 저장했습니다. #!/bin/sh # Pod-Install.sh # # # Created by Nikunj Modi on 26/09/20. # osascript B..
1. 앱 사용 중 Home 버튼을 누른 경우 2. 앱 사용 중 Lock 버튼을 누른 경우 위 두 경우 모두 앱의 Life-cycle은 background 상태입니다. 저는 Home 버튼을 눌러서 background에 진입한 경우에 특정 팝업을 띄워주길 원했기 때문에 위 두 가지 경우를 구분하고 싶었습니다. func applicationDidEnterBackground(_ application: UIApplication) { if (DidUserPressLockButton()) { print("User pressed lock button") } else { print("user pressed home button") } } private func DidUserPressLockButton() -> Bool ..
구현 기능 이메일 인증을 위해서 특정 링크를 클릭했을때 앱으로 이동 기술 검토 - Firebase DynamicLink - UniversalLink 위 두 가지를 사전에 검토했다. Firebase를 사용하면 Apple-app-site-association 파일을 따로 올릴 필요도 없고 좋지만 상황상 기존 링크 주소를 바꾸기는 힘들어서 기존 링크를 그대로 등록할 수 있는 Universal Link 를 사용하기로 했다. Universal Link 사용법 www.raywenderlich.com/6080-universal-links-make-the-connection Universal Links: Make the Connection Learn how to connect your iOS app with your ..
가끔 작업량이 많은 브랜치를 merge 하다보면 project.pbxproj 파일이 깨져 프로젝트가 열리지 않을 때가 있다. 이때는 project.pbxproj에서 잘못된 부분을 수정 해줘야 한다. 그런데 문제는 project.pbxproj 파일은 기본 수천줄이기 때문에 잘못된 부분을 찾는다는 것은 현실적으로 불가능하다. 다행히도 이를 도와주는 라이브러리가 있다. https://github.com/Karumi/Kin Karumi/Kin Simple PBXProj Verifier. Contribute to Karumi/Kin development by creating an account on GitHub. github.com kin 이라는 라이브러리로 사용법은 깃헙에 잘 나와있다. kin이 project...
요구 사항 1. 일반적인 온보딩 페이지 2. 넘길때 애니메이션 효과 적용 (이때 전환시 애니메이션 효과 적용) (특히, 총 4개의 온보딩 page가 있는데 마지막 화면은 button의 모양이 변경됨) 사전 조사 온보딩 페이지를 만드는 방법은 크게 두 가지가 있습니다. 1. UIPageViewController 사용 2. UIScrollView 사용 UIPageViewController는 책장을 넘기는 형태의 뷰 생성을 도와주는 객체이고 UIScollview는 isPagingEnabled 속성을 true로 하면 scroll시 page를 넘기는 것과 같은 효과를 줄 수 있습니다. 결론적으로 UIScrollView를 활용하는 방식을 선택했습니다 두 가지 이유가 있는데 첫째는 pageControl를 맨 하단이 ..
tableView를 reload 하는데 스크롤 위치가 조금 아래로 밀려나는 현상이 있었습니다. 원인은 tableView의 cell을 automaticDimension으로 줬기 때문이었습니다. automaticDimension 이란? tableView를 사용할때 cell 마다 높이가 다르게 적용될 수 있습니다. 카카오톡 말풍선만 봐도 글 내용에 따라서 cell 마다 크기가 다릅니다. 그런 경우 아래와 같이 automaticDimension을 적용해주어 rowHeight가 유동적이라고 선언합니다. tableView.rowHeight = UITableView.automaticDimension 이 결과 기존의 RowHeight를 무시하고 Row 안의 내용에 따라 Row 높이가 유동적으로 결정되게 합니다. "Ro..
https://www.avanderlee.com/xcode/svg-image-assets/ SVG Assets in Xcode for Single Scale Images - SwiftLee SVG Image Assets allow you to use Singe Scale icons and symbols. Stop wasting time by generating @1x, @2x, and @3x images by using SVG assets instead. www.avanderlee.com 위 글을 번역한 글입니다. 직역이 아닌 이해한 것을 바탕으로 작성했기 때문에 원문과는 차이가 있을 수 있습니다. XCode 12부터 SVG 파일 사용이 가능합니다 XCode12부터 SVG 이미지 파일을 지원합니다. XC..