Skip to content

Latest commit

ย 

History

History
24 lines (16 loc) ยท 1.37 KB

File metadata and controls

24 lines (16 loc) ยท 1.37 KB

๊ธฐ์ˆ  ์Šคํƒ

๊ธฐ๋ณธ ์„ ํƒ

  • Language: Swift
  • UI: SwiftUI + AppKit
  • App model: macOS menu bar app
  • Power management: IOKit power assertions
  • Window discovery: AppKit NSWorkspace, CoreGraphics Window Services
  • Accessibility: ์œˆ๋„์šฐ ์ œ๋ชฉ/์ƒ์„ธ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งŒ ์‚ฌ์šฉ
  • Persistence: UserDefaults
  • Tests: XCTest ๋น„์˜์กด ์‹คํ–‰ํ˜• ๋Ÿฌ๋„ˆ (swift run AwakeTests). ์ฝ”์–ด ๋กœ์ง์ด AwakeCore ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ์–ด, Xcode๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ์—์„œ๋Š” ๋™์ผ ์ฝ”๋“œ๋ฅผ XCTest/Swift Testing์œผ๋กœ๋„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์œ 

Swift์™€ AppKit์€ macOS ์ „์› ๊ด€๋ฆฌ, ๋ฉ”๋‰ด๋ฐ” ์•ฑ, ์‹คํ–‰ ์ค‘ ์•ฑ ๊ฐ์ง€, ๊ถŒํ•œ ์ƒํƒœ ํ™•์ธ์— ๊ฐ€์žฅ ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. SwiftUI๋Š” ์„ ํƒ ํ™”๋ฉด๊ณผ ์„ค์ • UI๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ธฐ ์ข‹๊ณ , AppKit์€ ๋ฉ”๋‰ด๋ฐ”/์œˆ๋„์šฐ/์‹œ์Šคํ…œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ์— ํ•„์š”ํ•˜๋‹ค.

์ดˆ๊ธฐ ํ”„๋กœ์ ํŠธ ํ˜•ํƒœ

์ดˆ๊ธฐ์—๋Š” Swift Package๋ณด๋‹ค Xcode macOS App ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ถŒํ•œ, ๋ฒˆ๋“ค ์‹๋ณ„์ž, ๋ฉ”๋‰ด๋ฐ” ์•ฑ ์„ค์ •์„ ๋‹ค๋ฃจ๊ธฐ ์‰ฝ๋‹ค. CLI ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ์ „์› assertion ๋กœ์ง์€ ๋ณ„๋„ Swift ํƒ€์ž…์œผ๋กœ ๋ถ„๋ฆฌํ•ด XCTest์—์„œ ๊ฒ€์ฆํ•œ๋‹ค.

์™ธ๋ถ€ ์˜์กด์„ฑ ์›์น™

์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•„์š”์„ฑ์ด ๋ช…ํ™•ํ•  ๋•Œ๋งŒ ๋„์ž…ํ•œ๋‹ค. ์ „์› ๊ด€๋ฆฌ, ์‹คํ–‰ ์ค‘ ์•ฑ ๋ชฉ๋ก, ๋ฉ”๋‰ด๋ฐ” UI๋Š” ์‹œ์Šคํ…œ API๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ์ „์—ญ ๋‹จ์ถ•ํ‚ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•„์š”์„ฑ์ด ํ™•์ธ๋œ ๋’ค ๋„์ž…ํ•œ๋‹ค.