iOS 24

[iOS-SwiftUI] ScrollView Paging 처리

현재 개발하고 있는 프로젝트에 ScrollView Paging 처리해야하는 UI를 구현해야했다. ScrollView 하단에 PageControl도 가능해야했음!! 참고로 iOS min버전은 iOS 15.0! SwiftUI의 ScrollView에서 제공해주는 Paging 기능이 없었고, 별도 Gesture를 등록해서 개발한 내용들을 보긴 했으나, 프로젝트에서 SwiftUIIntrospect 라이브러리를 사용 중이라 간단하게 페이징처리 해주었다. SwiftUIIntrospect 라이브러리에서 introspect ViewModifier를 사용하여 UIKit의 UIScrollView를 사용 가능하다. https://github.com/siteline/swiftui-introspect GitHub - siteli..

iOS 2024.03.06

[iOS] SDWebImage 이미지 다운로드 오류 (Downloaded image decode failed)

SwiftUI를 사용하는 프로젝트에서 SDWebImage 라이브러리는 SDWebImageSwiftUI 를 사용해야한다. (SDWebImageSwiftUI를 설치하면 자동으로 SDWebImage도 설치됨) https://github.com/SDWebImage/SDWebImageSwiftUI GitHub - SDWebImage/SDWebImageSwiftUI: SwiftUI Image loading and Animation framework powered by SDWebImage SwiftUI Image loading and Animation framework powered by SDWebImage - GitHub - SDWebImage/SDWebImageSwiftUI: SwiftUI Image loadin..

iOS 2024.01.03

[iOS-SwiftUI] TabBar > NavigationLink 닫히는 이슈

너무 오랜만에 글을 남긴다. 노션에 정리하다보니 블로그는 멈춰있었는데 오늘 이 내용은 SwiftUI로 개발하시는 분들이 같은 이슈가 있다면 빨리 해결하시기 바라는 마음으로 작성해봤다. 나는 꽤나 헤맸기때문..🥲 SwiftUI로 개발된 앱을 백그라운드로 넘길 때 화면 전환 이슈가 발생했다. 앱이 죽는 건 아니었고, 백그라운드에서 포그라운드로 넘어올 때 NavigationLink로 열려있던 화면을 닫아버리는 현상이 발생했다.FirstView가 파란글씨의 Hello, World! SecondView가 노란배경의 Hello, World! FirstView에서 NaivationLink로 SecondView를 호출했다.struct FirstView: View { var body: some View { ZStack ..

iOS 2023.07.20

[iOS] Firebase 호스팅 설정

Firebase 호스팅 설정. npm install -g firebase-tools 해당 명령어가 안될 경우에는 curl -sL https://firebase.tools | bash 명령어를 사용하면 된다. firebase login 호스팅할 폴더에서 firebase init 여기서 기본이 Database로 되어있다. 호스팅을 세팅해야하니 Hosting으로 이동한 후에 space -> enter firebase deploy Hosting URL을 복사해서 사파리에서 접속하면 Welcome!! 정상 세팅 완료!! firebase.google.com/docs/hosting/quickstart?hl=ko Firebase 호스팅 시작하기 Firebase 호스팅은 HTML, CSS, 자바스크립트, 미디어 파일과 ..

iOS 2020.09.23

[Xcode] git ignore 설정

하단 사이트에서 ignore 파일에 넣을 내용을 쉽게 확인 할 수 있다. www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com Swift Objective-C Xcode CocoaPods .gitignore 파일 내용 더보기 # Created by https://www.toptal.com/developers/gitignore/api/swift,objective-c,xcode,cocoapods # Edit at https://www.toptal.com/developers/gitignore?templates=swift,objective-c,xcode,cocoapo..

iOS 2020.07.02

[iOS] AVCaptureSession를 이용한 Barcode Scanner

1. plist에 Camera 권한 추가 NSCameraUsageDescription test 2. Camera 권한 체크 2-1. import #import 2-2. 권한 얻기 - (void)permissionCamera { AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; if(status == AVAuthorizationStatusAuthorized) { // 카메라 접근 권한 동의 [self setupScanningSession]; } else if(status == AVAuthorizationStatusDenied) { // 카메라 접근 권한 동의 해제 dispatch_..

iOS 2020.01.06

[iOS] iOS 13.0 DarkMode Check (Widget 포함)

iOS 13.0에 다크모드가 새로 나왔습니다. 앱에서 BackgroundColor를 주었으면 크게 상관없지만 BackgroundColor를 주지 않았으면 다크모드 백그라운드가 적용됩니다. UITextField 에서 Placeholder도 색상을 따로 적용해주지 않았다면 다크모드 대응되도록 밝은 컬러로 변경되었습니다. iOS 13.0 다크모드일 경우에 앱 BackgroundColor부터 싹 다크모드 대응을 해주기로 하였습니다. ModeManager 클래스 하나에서 모두 관리하기 위해서 ModeManager를 구현하였습니다. iOS 13.0 DarkMode Check if (@available(iOS 13.0, *)) { if (UIApplication.sharedApplication.delegate.win..

iOS 2019.08.30

[iOS] WKWebView setCookie not working!!! 해결

iOS Target을 11.0으로 올린 뒤 UIWebView에서 WKWebView 변환 작업을 했다. 자동로그인일 경우, setCookie를 해주어야하는데... 생각했던 방법으로 정상적으로 작동을 안했다. 일단, WKWebView를 여러개를 사용하기때문에 WKWebViewConfiguration는 AppDelegate에서 초기화를 해주고 동일한 configuration을 사용하였다. AppDelegate.m (didFinishLaunchingWithOptions 메소드) self.wkWebViewConfiguration = [[WKWebViewConfiguration alloc] init]; WKUserContentController *wkUserContentController = [[WKUserCont..

iOS 2019.08.08

[iOS] 푸시 인증서_서버 전달

Apple Developer(https://developer.apple.com/kr/)에서 만든 Push Certification으로 서버측에 전달해줄 푸시 인증서를 만듭니다. 푸시 인증서에는 두 가지 종류가 있는데 Apple Push Services와 APNs Development iOS 입니다. Apple Push Services 인증서는 배포 푸시 인증서이고, APNs Development iOS 인증서는 개발 푸시 인증서입니다. 1. 키체인 접근에서 키 내보내기 공개키 내보내기 : apns-cert.p12 개인키 내보내기 : apns-key.p12 2. pem 파일 만들기 공개키 pem 파일 만들기 : openssl pkcs12 -clcerts -nokeys -out apns-cert.pem -i..

iOS 2019.07.31