적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

초보 iOS 개발자의 일상/개발 업무 94

[Swift iOS] url scheme 스키마 사용하여 외부 앱 실행 및 앱스토어 이동

1. Info.plist에 스키마명 추가 LSApplicationQueriesSchemes 항목을 수동으로 추가해준 후 실행하고 싶은 외부 앱 스키마명을 배열에 넣어준다. LSApplicationQueriesSchemes 항목에 추가 안해주고 코드만 실행하면 canOpenURL: failed for URL: “yourapp://“ - error: "This app is not allowed to query for scheme yourapp://" 이라는 에러가 뜬다. 2. 앱 실행 코드 //스키마로 외부 앱 실행 if let openApp = URL(string: "yourapp://"), UIApplication.shared.canOpenURL(openApp) { UIApplication.shared...

[Swift iOS] Google ML Kit 이용하여 OCR 한글 인식 테스트

OCR 영수증 인식 기능을 구현해보려 한다. Firebase ML Kit를 사용하여 OCR 프로젝트를 만들어보려 했는데, pod 'Firebase/MLVisionTextModel' 설치하니깐 deprecated 되었다고 뜨면서 'GoogleMLKit/TextRecognition' 이걸로 바꼈다고 하더라. 여기 나와있는 메뉴얼도 쪼금씩 애매한 부분..? 이 있는 것 같아 내가 한 방식으로 정리를 해보겠다. Recognize text in images with ML Kit on iOS 1. ML Kit SDK 설치 한글 텍스트 인식을 위해 podfile에 다음 SDK들을 설치. (Xcode 버전 12.4 이상만 지원된다고 한다) target 'ocr' do pod 'GoogleMLKit/TextRecogni..

OCR - iOS 텍스트 인식 Firebase ML Kit와 TesseractOCR 비교 (한글)

OCR(Optical character recognition) 광학 문자 인식 : 사람이 쓰거나 기계로 인쇄한 문자를 스캔하여 기계가 읽을 수 있는 문자로 변환하는 것. iOS에서 텍스트 인식을 하기 위해서는 다음 두가지 SDK를 생각해볼 수 있다. (네이버 OCR도 있지만 비싸서 패쓰.. ㅎㅎ 영수증, 명함 등 OCR 템플릿도 있으니 정확도가 크게 요구되는 프로젝트에서는 유료로 쓸만할듯) Firebase ML Kit vs. TesseractOCR 정확도(높은 것) : ML Kit vs. Tesseract OCR 속도(빠른 것) : ML Kit vs. Tesseract OCR 용량(작은 것) : ML Kit vs. Tesseract OCR 참고 : iOS 텍스트 인식 Firebase ML Kit와 Tes..

[iOS] Custom Push Test using Postman (feat. 푸시 sound 넣는 법, 딥링크 넣는 법)

하려던 일은 사라졌지만 덕분에 새로운 사실을 알았다. iOS에서 푸시 관련해서는 대부분 서버에서 처리를 해줘야 한다는.. 특정 푸시 알림이 올 때만 custom sound가 play 되도록 해달라는 요청을 받았다. 안드로이드는 요청이 먼저 들어와 이미 작업이 끝난 상태였는데 서버에서 변경 없이 앱에서만 처리 해줬다고 하셨다. 그런데 아무리 찾아봐도 iOS는 앱 내에서만 처리하는 방법이 안나오고 서버에서 sound 파일명을 함께 페이로드로 보내주는 방법만 나오더라. 그래서 베트남 10년차 개발자분께 자문을 구해봐도 그건 서버에서 해줘야 한다고 하고, 400명 있는 iOS 개발자 오픈채팅방에서도 동일한 답변을 해주셨다. 그래서 앱 내에서만은 처리가 불가능할 것 같다, 서버에서 추가로 보내주셔야 한다 말씀을 ..

[swift iOS] WKWebView file download 웹뷰 파일 다운로드 (feat. FileManager)

웹뷰에서 파일 다운로드가 되지 않는 문제가 발생했다. 웹뷰에서의 파일 다운로드 버튼을 클릭 시 다운로드가 아니라 해당 파일 url 링크로 이동해버리는? 것이었다. 안드로이드는 웹뷰에 파일 다운로드 리스너를 설정할 수 있도록 되어있다고 하는데, iOS는... 여기저기 찾아보아도 엄청 깔끔하게 아 이거다! 하는 방법을 찾지 못했다. 여러 방법을 짜집기 하여 webview의 decidePolicyFor navigationAction에서 받아오는 url이 .pdf 등의 파일 형식으로 끝나면 해당 url로 이동을 하는 것이 아니라 파일 앱으로 다운로드 되도록 다음과 같이 구현하였다. 1. webView의 decidePolicyFor navigationAction에서 파일 형식 감지하기 이게 최선인지는 모르겠지만 ..

[Swift iOS] STT & TTS 성능 비교 - Speech / Naver / Google

STT (Speech-to-Text) : 음성인식(Speech Recognition) 사람이 말하는 음성 언어를 컴퓨터가 해석해 그 내용을 문자 데이터로 전환하는 처리. TTS (Text-to-Speech) : 음성합성(Speech Synthesis) 사람의 목소리를 합성하여 텍스트를 음성으로 변환하는 시스템 STT / TTS 성능을 다음 세가지 플랫폼을 활용해 비교해보았다. - 애플에서 제공하는 Speech 프레임워크 - Google Cloud - Naver CLOVA STT Apple Speech Google Cloud Naver CLOVA 난이도 중 상 상 속도 말이 길어질수록 버퍼링이 생김 Good Good 정확도 70% 일상적인 말들은 인식을 아주 잘한다. 어려운 단어와 문장들은 음... 97%..

[Swift iOS] Custom Keypad 만드는 법

왼쪽처럼 기존 키패드를 사용하여 금액을 입력하는 방식에서 00 / 000 을 추가하기 위해 오른쪽 커스텀 키패드를 만들어보게 되었다. 우선 그냥 custom 키패드 뷰를 만들어준다. textField.becomeFirstResponder() 하면 자동으로 기존 키패드가 떠버리는데 inputVIew를 사용하여 이를 커스텀 키패드로 할당해줄 수 있다. 숫자 버튼들은 숫자와 동일하게 tag를 설정해주고, OK 버튼 터치시 .resignFirstResponder()로 키패드를 없애준다. @IBOutlet weak var textField: UITextField! @IBOutlet weak var keyPadView: UIView! override func viewDidLoad() { super.viewDidLo..

[Swift iOS] Barcode Generator in all types (QR, EAN8, EAN13 ...)

바코드 스캐너는 많아도 생성기는 검색해봐도 많지 않았다.. 거의다 QR 생성기이고 그중에서도 내가 필요한 EAN8 바코드 생성기는 찾기 쉽지 않더라. 내가 검색을 잘못한건지 모르겠지만 ㅎㅎ 그나마 찾은 괜찮은 iOS용 라이브러리도 Objective-C로만 되어있어서 대체 어떻게 사용해야할지 막막하던 'BarCodeKit' 그러다 한줄기 빛처럼 만나게 된 라이브러리 'RSBarcodes_Swift' 내가 찾던 ean8을 포함한 1D / 2D barcode 타입들을 전부 지원해주는 Swift 라이브러리이다. 애초에 그냥 바로 Cocoapods에서 'barcode' 라고 검색했으면 빨리 찾았을 수도 있겠지만 구글에서 swift ean8 generator 라고 검색하니 저어엉말 찾기가 힘들었다ㅠ 나는 1D ba..

728x90
반응형