안녕하세요. iOSangBong 입니다.3탄으로 간단하게 CI/CD 적용기가 끝날 줄 몰랐지만여러 문제가 있더라구요... 그래서 4탄으로 돌아올지 몰랐는데.. 다시 돌아왔습니다...https://iosangbong.tistory.com/37 [iOS] GitLab CI + Fastlane CI/CD 적용기 - 3안녕하세요. iOSangBong입니다.바로 이어서 GitLab Runner 설정을 해보겠습니다.https://iosangbong.tistory.com/36 [iOS] GitLab CI + Fastlane CI/CD 적용기 - 2안녕하세요. iOSangBong입니다.출근하자마자 블로그를 작성하iosangbong.tistory.com 1️⃣ 현 상황GitLab CI + Fastlane을 적용해보니실제..
안녕하세요. iOSangBong입니다.바로 이어서 GitLab Runner 설정을 해보겠습니다.https://iosangbong.tistory.com/36 [iOS] GitLab CI + Fastlane CI/CD 적용기 - 2안녕하세요. iOSangBong입니다.출근하자마자 블로그를 작성하려고 하는데요. 이런 유지보수?를 진행할때마다 얘기를 하면 일정을 할당을 해주는게 아닌회사 임원이 원하는 기능이 먼저 이기 때문iosangbong.tistory.com2편에서 이어지는 내용입니다. 3️⃣ GitLab Runner 등록 & 실행기존에 Runner는 설치를 했었으니 바로 등록을 해봅시다. url 하고 Token은프로젝트 > Settings > CI/CD > Runners 에서 가져오면 됩니다.gitlab..
안녕하세요. iOSangBong입니다.프로젝트 진행중 시간이 나서 출근하자마자 블로그 겸 구현을 진행하고 있네요 어쨌든 어제에 이어서 진행해보겠습니다. 1️⃣ 기본 환경 설정1. 일단 Homebrew 설치(기본적으로 iOS개발자라면 있을테니 패스)/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. rbenv 및 Ruby 설치brew install rbenvrbenv install 3.3.0rbenv global 3.3.0 3. Fastlane 설치brew install fastlane 4. GitLab Runner 설치brew install gitlab-runner 2️⃣ Fast..
안녕하세요. iOSangBong입니다.몇년 오랜만에 포스팅을 하는데요..정보성 글을 작성 하려고 노력을 했었지만 점점 ai도 등장하고 굳이 필요한가? 현타도 많이 왔는데요새 내가 어떤 걸 해왔는지 기록하는거에 대한 중요성이 생겨서 공부 겸 다시 마음 먹고 시작하려고 합니다. 나중에 시간되면 이 부분도 따로 포스팅을 해보겠습니다. 서론이 길었네요..현재 상황현재 회사에서는 AI 관련해서 잦은 업데이트를 하고 있고 기존 하이브리드 컨텐츠를 다운받는 방식이 아닌 파일 자체를 프로젝트에 포함시켜서 너무 자주자주 배포를 진행하고 있습니다. Common SPM 라이브러리에 파일 업데이트 태그 발행 -> 2개 App에 각각 업데이트(태그, 빌드버전 수정) -> 아카이브 -> 확인 요청 이 과정이 한 30분 정도 걸리..
안녕하세요. iOSangBong입니다.프로젝트를 진행하다보니 로그인 프로세스에생체인식(Face ID / Touch ID)을 적용해야됐었는데요!이때 겪었던 경험을 공유하고자 합니다.애플에서 제공하는 LocalAuthentication을 사용해보겠습니다.https://developer.apple.com/documentation/localauthentication/lacontext LAContext | Apple Developer DocumentationA mechanism for evaluating authentication policies and access controls.developer.apple.com일단 LocalAuthentication을 import 해줍니다.그 다음 생채인식을 사용하는 함수를..
안녕하세. iOSangBong입니다. 오늘은 Swift에서 쉐이크모션을 사용하는 방법에 대해 알아보겠습니다. 현재 카카오톡에서 흔들기 모션을 하면 여러 가지 기능을 설정해놓을 수 있는 화면으로 이동하고 있습니다. 이와같은 기능을 한번 알아보죠! shake 모션을 사용하려는 ViewController로 이동해서 viewDidLoad처럼 motion을 쳐보면 이와 같이 motionBegan, motionEnded, motionCancelled가 나옵니다. 딱 보면 어떤식으로 사용하는지 느낌이 오시죠? motionBegan: 모션 이벤트가 시작되었음을 알려줌 motionEnded: 모션 이벤트가 종료되었음을 알려줌 motionCancelled: 모션 이벤트가 취소되었음을 알려줌 여기서 간단하게 motion의 ..
안녕하세요. iOSangBong입니다. 오늘은 keyWindow가 deprecated 됐을때 해결해보겠습니다. keyWindow 및 window 를 유용하게 사용하고 있었는데 deprecated가 되어 이후 OS에서 이상하게 작동하신 경우가 있으실텐데요. 그때 간단하게 해결할 수 있는 방법이 있습니다. extension UIApplication { var getWindow: UIWindow? { connectedScenes .compactMap { $0 as? UIWindowScene } .flatMap { $0.windows } .first { $0.isKeyWindow } } } UIApplication Extension에다가 간단하게 getWindow를 선언해서 사용할 수 있습니다 사용은 UIApp..
안녕하세요. iOSangBong입니다. 오늘은 간단하게 네트워크를 감지하는 방법에 대해 알아볼것 입니다. iOS 12 부터는 다행히 내부 라이브러리를 사용하면 됩니다. https://developer.apple.com/documentation/network/nwpathmonitor NWPathMonitor | Apple Developer Documentation An observer that you use to monitor and react to network changes. developer.apple.com NWPathMonitor 바로 사용해보도록 하겠습니다. 일단 Network를 import 해줍니다. 그런 다음 NWPathMonitor를 선언해줍니다. 간단하게 NWPathMonitor를 선언해..
안녕하세요. iOSangBong 입니다. 오늘은 간단하게 MQTT를 연결해보겠습니다. 기존에는 Objc로 되어있는 MqttClient를 사용을 하고 있었지만 Swift로된 MQTT로 변경을 하는 과정에서 정리를 해놓겠습니다! 제가 사용한 라이브러리는 CocoaMQTT 입니다. https://github.com/emqx/CocoaMQTT GitHub - emqx/CocoaMQTT: MQTT 5.0 client library for iOS and macOS written in Swift MQTT 5.0 client library for iOS and macOS written in Swift - GitHub - emqx/CocoaMQTT: MQTT 5.0 client library for iOS and mac..
안녕하세요. iOSangBong 입니다. 오늘은 QRCode를 만들어보려고 합니다. QRCode 만드는 방법은 아~주 간단합니다. CIFilter 안에 qrCodeGenerator를 사용하면 되는데 1. 우선 CoreImage.CIFilterBuiltins를 import 해줍니다. import CoreImage.CIFilterBuiltins 2. 이미지 렌더링에 필요한 CIContext와 QR 코드 생성을 해주는 CIFilter.qrCodeGenerator()를 선언해줍니다. // 이미지 렌더링을 처리하는 부분 let context = CIContext() // QR 코드 생성기 필터 let filter = CIFilter.qrCodeGenerator() 3. QR Code에 원하는 데이터를 넣어줍니다...