ios
-
UIKit์์ ViewController๊ฐ ๋ฐ์ดํฐ ์ ๋ฌiOS 2024. 1. 22. 19:06
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ UIKit์์ ViewController๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป iOS ๊ฐ๋ฐ์ ์ฒ์ ์ ํ๋ฉด์ UIKit์ ํ์ตํ์๋๋ถ๋ค์ด ์ข ์ข ViewController๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ๋ฌํ๋์ง ๋ง๋งํด ํ์๋๊ฑธ ๋ฆฌ๋ทฐ๋ ๋ฉํ ํ๋์ ํ๋ฉด์ ๋ด์ ํ๋ฒ ๊ฐ๋จํ ๋ํ์ ์ธ ๋ฐฉ๋ฒ๋ค์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ์๋๋ฐ ๋ฏธ๋ฃจ๊ณ ๋ฏธ๋ฃจ๋ค๊ฐ ์ด์ ์์ผ ํด๋ณด๊ฒ ๋์๋ค์..! ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์๋ค์ ์ ๋ง ๋ค์ํ๊ฒ ์ง๋ง, ์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ์ฅ ๋ํ์ ์ธ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ช๊ฐ์ง ๊ฐ์ด ์์๋ณผ๊น ํฉ๋๋ค ๐ ๊ทธ๋ผ ๋ฐ๋ก ์๋ค์ด๊ฐ๋๋ค~ ์ง์ ํ๋กํผํฐ ์ ๊ทผ ๊ฐ์ฅ ๋จผ์ ์ฝ๊ฒ ํด๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ VC์ ํ๋กํผํฐ์ ์ง์ ์ ์ผ๋ก ์ ๊ทผํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฐ๋จํ๊ฒ ์์..
-
fastlane์ผ๋ก Firebase App Distribution ์๋ํ ๐คFastlane 2024. 1. 15. 07:05
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ fastlane์ ์ด์ฉํด์ Firebase App Distribution์ ์ฌ์ฉํ์ฌ ์ฑ์ ์๋ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ๊ป์ ๐๐ป ์ฐ์ ์ด์ ํฌ์คํ ์ธ Firebase App Distribution์ผ๋ก ์ฑ ๋ฐฐํฌํ๊ธฐ ํฌ์คํ ์ ๋จผ์ ๋ณด๊ณ ์ค์๋๊ฒ์ด ๋์์ด ๋ฉ๋๋คใ ใ Firebase App Distribution์ผ๋ก ์ฑ ๋ฐฐํฌํ๊ธฐ ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Firebase App Distribution์ ์ด์ฉํด ์ฑ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๊ทธ๋ผ ์ฐ์ Firebase App Distribution์ด ๋ญ์ง๋ถํฐ ์๊ณ ๊ฐ๊น์? Firebase Ap green1229.tistory.com ๋ํ ํธ์ฅ์๋ fastlane์ด ์ด๋ค๊ฑด์ง ์ด๋ป๊ฒ ์ค์น..
-
Firebase App Distribution์ผ๋ก ์ฑ ๋ฐฐํฌํ๊ธฐiOS 2024. 1. 11. 19:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Firebase App Distribution์ ์ด์ฉํด ์ฑ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๊ทธ๋ผ ์ฐ์ Firebase App Distribution์ด ๋ญ์ง๋ถํฐ ์๊ณ ๊ฐ๊น์? Firebase App Distribution? Firebase App Distribution์ Firebase์ ๋๊ตฌ ์ค ํ๋๋ก, ๊ฐ๋ฐ์๊ฐ ์ฑ์ ์ฌ์ ์ถ์ ๋ฒ์ ์ ํ ์คํฐ๋ค์๊ฒ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์๋๋ก ๋์์ฃผ๋ ์๋น์ค์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ณดํต App Store Connect์ Testflight๋ฅผ ์ด์ฉํด์ ํ ์คํธ ์ฑ์ ์ ๋ก๋ํ์๋๋ฐ์. ๋์ผํ๊ฒ ํ ์คํธ ์ฑ์ ๋ํด Firebase App Distribution๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. ์กฐ๊ธ ๋ค๋ฅธ์ ์ Testflight๋ก ์ ๋ก๋๋ ๋น๋๋ก ..
-
Get started with privacy manifests (feat. WWDC 2023)iOS 2023. 12. 28. 19:20
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ WWDC 23์์ ๋ ํ๋ ๋์จ Get started with privacy manifests๋ผ๋ ์น์ ์ ํ์ตํด๋ณด๋ฉด์ ์ ์ด๋ป๊ฒ ์ ์ฉํด์ผํ๋์ง ํฌ์คํ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป News ๐ฐ ์ ํ์ ์ฌํด WWDC 2023์์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๊ด๋ จํ์ฌ ์๋ก์ด ์์์ ์ ๋ฌํ์ต๋๋ค. ๋ฐ๋ก, ๋ช ํํ ๋ช์ ๋ช์ผ๊น์ง๋ ๋์ค์ง ์์์ง๋ง 2024๋ ๋ด (์ด์ ์ง์ง ์ผ๋ง ์๋จ์๋ค์ใ ใ )๋ถํฐ ์ฑ ์คํ ์ด์ ์ฑ์ ์๋กญ๊ฒ ๋ฑ๋กํ๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ ๋ ์ฑ ๋ฆฌ๋ทฐ ๊ณผ์ ์์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๊ด๋ จํ ๋ช๊ฐ์ง ํญ๋ชฉ๋ค์ ์ฌ์ฌ๊ฐ ์ถ๊ฐ๋๋ค๊ณ ํฉ๋๋ค ๐ฅฒ ํ๋์ฉ ์์๋ณผ๊น์? 1๏ธโฃ Privacy Manifest ์ฐ์ ์ค๋ ์ด์ด์ WWDC 23์ Get started with privacy manifests ์น์ ์์..
-
STT๋ฅผ ์ด์ฉํด ์์ฑ์ ํ ์คํธ๋ก ๋ณํํด๋ณด์ ๐ฃ๏ธiOS 2023. 12. 26. 18:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS์ STT๋ฅผ ์ด์ฉํ์ฌ ์์ฑ์ ํ ์คํธ๋ก ๋ณํํ๋ ํ์ต์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์์๋ STT๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๊ณ ์ด๋ฅผ ํ๋ก์ ํธ์์ ํ์ฉํ์ฌ ์ง์ ์์ฑ์ ํ ์คํธ๋ก ๋ณํํด๋ณด๋ ์ฝ๋๊น์ง ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค! ๊ทธ๋ผ STT๊ฐ ๋์ฒด ๋ญ์ง ์์๋ณผ๊น์? STT(Speech-to-Text)๋?STT๋ Speech-to-Text์ ์ฝ์์ด๋ฉฐ, ์์ฑ์ ํ ์คํธ๋ก ๋ณํํ๋ ๊ธฐ์ ์ ๋งํฉ๋๋ค. ์ฃผ๋ก, ์์ฑ ์ธ์์ด๋ ์์ฑ ๋ณํ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๊ณ ์์ฑ ๋ฐ์ดํฐ ์์ฒด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ ํฌํจํด์! ํํ STT๋ง๊ณ TTS(Text-to-Speech)๋ ๋ง์ด ๋ค์ด๋ณด์ จ์ํ ๋ฐ์! ์ด๋ฆ์์๋ ์ ์ถํ ์ ์๋ฏ์ด ์๋ก ๋ฐ๋์ ๊ฐ๋ ์ ๋๋ค. TTS๋ ํ ์คํธ๋ฅผ ์์ฑ ์ค๋์ค๋ก ๋ณํํ๋๊ฒ์ด๊ณ S..
-
SwiftUI - trim & maskSwiftUI 2023. 12. 21. 19:20
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ trim๊ณผ mask์ ๋ํด ํ์ตํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ฐ์ ์ด ๋๊ฐ์ ๋ชจ๋ํ์ด์ด๋ฅผ ํ์ตํด๋ณด๋ ค๋ ์ด์ ๋ ๊ฐ๋จํ์ด์! ๋ํ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์๋ผ์ ํ์ํ๊ฑฐ๋ ์งํ ์ํฉ์ ๋ฐ๋ผ ๊ฐ๋ ค์ง ๋ถ๋ถ์ ์ ์ง์ ์ผ๋ก ์ฑ์๋๊ฐ๋ ค๋ ๊ตฌํ์ ์์๋ณด๋ค๊ฐ ์ด ๋๊ฐ์ง๋ฅผ ์ฐพ์์ต๋๋ค. trim๊ณผ mask์ ๊ฒฐ๊ณผ๋ทฐ๋ ๋น์ทํด๋ณด์ด์ง๋ง ๋์ํ๋ ๋ฐฉ์์์ ์ฐจ์ด๊ฐ ์๊ธฐ์ ์ฐ์ ๋ ๋ค ์ด๋ป๊ฒ ์ฌ์ฉํ๋๊ฒ์ธ์ง ์์๋ณด์์ฃ ! ๋จผ์ trim๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. trim(from:to:) trim ๋ฉ์๋๋ ๋ํ์ ํน์ ๋ถ๋ถ์ ์๋ผ๋ด ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํด์ค๋๋ค. ํด๋น ๋ฉ์๋๋ Shape ํ๋กํ ์ฝ์ ์ค์ํ๋ ๋ชจ๋ ๋ํ์ ์ฌ์ฉํ ์ ์์ด์! trim ๋ฉ์๋์ ์ ์๋ ์ด๋ ์ต๋๋ค. func trim( from sta..
-
UITest์์ accessibilityIdentifier ํ์ฉํ๊ธฐiOS 2023. 12. 18. 19:46
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ UITest์์ accessibilityIdentifier๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ accessibility ์ ๋์ฌ๊ฐ ๋ถ์ ๋ชจ๋ํ์ด์ด๋ค์ด ๋ฏ์ค์ง๋ ์์๋ฐ์! ์ด์ ํฌ์คํ ์ด์๋ VoiceOver ์ ์ฉํ๊ธฐ์์ ๋ง์ด ์๊ฐ๊ฐ ๋์์ด์ ๐ SwiftUI์์ VoiceOver ์ฌ์ฉํ๊ธฐ ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ VoiceOver๋ฅผ ์ ์ฉํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋ คํฉ๋๋ค ๐๐ป ์ด๋ฒ ํฌ์คํ ์์๋ VoiceOver๊ฐ ๋ฌด์์ด๊ณ SwiftUI์์ ์ด๋ป๊ฒ ์ ์ฉ ๋ฐ ์ฌ green1229.tistory.com ์ฌ๊ธฐ์ ๊ฐ UI ์ปดํฌ๋ํธ๋ค์ ๋ณด์ด์ค์ค๋ฒ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก accessibilityLabel์ด๋ผ๋ ๋ฉ์๋๊ฐ ์ฌ์ฉ..
-
์ฑ ์ง์ ์ธ์ด ์ถ๊ฐ ๋ฐ ๊ธฐ๋ณธ ์ธ์ด ๋ณ๊ฒฝ (feat. Tuist)iOS 2023. 12. 14. 19:40
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ฑ์ ๊ธฐ๋ณธ ์ธ์ด๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ค์ํ ์ธ์ด๋ฅผ ์ง์ํ๋ ๋ฐฉ๋ฒ ๊ทธ๋ฆฌ๊ณ Tuist๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค ๋๊ฒ ๊ฐ๋จํ๊ธดํด์ ํ๋ค๋ฅ ํ๋ฒ ์ ๋ฆฌํด๋ณผ๊ป์ ๐ ์ ์์๋ณด๊ณ ์ ๋ฆฌํ๊ฒ ๋์๋์ง? ์ฌ์ค VoiceOver๋ฅผ ํ๋ฒ ๋์ ํด๋ณด๋ฉด์ ํ์ํ๋ค๊ณ ๋๊ปด์ก์ด์. ์๋๋ฉด ๊ธฐ์กด ์ฑ์ด ์ ์ฒด ๊ตญ๋ด ๋ฐฐํฌ์ธ ํ๊ธ ์ฑ์์๋ ๋ถ๊ตฌํ๊ณ ๊ธฐ๋ณธ ์ธ์ด ์ค์ ์ด English๋ก ๋์ด ์์๊ฑฐ๋ ์. ๊ทธ๋ ๊ธฐ์ ์ฌ์ค์ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ์์์ง๋ง, ๋ณด์ด์ค์ค๋ฒ ๊ธฐ๋ฅ์ ์ผ๊ณ ์ค์ ๊ธฐ๊ธฐ์์ ํ๊ธ ํ ์คํธ๋ฅผ ์ฝ์ผ๋ฉด ๋ชป ์ฝ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๊ตฌ์. ๋ฌผ๋ก , ์ฑ ๋ด ์ ํ ๋ก๊ทธ์ธ ๋ฒํผ ๋ฑ ์ ํ์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ API ๊ทธ๋ฐ๊ฒ๋ค์ ๋ํด์๋ ํ๊ธ๋ก ์ฝ์ด์ฃผ์ง๋ง ๊ฐ๋ฐ์๊ฐ String์ผ๋ก ๋ฃ์ Text๋ค์ ..