SWIFT(94)
-
[Speech] iOS에서 음성-텍스트 변환 기능 STT (Speech-To-Text) 구현하기
Apple의 Speech Framework 이해하기지난 학기 학교 캡스톤 프로젝트에서 구현했던 기술을 이제서야 글로 옮기려고 해요!간략하게 내용을 소개하고 넘어가자면, 지난 학기 프로젝트는 이라는 주제로 사람들의 욕설이나, 혐오, 차별 표현 등을 일상 대화 속에서 인식해 - 사람들에게 올바른 언어 사용을 유도할 수 있도록 피드백을 제공해주는 블루투스 연결 기반 iOS 애플리케이션이었죠.이때 "사람들의 욕설이나, 혐오, 차별 표현을 일상 대화 속에서 인식"하기 위해 필요했던 기능이 바로 실시간으로 사용자가 말하는 음성을 텍스트로 변환해주는 기능인 STT (Speech-To-Text) 혹은 음성 인식 (Speech Recognition)이라고 불리는 기술이었습니다.*반대로, 텍스트를 음성으로 변환해주는 기능..
2025.01.31 -
[UIPasteboard] 클립보드 복사, 붙여넣기 허용 알림 로직 구현하기
클립보드 (Clipboard)는 데이터를 임시로 저장하는 메모리 공간입니다.보통 텍스트, 이미지, URL 등의 데이터를 복사 (Copy), 잘라내기 (Cut), 붙여넣기 (Paste) 기능으로 앱 간에 공유하고자 할 때 사용되는 임시 저장 공간의 느낌이죠.일반적으로 아래 화면처럼, 외부에서 복사해온 데이터를 내부에서 붙여넣고자 할 때 사용되는데요. 이번 글에서는 해당 기능을 구현하기 위한 로직을 소개해보고자 합니다!*링크 저장 서비스인 에서는 외부에서 복사해온 링크, 즉 URL을 사용자가 손쉽게 저장할 수 있도록 해당 기능을 구현하게 되었습니다. UIPasteboard?💡 An object that helps a user share data from one place to another within y..
2025.01.22 -
[UIAlertController] 강제 업데이트 및 사용성 개선 업데이트 Alert 표출하기
앱을 처음 앱스토어에 배포한 이후, 유지보수를 하다 보면 예상치 못한 버그를 수정하거나, 앱의 기능을 개선하거나, 새로운 기능을 추가하는 등의 앱 업데이트도 지속해서 이루어집니다.앱 업데이트는 보통 아이폰 스스로 진행되거나, 사용자가 App Store에 직접 해당 앱 링크에 접속해서 업데이트를 시켜주는 방식이 있죠.보통은 전자의 방식으로 [설정 - App Store - 자동 다운로드] 설정에 의해 사용자가 별도로 앱 업데이트를 시키지 않아도,핸드폰을 사용하지 않는 새벽 시간대에 (알게 모르게) 업데이트된 앱을 다운로드 받아줍니다.문제는 해당 설정을 OFF 시켜둔 사용자에게 해당되는, 후자의 경우인데요!단순한 기능이 추가된 경우에는 - 업데이트 없이 하위 버전에 해당하는 앱을 사용해도 크게 문제가 되지는 ..
2025.01.22 -
[Swift] 스위프트의 프로토콜 지향 프로그래밍 POP (Protocol-Oriented Programming)
1. Swift의 OOP (Object-Oriented Programming)와 POP (Protocol-Oritented Programming)Apple은 과거의 Swift를 프로토콜 지향 언어 (Protocol-Oriented Language)라고 소개한 적이 있습니다.객체 지향 프로그래밍 (OOP: Object-Oriented Programming) 패러다임을 따르는 객체 지향 언어라는 말은 들어본 적이 있어도,프로토콜 지향 프로그래밍 (POP: Protocol-Oriented Programming)을 따르는 프로토콜 지향 언어라는 말은 다소 생소할 것 같은데요.처음 이 내용을 들었을 때 저는 아래와 같은 질문들이 머릿속에 떠올랐습니다.그럼 프로토콜을 지향하는 언어 Swift는 객체 지향 프로그래밍..
2024.12.31 -
[UIActivityViewController] 우리 앱에 "공유하기" 기능 (Share Sheet) 구현하는 방법
지난번 글은 외부 앱에서 하단 툴바에 있는 "공유하기" 버튼을 눌렀을 때, 우리의 앱이 연결되도록 하는 Share Extension 내용을 다뤄봤는데요.이번 글은 우리의 앱에서 외부 앱으로 공유를 가능하도록 하는 Activity View(= Share Sheet)를 만드는 방법에 대해 알아보고자 합니다.2차, 3차 스프린트를 거치며 우리 앱 와 다른 앱 간의 상호작용이 더욱 쉬워지도록 개선되는 일환이라고 생각하면 좋겠네요! [Share Extension] 다른 앱의 "공유하기" 버튼에 우리 앱을 설정하고 싶다면? (feat. NSExtensionActivationRule)[Chore] #209 - 사파리 외에 다른 앱에서도 Share Extension 대응 by mini-min · Pull Request..
2024.12.23