๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(103)
[iOS] App Store์—์„œ ์•ฑ ์‚ญ์ œํ•˜๊ธฐ โœ”๏ธ App Store ์•ฑ ์‚ญ์ œ ๋ฐฉ๋ฒ•https://developer.apple.com/help/app-store-connect/create-an-app-record/remove-an-app: ์ผ๋ฐ˜ ์ •๋ณด > ์•ฑ ์ •๋ณด > ์•ฑ ์‚ญ์ œโœ”๏ธ App Store ์•ฑ ์‚ญ์ œ ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ ์•ฑ ์ƒํƒœ๊ฐ€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ผ ๊ฒฝ์šฐ ๊ณ„์ • ์†Œ์œ ์ž ๋ฐ ๊ด€๋ฆฌ์ž๊ฐ€ ์•ฑ์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.์ œ์ถœ ์ค€๋น„ ์ค‘์ž˜๋ชป๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐœ๋ฐœ์ž๊ฐ€ ์ทจ์†Œํ•จํ•˜์ง€๋งŒ ์œ„ ์ƒํ™ฉ์ž„์—๋„ ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…๋„ ์—†๊ณ  ์œ„ ์—๋Ÿฌ๋งŒ ๋ฐœ์ƒ ;;์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ์•ฑ ๋ฐฐํฌ ์ค‘๋‹จ์ด ๋˜์—ˆ๋‚˜ ํ™•์ธํ•ด๋ณธ๋‹ค. โœ”๏ธ App Store ์•ฑ ํŒ๋งค, ๋ฐฐํฌ ์ค‘๋‹จ ํ•˜๊ธฐ: ์ˆ˜์ตํ™” > ๊ฐ€๊ฒฉ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ > ์•ฑ ํŒ๋งค ์ค‘๋‹จ ํŒ๋งค ์ค‘๋‹จ ํ›„ ์•ฑ ์‚ญ์ œ ์žฌ์‹œ๋„ ์‚ญ์ œ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์•ฑ ์ •๋ณด์— ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ญ์ œ ๋‚ ์งœ์™€..
Apple Intelligence on iOS18 Apple ์—์„œ ์ตœ์ดˆ๋กœ ๊ณต๊ฐœํ•œ ์ƒ์„ฑํ˜• AI ์‹œ์Šคํ…œ์ด๋ž€ ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ๋ฅผ ๊ฐ€์ ธ์™€๋ดค๋‹ค.AI ์ „๊ณต์— ์‚ด์ง ๋ฐœ ๋‹ด๊ถœ๋˜ ์‚ฌ๋žŒ์ด์ง€๋งŒ, Vision ์œ„์ฃผ์ด๊ณ  LLM ์ชฝ์€ ์ž˜ ๋ชฐ๋ผ์„œ ๊ฐ™์ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์•Œ์•„๊ฐ€๋Š”๋ฐ ์žฌ๋ฐŒ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค. โœ”๏ธ Apple intelligence?Apple intelligence๋Š” WWDC์—์„œ ๊ณต๊ฐœ๋œ ์• ํ”Œ์˜ ์ƒ์„ฑํ˜• ์ธ๊ณต์ง€๋Šฅ ์‹œ์Šคํ…œ*WWDC๋Š” apple ์—์„œ ์ฃผ์ตœํ•˜๋Š” ์„ธ๊ณ„์• ํ”Œ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค๋กœ ๋งค๋…„ ์ง„ํ–‰ํ•˜๋Š” ์—ฐ๋ก€ํ–‰์‚ฌ, ์†Œํ”„ํŠธ์›จ์–ด ์—…๋ฐ์ดํŠธ๋‚˜ ์ƒˆ๋กœ์šด ์ œํ’ˆ ๋ฐ ๊ธฐ์ˆ ์„ ๋ฐœํ‘œWWDC24์—์„œ ๊ณต๊ฐœ๋œ ์ฃผ์ œ๋“ค ์ค‘ ํ•˜๋‚˜๊ฐ€ Apple intelligence! โœ”๏ธ ๊ธฐ์กด ์ƒ์„ฑํ˜• ์ธ๊ณต์ง€๋Šฅ ์„œ๋น„์Šค(chatGPT etc.)์™€์˜ ์ฐจ์ด์ ์€? ์• ํ”Œ์€ apple intelligence๋งŒ์˜ ํŠน์ง•์„ ์ •์˜์—์„œ ๋‚ดํฌํ•˜๊ณ  ์žˆ๋‹ค.์ •์˜๋ฅผ ๋ณด๋ฉด t..
MVVM + RxSwift MVVM(Model - View - ViewModel)   1. ๋ทฐ(View) (ํ™”๋ฉด์„ ๊ทธ๋ฆฐ๋‹ค.)ํ™”๋ฉด์— ํ‘œํ˜„๋˜๋Š” ๋ ˆ์ด์•„์›ƒ ๊ด€์—ฌํ•œ๋‹ค. UI์— ๊ด€๋ จ๋œ ๊ฒƒ๋“ค์„ ๋‹ค๋ฃจ๋ฏ€๋กœ UI๋กœ์ง์„ ํฌํ•จํ•œ๋‹ค.๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค.๊ฐ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ , ViewModel๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ• ์ง€๋“ฑ์„ ๋‹ด๊ณ ์žˆ๋‹ค. 2. ๋ทฐ๋ชจ๋ธ(ViewModel) (ํ™”๋ฉด์— ๊ทธ๋ฆด ์ •๋ณด๋ฅผ ์ค€๋น„ํ•œ๋‹ค.)ViewModel์€ ์•ฑ์˜ ํ•ต์‹ฌ์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๊ณ ์žˆ๋Š” ์ฝ”๋“œ ๊ณ„์ธต์ด๋‹ค.MVCํŒจํ„ด์˜ Controller์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.View์™€ Model์‚ฌ์ด์—์„œ View์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ๋กœ์ง์„ ์‹คํ–‰ํ•˜๊ณ , Model์˜ ๋ณ€ํ™”์— ๋”ฐ๋ผ View์˜ refreshํ•œ๋‹ค.Model์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋ฉด View์—๊ฒŒ notification์„ ๋ณด..
[iOS]์˜ต์ €๋ฒ„ ํŒจํ„ด ์˜ต์ €๋ฒ„ ํŒจํ„ด์ด๋ž€?Observer Pattern(์˜ต์ €๋ฒ„)์ด๋ž€ ๊ด€์ฐฐ ์ค‘์ธ ๊ฐ์ฒด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ๊ฐ์ฒด์— ์•Œ๋ฆฌ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋””์ž์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. iOS์—์„œ๋Š” Swift 5.1 ๋ฒ„์ „๋ถ€ํ„ฐ Combine ํ”„๋ ˆ์ž„์›Œํฌ์— Publisher๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  NotificationCenter๋„ ๋น„์Šทํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.    Subject (Publisher)Observer๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐœ์ˆ˜๋Š” ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.Observer๋“ค์„ ์ถ”๊ฐ€, ์ œ๊ฑฐํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.Concrete Subject (Publisher)Concrete Observer ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด Observer(Subscriber)์—๊ฒŒ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.Observer (Subscrib..
[iOS] ReactiveX, Reactive Programming Reactive ProgrammingReactive Programming์ด๋ž€ ๋น„๋™๊ธฐ์  ๋ฐ์ดํ„ฐ ํ๋ฆ„๊ณผ ์ „๋‹ฌ์— ๊ด€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋‹ค.Reative Programming์˜ ํ•ต์‹ฌ์€ ๋ชจ๋“  ๊ฒƒ์„ ๋น„๋™๊ธฐ์  ๋ฐ์ดํ„ฐ์˜ stream์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ง์ ‘ ์ •ํ•ด์„œ ์‹คํ–‰๋˜๋„๋ก ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์‹œ์Šคํ…œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ๋˜์—ˆ์„ ๋•Œ, ์ด๋ฅผ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ๋Š” Reative Programming์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์‹ค์‹œ๊ฐ„์„ฑ์„ ๊ฐ€์ง„๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž‘์„ฑํ•œ ์ˆœ์„œ์™€ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ๊ทธ์— ๋”ฐ๋ผ์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™”๋ฉด์ด ๋ณ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์ด ์ง€์†์ ์œผ๋กœ ํŠน์ • ๊ฐ’์— ๋Œ€ํ•œ ๊ด€์ฐฐ์„ ํ•ด์•ผ ..
[iOS] iOS data storage - 2. Userdefault, Coredata, Realm, Keychain File Manager์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ํ†ตํ•ด ์•ฑ๋งˆ๋‹ค ๋ณ„๋„์˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ๊ณต์œ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ณ , ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ์˜ ์ ‘๊ทผ์—๋„ ๋ณดํ˜ธ๋˜๋Š” ์˜์—ญ์œผ๋กœ ์‹œ์Šคํ…œ์ด ๋ถ€์ •์ ์œผ๋กœ ์กฐ์ž‘๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ๋‹ค. ํŒŒ์ผ ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด์„œ ํŒŒ์ผ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ๊ณ , ๋งŒ๋“ค๊ณ , ๋ณต์‚ฌํ•˜๊ณ , ์ด๋™ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.ํŒŒ์ผ ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด ์ฃผ๋กœ ์ ‘๊ทผํ•ด ์‚ฌ์šฉํ•  ๋””๋ ‰ํ† ๋ฆฌ๋“ค์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๋ฉด์„œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„์ง€ ์•Œ์•„๋ณด์ž.์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ฉดfile system๊ณผ ์ƒํ˜ธ ์ž‘์šฉ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šคfile๊ณผ directory๋ฅผ locate, create, copy, move ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.file system ๋‚ด ์ €์žฅ์‹œ ๊ฒฝ๋กœ(path) ์ •๋ณด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” NSURL์„ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์น˜๋ฅผ ์ง€์ •iCloud ๋‚ด ์ €์žฅ๋˜์–ด ์žˆ..
[iOS] iOS data storage - 1. Sandbox(์ƒŒ๋“œ๋ฐ•์Šค) [Contents]SandBox ?SandBox ๊ตฌ์กฐBundle ContainerData ContainerDocumentLibrarytmpiCloud Container1. SandBox ?์•ฑ์„ ์ƒˆ๋กœ ์„ค์น˜ํ–ˆ์„ ๋•Œ, ๊ฐ„ํ˜น ์•„๋ž˜์™€ ๊ฐ™์ด ์ ‘๊ทผ ๊ถŒํ•œ์„ ํ—ˆ์šฉํ•ด๋‹ฌ๋ผ๋Š” Alert์€ ๋ณธ ์ ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ๊ฐ ์•ฑ๋ณ„๋กœ ๋ณ„๋„๋กœ ์ˆ˜ํ–‰๋˜๋Š”๋ฐ,๊ฐ ์•ฑ์ด ํŠน์ • ๋ฐ์ดํ„ฐ๋‚˜ ํ•˜๋“œ์›จ์–ด์— ์ ‘๊ทผํ•˜๋ ค๋ฉด *๊ถŒํ•œ (Permission)*์„ ์š”์ฒญํ•ด์•ผ ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์Šน์ธํ•ด์•ผ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ App Sandbox๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ถŒํ•œ๊ณผ ์ ‘๊ทผ ๋ฒ”์œ„ ๋‚ด์—์„œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ์ฆ‰, ๊ฐ๊ฐ์˜ ์•ฑ๋งˆ๋‹ค ๊ณ ์œ ํ•œ ์‹คํ–‰ ํ™˜๊ฒฝ์ด ์ œ๊ณต๋˜๋ฉฐ, ์•ฑ์€ ์ด ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ ํŒŒ์ผ์ด๋‚˜ ๋‹ค๋ฅธ ์•ฑ์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค...
Mac(๋งฅ) ํ•„์ˆ˜ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๐Ÿ’š ๋งฅ์— ์„ค์น˜ํ•œ ํ•„์ˆ˜ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋กโœ”๏ธ Rectangle - ํ™”๋ฉด ๋ถ„ํ•  ์•ฑ RectangleMove and resize windows in macOS using keyboard shortcuts or snap areas. The official page for Rectangle.rectangleapp.com ํ•œ ํ™”๋ฉด์— ์•ฑ์„ n๊ฐœ ์ด์ƒ ๋„์›Œ์•ผ ํ•  ๋•Œ ํ•„์ˆ˜! ์›๋ž˜ Spectacle ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ๋”์ด์ƒ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค ใ… ใ…  ๋น ์ž‰*์„ค์ • ๊ฐ’ ๊ธฐ์–ตํ•˜๊ธฐ - ๋กœ๊ทธ์ธ ์‹œ ์‹คํ–‰์— ํ•„์ˆ˜ ์ฒดํฌ!! โœ”๏ธ ๋กœ์ง€ํ… ๋งˆ์šฐ์Šค(MX Anywhere 3S) ์„ค์ • ์•ฑ Logi Options+(Plus): ๋กœ์ง€ํ… ์ „์šฉ ์ปค์Šคํ…€ ์•ฑLogi Options Plus ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋กœ์ง€ํ… ์žฅ์น˜๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด๋ณด์„ธ์š”. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ๋“ฑ์„ ..

๋ฐ˜์‘ํ˜•