[iOS][CN] UserDefaults ์‚ฌ์šฉํ•˜๊ธฐ
ยท
๐ŸŽ iOS
๋„์ ๋„์  (์ด ๋‚ด์šฉ์€ ๋„˜๊ฒจ๋„ ๋ผ์š”)์•„์ฃผ ์˜ค๋ž˜ ์ „์—, iOS์˜ ๋ฐฐํฌ ๊ณผ์ •์ด ๊ถ๊ธˆํ•˜์—ฌ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ์•ฑ์„ ์ถœ์‹œํ•ด ๋ณธ ์ ์ด ์žˆ๋‹ค.์ตœ๊ทผ ํฌํด ์ •๋ฆฌ๋„ ํ• ๊ฒธ ์• ํ”Œ ๊ฐœ๋ฐœ์ž ๊ณ„์ •์— ๋“ค์–ด๊ฐ”๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์•ฑ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.์ •๋ง ๊ธฐ๋ณธ ์ค‘์— ๊ธฐ๋ณธ์ด์—ˆ๋˜ ์•ฑ์ธ๋ฐ, ์ด๋ ‡๊ฒŒ๋‚˜ ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋‹ค๋‹ˆ,,(๊ทผ๋ฐ ์•„๋ฌด๋„ ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ์ง€ ์•Š์•„ ์•„๋ฌด๋Ÿฐ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค๋Š”,,,)์•„์ง ๋ถ„์„ ๋ถ€๋ถ„์„ ๋ณด๋Š” ๋ฐฉ๋ฒ•๋„ ๋ชจ๋ฅด์ง€๋งŒ.. (ํ‰๊ท  ์œ ์ง€์œจ์ด ๋ฐ์ดํ„ฐ ๋ถ€์กฑ์ด๋ฉด ์•„๋ฌด๋„ ์œ ์ง€ ์•ˆํ•˜๋Š”๊ฑด๊ฐ€ ํ˜น์‹œ) ๊ทธ๋ž˜๋„ ๋ˆ„๊ตฐ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋‹ˆ์•„์ง ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด ์•ฑ์— ๊พธ์ค€ํžˆ ์‹œ๊ฐ„์„ ์Ÿ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ณ ์ž,, ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฒฐ์‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.์ž์ž ๊ทธ๋Ÿผ ์ด์ œ UserDefaults์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž !!  UserDefaults ์–ธ์ œ ์‚ฌ์šฉํ•˜๋‚˜?๋‚˜๋Š”, ํ–…ํ‹ฑ ๊ธฐ๋Šฅ์„..
[iOS] UIButton ๋ฒ„ํŠผ ๋‚ด ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ธฐ
ยท
๐ŸŽ iOS
๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋˜ ์ค‘, ๋ฒ„ํŠผ ์•ˆ์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๊ณ  ์‹ถ์€๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.์ด ๋ฌธ์ œ๋Š” ์ด์ „์— ํ•ด๊ฒฐํ•œ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ–ˆ๋Š”์ง€ ๊ธฐ์–ต์ด ๋‚˜์งˆ ์•Š์•˜๋‹ค. ์•ž์œผ๋กœ ๋น„์Šทํ•œ ์ƒํ™ฉ์„ ๋งˆ์ฃผํ–ˆ์„ ๋•Œ ์ฐพ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•œ๋‹ค!! ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ธฐ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋จผ์ € extension์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค.import UIKitextension UIImage { func resize(targetSize: CGSize) -> UIImage? { let rect = CGRect(origin: .zero, size: targetSize) UIGraphicsBeginImageContextWithOptions(targetSize, false, 0.0) self.draw..
[iOS] tableView ์…€ ์•„๋ž˜ ๊ตฌ๋ถ„์„  ์—†์• ๊ธฐ
ยท
๐ŸŽ iOS
๊ฐœ๋ฐœ์„ ํ•˜๋˜ ์ค‘, ํ…Œ์ด๋ธ” ๋ทฐ ์•„๋ž˜ ์ž๊พธ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ๋ถ„์„ ์ด ์ƒ๊ธฐ๋Š” ๊ฑธ ํ™•์ธํ–ˆ๋‹ค. limitTableView.separatorStyle = .none ๊ทธ๋Ÿด ๋•Œ๋Š” ์ด๋ ‡๊ฒŒ ๊ตฌ๋ถ„ ์Šคํƒ€์ผ์„ .none์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค.  ์ด์ œ ์ด๋ ‡๊ฒŒ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ง„ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค !
[iOS] apple login ๊ตฌํ˜„ํ•˜๊ธฐ
ยท
๐ŸŽ iOS
๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋“ค ๋ณด๋ฉด ์ง์ ‘ ๊ณต์‹๋ฌธ์„œ ๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์‹œ๋˜๋ฐ,, ๋‚˜๋„ ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ณ  ์‹ถ์€๋ฐ..์‹œ๊ฐ„์ด ์ƒ๋‹นํžˆ ๋งŽ์ด ๊ฑธ๋ฆฌ๊ฒ ์ง€๋งŒ, ๋„์ „..ํ•ด๋ด์•ผ์ง€.. ์ด์ „์— ์• ํ”Œ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” ๊ทธ๋ƒฅ ๋ธ”๋กœ๊ทธ๋“ค ์ฐธ๊ณ ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๊ฐ€์ ธ์˜จ ์ฝ”๋“œ๋งŒ ๊ณต๋ถ€ํ•ด์„œ ๊ตฌํ˜„ํ–ˆ์—ˆ๋Š”๋ฐ์‹œ๊ฐ„๋„ ์žˆ๊ฒ ๋‹ค, ์˜์š•๋„ ์žˆ๊ฒ ๋‹ค ํ•œ ๋ฒˆ ํ•ด๋ด์•ผ๊ฒ ๋‹ค. ๊ทธ๋‚˜์ €๋‚˜ ํ•œ๊ธ€ ๊ณต์‹๋ฌธ์„œ๋„ ์žˆ์œผ๋ฉด ๋„ˆ๋ฌด ์ข‹๊ฒ ๋‹ค.ํ•œ๊ธ€ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ด๊ฐ€ ์˜์–ด๋ฅผ ๋” ๊ณต๋ถ€ํ•ด์„œ ์ž˜ํ•˜๋Š”๊ฒŒ ๋น ๋ฅด๋ ค๋‚˜..?  ์ผ๋‹จ ํ•ด๋ณด์ž๊ตฌ..์•„๋ž˜ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ตฌํ˜„ํ•œ ์• ํ”Œ๋กœ๊ทธ์ธ์ด๋‹ค ! https://developer.apple.com/documentation/sign_in_with_apple/implementing_user_authentication_with_sign_in_with_apple ..
[iOS] DeviceActivity ์ •๋ฆฌ ๋ฐ ์Šคํฌ๋ฆฐํƒ€์ž„ ์ ‘๊ทผ ๊ถŒํ•œ, ์•ฑ ์ œํ•œํ•˜๊ธฐ
ยท
๐ŸŽ iOS
์ง€๋‚œ ๊ธ€์— ์ด์–ด ์ด๋ฒˆ์—๋Š” DeviceActivity๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ธ€์ด๋‹ค.๋‹ค์Œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค !https://developer.apple.com/documentation/DeviceActivity DeviceActivity | Apple Developer DocumentationMonitor device activity with your app extension while maintaining user privacy.developer.apple.com ์ด๋ฒˆ ๊ธ€์€ ๋‚ด๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์—์„œ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ์ฃผ๊ธฐ๋Šฅ์— ๊ผญ ํ•„์š”ํ•œ framework์ด๋ฏ€๋กœ, ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผํ•˜๋ฉด์„œ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.๊ทธ ์ „์—, ์ด framework๋Š” ์•ฑ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž์˜ ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ, ๊ธฐ๊ธฐ ํ™œ๋™์„..