Vimari: Safari ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์Šคํ† ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํƒœ

์— ๋งŒ๋“  2018๋…„ 07์›” 11์ผ  ยท  37์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: televator-apps/vimari

๋ฐฉ๊ธˆ Apple ๊ฐœ๋ฐœ์ž ํ”„๋กœ๊ทธ๋žจ์— ๋“ฑ๋กํ–ˆ์œผ๋ฉฐ ๊ฒ€ํ† ๋ฅผ ์œ„ํ•ด ๋ณด๋‚ด๊ธฐ ์ „์— ์ฝ”๋“œ์— ์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ•„์š”ํ•œ์ง€ ์กฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ํ˜ธ์—์„œ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!


์—…๋ฐ์ดํŠธ๋จ
๋ฌธ๋งฅ์— ๋Œ€ํ•œ ์ „์ฒด ๋ฌธ์ œ๋ฅผ ์ฝ์œผ์‹ญ์‹œ์˜ค.

ํ•  ๊ฒƒ

  • [ ] ์„ค์ •
  • [ ] ์ƒˆ ํƒญ์—์„œ ์—ฌ๋Ÿฌ ๋งํฌ๋ฅผ ์—ด ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • [ ] ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๋ฐฐํฌ ๋ฐฉ๋ฒ• ํŒŒ์•…
  • [ ] ์ƒˆ ํƒญ์—์„œ ์–ด๋–ค ์›น์‚ฌ์ดํŠธ๋ฅผ ์—ด๊นŒ์š”? ๋นˆ ๋ฌธ์ž์—ด์€ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ about:config ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…• ๋ชจ๋‘๋“ค,

์ด ํ˜ธ์˜ ์•ž๋ถ€๋ถ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ €๋Š” ์ง€๋‚œ ๋ช‡ ๋‹ฌ ๋™์•ˆ ๋ช‡ ๊ฐ€์ง€ ๊ฐœ์ธ์ ์ธ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ์—ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ํ›จ์”ฌ ๋‚˜์•„์กŒ์Šต๋‹ˆ๋‹ค! ์‚ถ์˜ ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚จ ๊ฒฐ๊ณผ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ™œ๋™์— ํ›จ์”ฌ ๋” ๋ฐ”๋น ์„œ ์˜คํ”ˆ ์†Œ์Šค์— ํ• ์• ํ•  ์‹œ๊ฐ„๊ณผ ์—๋„ˆ์ง€๊ฐ€ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์ •์„ ๊ณต๊ฐœํ•˜๊ณ  ์•ฑ ์Šคํ† ์–ด์— ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๊ณง ๊ฒŒ์‹œํ•  ๋™๊ธฐ ๋ถ€์—ฌ๋ฅผ ์ฐพ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ถ€ํ•˜์‹  ๋ชจ๋“  ๋ถ„๋“ค์ด ์–ด๋–ค ์‹์œผ๋กœ๋“  ์‚ฌ๊ธฐ๋ฅผ ๋‹นํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ธ๋‚ด์‹ฌ์„ ๊ฐ–๊ณ  ์ดํ•ดํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค โค๏ธ

๋ชจ๋“  37 ๋Œ“๊ธ€

Apple์˜ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ macOS ์•ฑ์— ๋ž˜ํ•‘๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์–ด๋–ค ์œ ํ˜•์ธ์ง€๋Š” ๋‚˜์™€ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ง€๊ธˆ ๋ฉฐ์น  ๋™์•ˆ ๋ฐ”์  ๊ฒƒ์ด์ง€๋งŒ ์ด ์ผ์˜ ์ผ๋ถ€๋ฅผ ์งœ๋‚ด๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€์ด ๊ฒฝํ—˜์ด ์žˆ๊ฑฐ๋‚˜ ๋„์™€์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

ํ•œ๋™์•ˆ ์ด๊ฒƒ์œผ๋กœ ์žฅ๋‚œ์„ ์ณค๋Š”๋ฐ.. ๋ฌธ์„œ๊ฐ€ ๋‚  ์ฃฝ์ด๊ณ  ์žˆ์–ด. ์˜ˆ์ œ๊ฐ€ ์—†๋Š” ์ด ๋นˆ์•ฝํ•œ ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด Safari ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ Safari App Extensions๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ธฐ๋Œ€ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ™•์žฅ์ด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜๊ธฐ๊นŒ์ง€ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค :/

์–ด์จŒ๋“  ์ง€๊ธˆ์€ ๋ญ”๊ฐ€๋ฅผ ์ค€๋น„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋” ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋กœ๋“œํ•˜๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ทธ๊ฒƒ์ด ์‚ฌ์‹ค์ด๋ผ๋ฉด ์งœ์ฆ๋‚  ๊ฒƒ ๊ฐ™์€ ํ™•์žฅ ์„ค์ •์— ๋Œ€ํ•œ ์ง€์›์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ App Store์— ํ™•์žฅ ๊ธฐ๋Šฅ์ด ์—†์œผ๋ฉด ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ผ๋ถ€ ํฌ๋Ÿผ์—์„œ ์ฝ์—ˆ์ง€๋งŒ ๋” ์ž์„ธํžˆ ์กฐ์‚ฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ฆ‰์„ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์žˆ์ง€๋งŒ ์•ฑ ์Šคํ† ์–ด๋ฅผ ์—ฌ๋Š” ๋Œ€์‹  Github์— ์™€์„œ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์กฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์ œ Safari 12์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฒ„์ „์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ํ•ดํ‚คํ•œ ์†”๋ฃจ์…˜์ด์ง€๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฝ”๋“œ์—์„œ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ํ•œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‚ด PR #104์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

PR๊ณผ App Extension์„ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ด ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. macOS Mojave๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด๊ณ  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ์ฝ”๋“œ๋ฅผ ๋” ๋ฉ‹์ง€๊ฒŒ ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ๊ณ„์†ํ•  ๊ฒƒ์ด์ง€๋งŒ ์ง€๊ธˆ์€ ํ™•์žฅ ๊ธฐ๋Šฅ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์ด์— ๊ด€๋ จ๋œ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ•‘์„ ๋ณด๋‚ด ์ด์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
@jad @jaredmichaelwilliams @olivierlefloch @afarrell @weirdfishes @LiYunyang @pcejrowski @lamons @hcgatewood @LeonardCohen @ovisan @jezkline @danielcompton @guyht

๋‹ค์Œ์€ ์ง€์นจ ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”.

์ €๋Š” Mojave(18A326h)๋ฅผ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•  ๋•Œ ํ•œ ๊ฐ€์ง€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜: ์ข…๋ฃŒ 1 ์‹ ํ˜ธ 0 {๋กœ ์ธํ•ด ์ž‘์—…์ด ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
/usr/bin/codesign '--force' '--sign' '0CA31562965A44B984D08063E858CC715E0B0B34' '--verbose' '/Users/liyunyang/Library/Developer/Xcode/DerivedData/Developer/Xcode/DerivedData/vimari app/Contents/Frameworks/libswiftAppKit.dylib'
}

@LiYunyang ์ด ๋‘ ๊ฐ€์ง€ ์†”๋ฃจ์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹œ๋„ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

์ด ์ž‘์—…์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ํˆฌ์žํ•œ ํ›„์—๋Š” ์ผ๋ถ€ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์ด ์•„๋‹Œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์„์ง€ ํ™•์‹ ์ด ์„œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (. ํŒ์˜ค๋ฒ„ ๋˜๋Š” ๋„๊ตฌ ๋ชจ์Œ์œผ๋กœ ์ž‘์—…ํ•˜์ง€ ์•Š๋Š” ํ•œ API๋Š” ๋งค์šฐ ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค. ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ •๋ณด๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ด๊ฒƒ์€ ๋„ˆ๋ฌด ์ƒˆ๋กญ๊ธฐ ๋•Œ๋ฌธ์— + Apple์˜ ๋”์ฐํ•œ ๋ฌธ์„œ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ƒˆ ํƒญ์„ ์—ฌ๋Š” ๊ฒƒ์€ ํŒ์˜ค๋ฒ„/๋„๊ตฌ ๋ชจ์Œ ํด๋ฆญ์—์„œ ์‚ฌ์†Œํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Apple์€ ๋Œ€๋ถ€๋ถ„์˜ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ํ˜„์žฌ ํ™•์žฅ์ž…๋‹ˆ๋‹ค. ๊ณ„์† ์‹œ๋„ํ•˜๊ฒ ์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ์•ฝ์†ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@simeg ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ž์ฒด ๊ฐœ๋ฐœ์ž ์ธ์ฆ์„œ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œํ–ˆ์œผ๋ฉฐ macOS 10.13.6 High Sierra์˜ Safari 12์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.,

@akrabat ๋‹น์‹ ์„ ์œ„ํ•ด ์ผํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜๋ ค๋ฉด ์ž์ฒด ๊ฐœ๋ฐœ์ž ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ. ์ธ์ฆ์„œ์™€ ๊ด€๋ จ๋œ ๋นŒ๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์–ด์„œ ๋“œ๋กญ๋‹ค์šด์—์„œ ๋‚ด ๊ฒƒ์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ž‘์—…์—์„œ ๋ฉฐ์น ์„ ์‰ฌ๊ณ  ๋„์›€์„ ๋ฐ›์€ ํ›„ ์ฒ˜์Œ์— ์˜ˆ์ƒํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค„ ๋ช‡ ๊ฐ€์ง€ ์ •๋ณด๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค! ์ด์ œ ๋‚ด ๋ ˆ์ด๋”์— ๋ฌด์—‡์ด ์žˆ๋Š”์ง€:

  • ๋ชจ๋“  ๊ธฐ๋Šฅ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  • ๊ฐœ๋ฐœ์ž ์ธ์ฆ์„œ ์—†์ด ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‹œ๋„ํ–ˆ์ง€๋งŒ ์‹คํŒจํ–ˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

[์š•์„ค] [์ €๋งŒ ๋‹ต๋‹ตํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค](https://forums.developer.apple.com/thread/62410) ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Apple ์ง์›์ด ์ถ”์ฒœํ•œ ๋Œ€๋กœ ํ–ˆ๊ณ  ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ API๋ฅผ ์š”์ฒญํ•˜๋Š” ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ๋นจ๋Œ€๋ฅผ ์žก๊ณ  ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ฌด์—‡์„ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. Apple์ด Safari์˜ ํ™•์žฅ ์ƒํƒœ๊ณ„๋ฅผ ์ฃฝ์ด๊ณ  ์žˆ์Œ์„ ๊นจ๋‹ซ๊ณ  API๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ๋” ๋‚˜์€ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. [/ํญ์–ธ]

๋‹ค์Œ์€ README์— ์ง€์ •๋œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

f ํ† ๊ธ€ ๋งํฌ
F ํ† ๊ธ€ ๋งํฌ(์ƒˆ ํƒญ์—์„œ ๋งํฌ ์—ด๊ธฐ)
k ์œ„๋กœ ์Šคํฌ๋กค
j ์•„๋ž˜๋กœ ์Šคํฌ๋กค
h ์™ผ์ชฝ์œผ๋กœ ์Šคํฌ๋กค
l ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์Šคํฌ๋กค
u ๋ฐ˜ ํŽ˜์ด์ง€ ์œ„๋กœ ์Šคํฌ๋กค
d ๋ฐ˜ ํŽ˜์ด์ง€ ์•„๋ž˜๋กœ ์Šคํฌ๋กค
gg ํŽ˜์ด์ง€ ๋งจ ์œ„๋กœ ์ด๋™
G ํŽ˜์ด์ง€ ๋งจ ์•„๋ž˜๋กœ ์ด๋™

H ์—ญ์‚ฌ ๋’ค๋กœ
L ์—ญ์‚ฌ ์•ž์œผ๋กœ
r ์ƒˆ๋กœ๊ณ ์นจ
w ๋‹ค์Œ ํƒญ
q ์ด์ „ ํƒญ
x ํ˜„์žฌ ํƒญ์„ ๋‹ซ๊ณ  ์™ผ์ชฝ ํƒญ์œผ๋กœ ์ด๋™
X ํ˜„์žฌ ํƒญ์„ ๋‹ซ๊ณ  ์˜ค๋ฅธ์ชฝ ํƒญ์œผ๋กœ ์ด๋™
t ์ƒˆ ํƒญ ์—ด๊ธฐ (๋ฒ„์ „ 1.12์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค)

์ทจ์†Œ์„ ์ด ์žˆ๋Š” ์ค„์€ ํ˜„์žฌ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Safari App Extensions์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„ค์ •์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ์ด ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ†ตํ•ด ๊ทธ๋ฆฌ๊ณ  ํ–ฅํ›„ App Extension Store์—์„œ ๋ชจ๋“  ์‚ฌ๋žŒ์ด vimari๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ๋ถ„๋“ค์ด Safari 12์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ 100% ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ˆ์„ ๊ธฐ๋ถ€ํ•ด ์ฃผ์…”์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ API๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์€ ์—†์Šต๋‹ˆ๋‹ค.

FWiW, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค์€ ์ €์—๊ฒŒ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ F ์ž‘์—…์„ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋‹ค์‹œ ๋งคํ•‘ํ–ˆ๋‹ค t .

@akrabat ์•„์ง ๋ชจ๋“  ๊ฒƒ์ด ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

@simeg ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚ด Mojave ์ปดํ“จํ„ฐ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. (๋†€๋ž๊ฒŒ๋„ ์ด์ „ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ €์ ˆ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.)

@LiYunyang ๋‹น์‹ ์„ ์œ„ํ•ด ์ผํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์†Œ์‹์„ ๋“ค์œผ๋‹ˆ ๊ธฐ์ฉ๋‹ˆ๋‹ค! ๊ฐœ๋ฐœ์ž ๊ณ„์ •์œผ๋กœ ์„œ๋ช…ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ ์•„์ง ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š์€ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋œ PR์ด ์—ด๋ ค ์žˆ์œผ๋ฏ€๋กœ ๋ฉฐ์น  ํ›„์— ๋‹ค์‹œ ํ™•์ธํ•˜๋ฉด ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํƒญ์—์„œ ๋งํฌ ์—ด๊ธฐ( shift + t ) ๋˜๋Š” ์ƒˆ ๋นˆ ํƒญ ์—ด๊ธฐ( t )์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค๊ณผ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@simeg ์ฒ˜์Œ์œผ๋กœ ๋‚ด Apple ID(๋“ฑ๋ก๋œ ๊ฐœ๋ฐœ์ž ๊ณ„์ •์ด ์•„๋‹˜)๋กœ ๋กœ๊ทธ์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ž‘์—…ํ•œ ๋ถ„๊ธฐ๋ฅผ ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉํ•˜์—ฌ ๋‘ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํƒญ์—์„œ ๋งํฌ ์—ด๊ธฐ( shift + t ) ๋ฐ ์ƒˆ ๋นˆ ํƒญ ์—ด๊ธฐ( t ). ๊ทธ๊ฒƒ์€ ์ง€๊ธˆ ์•„๋ฌด๊ฒƒ๋„ํ•˜์ง€ ์•Š๋Š” ๋„๊ตฌ ๋ชจ์Œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋‚ด๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ง€๊ธˆ์€ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.

๋”ฐ๋ผ์„œ ์ปดํŒŒ์ผํ•˜๋ ค๋ฉด Xcode์—์„œ ์„œ๋ช… ๊ณ„์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. xcode์—์„œ Apple ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
ํƒญ์„ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‹ซ์„ ๋•Œ: @simeg ๊ฐ€ ๋งž์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ API์—์„œ๋Š” ์ด์— ๋Œ€ํ•œ ์ง€์›์ด ์—†์œผ๋ฉฐ Apple์ด ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ํ•œ ํ•  ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. Apple์€ ์•ฑ ํ™•์žฅ์ด ํ™œ์„ฑ ํƒญ์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ๋‹ซ๋Š” ๊ฒƒ์€ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ด๋ ค ์žˆ๋Š” ๋ชจ๋“  ํƒญ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. API๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์“ธ๋ชจ๊ฐ€ ์—†์œผ๋ฉฐ Apple์ด ์™œ ์ด๋Ÿฐ ์ผ์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํƒญ์„ ์—ด๊ณ  URL๋กœ ์ด๋™ํ•˜๊ณ  ํ™œ์„ฑ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ์šด ๊ทธ๋ž˜ํ”ฝ ์š”์†Œ๋กœ ์˜ค๋ฒ„๋ ˆ์ดํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

@Rahlir ๋„ค, ์•„์ง ํ•ด๊ฒฐํ•ด์•ผ ํ•  ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ๊ณง ๊ณต์‹ ์•ฑ ํ™•์žฅ์— ๊ฒŒ์‹œํ•  ๊ฒƒ์ด๋ฉฐ ์ž˜ํ•˜๋ฉด ๊ทธ๋Ÿฐ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ Apple์ด ์™œ ์ด๋Ÿฐ ์ผ์„ ํ•˜๋Š”์ง€ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด Safari์˜ ์‚ฌ์šฉ์„ ์‹ฌ๊ฐํ•˜๊ฒŒ ๋‚ฎ์ถœ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ง€๊ธˆ ์•Œ์•„ ๋‚ด๋ ค๊ณ ํ•˜๋Š” ๊ฒƒ์€ ์„ค์ •์ž…๋‹ˆ๋‹ค. ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ฝ”๋“œ๋ฅผ๋ณด๊ณ  ๋ฌด์—‡์„ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ ํ•˜์ง€๋งŒ ์ฒœ์ฒœํžˆ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์† ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ง€๊ธˆ ์•Œ์•„ ๋‚ด๋ ค๊ณ ํ•˜๋Š” ๊ฒƒ์€ ์„ค์ •์ž…๋‹ˆ๋‹ค. ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ฝ”๋“œ๋ฅผ๋ณด๊ณ  ๋ฌด์—‡์„ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ ํ•˜์ง€๋งŒ ์ฒœ์ฒœํžˆ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์† ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ Swift ์ฝ”๋“œ์— ์„ค์ •์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์€ UserDefaults ์ž…๋‹ˆ๋‹ค.

https://www.hackingwithswift.com/read/12/2/reading-and-writing-basics-userdefaults

๋ถ„๋ช…ํžˆ Swift์— ์ €์žฅ/๋กœ๋”ฉ ๋กœ์ง์ด ์žˆ์–ด์•ผ ํ•˜๊ณ  ์ด๋ฒคํŠธ์™€ ํ•จ๊ป˜ JS๋กœ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ("getSettings" "saveSettings"์™€ ๊ฐ™์€ ๊ฒƒ)

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ–ˆ๋Š”์ง€ ์ •๋ง ๋†€๋ž์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์ด ์‹ค์ œ๋กœ ์ข‹์€ ํ™•์žฅ์„ ์›ํ•œ๋‹ค๋ฉด WebExtension ํ‘œ์ค€์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฑฐ์˜ ์•„๋ฌด๋„ Safari์šฉ ํ™•์žฅ์„ ๋ณ€ํ™˜/์ง€์›ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” Safari App Extensions์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ ์ €์—๊ฒŒ ํ•‘์„ ๋ณด๋‚ด์ฃผ์‹ญ์‹œ์˜ค. ์ €๋Š” ์•ฝ 6๊ฐœ์›” ๋™์•ˆ ์ด๋Ÿฌํ•œ ํ™•์žฅ์— ๊นŠ์ด ๋น ์ ธ ์ง€๊ธˆ ๋งค์ดˆ๋งˆ๋‹ค Apple์„ ์‹ซ์–ดํ•ฉ๋‹ˆ๋‹ค.


๋ˆ„๋ฝ๋œ ํƒญ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ์ด์ง€๋งŒ ๋งค์šฐ ํ•ดํ‚น๋œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒญ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ ์Šคํฌ๋ฆฝํŠธ.

Swift ์ฝ”๋“œ์—์„œ ํƒญ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” AppleScript ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํƒญ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ์˜ˆ:

tell front window of application "Safari"
    set current tab to tab ((get index of current tab) + 1)
end tell

tell front window of application "Safari"
        close current tab
end tell

๋จผ์ € tell ๋Š” ํ˜„์žฌ ํƒญ์˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ํƒญ์„ ์—ด๊ฑฐ๋‚˜ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ tell ๋Š” ํ˜„์žฌ ์—ด๋ ค ์žˆ๋Š” ํƒญ์„ ๋‹ซ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ "๋‹ค์Œ/์ด์ „ ํƒญ" ๋ฐ "ํ˜„์žฌ ๋‹ซ๊ธฐ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™"์— ๋Œ€ํ•œ AppleScript ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด AppleScript๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์˜ ๋ฌธ์ œ๋Š” AppleScript ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์•ฑ ์ƒŒ๋“œ๋ฐ•์Šค๊ฐ€ ๊นจ์งˆ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์•ฑ ํ™•์žฅ ์Šคํ† ์–ด์— ์ œ์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์Šค์Šค๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ๋ถ™์–ด์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. (๊ทธ๋ž˜๋„ ์„œ๋ช…ํ•ด์•ผ ํ•จ)

๊ณต์ •ํ•˜๊ฒŒ ๋งํ•ด์„œ ์ด ํƒญ ๋ฐฉ๋ฒ•์„ ์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ๊ณผ๊ฑฐ์—๋Š” Swift Safari Extension์—์„œ AppleScript๋ฅผ ์‹คํ–‰ํ•˜๊ณ  Safari์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•„์ง ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ฌด๊ฒƒ๋„ ์ถœ์‹œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ํ•˜๋‹ค:

๋‚˜๋Š” ๋‚ด ์ž์‹ ์„ ์˜์‹ฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์—ฌ ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํ˜„์žฌ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋… ์ฆ๋ช…์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://streamable.com/kions

์ด๊ฒƒ์€ ์œ„์˜ AppleScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒญ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” NSAppleScript ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์•ฑ ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ž๊ฒฉ ํŒŒ์ผ์— "์ž„์‹œ ์˜ˆ์™ธ ์ž๊ฒฉ"์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<key>com.apple.security.temporary-exception.apple-events</key>
<string>com.apple.Safari</string>

๋ฌธ์„œ: https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AppSandboxTemporaryExceptionEntitlements.html#//apple_ref/doc/uid/TP40011195 -CH5-SW3

์ด๊ฒƒ์ด App Extension Store ์Šน์ธ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ •๋‹นํ•œ ์ด์œ ๊ฐ€ ์žˆ๊ณ  Apple์ด ์Šน์ธํ•˜๋Š” ๋ฐ ๋™์˜ํ•˜๋Š” ๊ฒฝ์šฐ: https://stackoverflow.com/a/13903333/7768060

@jdf221 ์™€์šฐ, ์งˆ๋ฌธํ•  ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜

์•ฑ ์Šคํ† ์–ด์— ์žˆ๋‹ค๋ฉด ์ •๋ง ๋Œ€๋‹จํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋ง์„ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ ๋•๋ถ„์— ์„ฑ๊ณตํ•˜๊ธฐ ์ „์— ์ปดํŒŒ์ผํ•˜๋ ค๊ณ  ์˜ค๋žœ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. https://stackoverflow.com/questions/39754341/none-of-your-accounts-are-a-member-code-signing-errors- xcode๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ›„

๊ณ ํ†ต์Šค๋Ÿฌ์› ๋‹ค

์•ˆ๋…• ๋ชจ๋‘๋“ค,

์ด ํ˜ธ์˜ ์•ž๋ถ€๋ถ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ €๋Š” ์ง€๋‚œ ๋ช‡ ๋‹ฌ ๋™์•ˆ ๋ช‡ ๊ฐ€์ง€ ๊ฐœ์ธ์ ์ธ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ์—ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ํ›จ์”ฌ ๋‚˜์•„์กŒ์Šต๋‹ˆ๋‹ค! ์‚ถ์˜ ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚จ ๊ฒฐ๊ณผ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ™œ๋™์— ํ›จ์”ฌ ๋” ๋ฐ”๋น ์„œ ์˜คํ”ˆ ์†Œ์Šค์— ํ• ์• ํ•  ์‹œ๊ฐ„๊ณผ ์—๋„ˆ์ง€๊ฐ€ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์ •์„ ๊ณต๊ฐœํ•˜๊ณ  ์•ฑ ์Šคํ† ์–ด์— ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๊ณง ๊ฒŒ์‹œํ•  ๋™๊ธฐ ๋ถ€์—ฌ๋ฅผ ์ฐพ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ถ€ํ•˜์‹  ๋ชจ๋“  ๋ถ„๋“ค์ด ์–ด๋–ค ์‹์œผ๋กœ๋“  ์‚ฌ๊ธฐ๋ฅผ ๋‹นํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ธ๋‚ด์‹ฌ์„ ๊ฐ–๊ณ  ์ดํ•ดํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค โค๏ธ

@simeg ํผ๋ธ”๋ฆฌ์‹ฑ ๊ถŒํ•œ์„ ๊ณต์œ ํ•˜๋„๋ก ์„ค๋“ํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์ž ํŒ€์„ ์กฐ๊ธˆ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ €๋Š” Apple ๊ฐœ๋ฐœ์ž๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด ๋ฌธ์„œ๋ฅผ ๊ฒŒ์‹œํ•˜๊ณ  ๊ณ„์† ๋„์›€์„ ์ฃผ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์˜ค๋Š˜ ์•„์นจ์— ์ด๊ฒƒ์„ ์ž‘๋™์‹œํ‚ค๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๊ณ  ํ™•์ธ์„ ์œ„ํ•ด ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰๋œ๋‹ค๋ฉด ๋ฉฐ์น  ๋‚ด๋กœ Mac App Store์—์„œ Vimari๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ์ปค์Šคํ…€ ํฌํฌ๋ฅผ ๋งŒ๋“ค๊ณ , ๋ฉ‹์ง„ ์•„์ด์ฝ˜์ด ํฌํ•จ๋œ ์ตœ๊ทผ PR์„ ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์•ฑ ์Šคํ† ์–ด์— ์ด๋ฏธ ์กด์žฌํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๋” ์ž˜๋˜๋Š” ๋˜ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์ด ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. sVim์„ ํ™•์ธํ•˜์„ธ์š”: https://github.com/flipxfx/sVim

Vimium์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, 95%์˜ ์‚ฌ๋žŒ๋“ค์ด ์›ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ Mac App Store์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”. https://safari-extensions .apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6

Vimari๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด ๊ณง App Store์—์„œ ๋ณผ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ App Store์—์„œ ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  1. MacOS์˜ ๋‹คํฌ ๋ชจ๋“œ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฐฝ ๋ฉ”๋‰ด์—๋Š” ๋‚ด์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ™•์‹คํžˆ ์‹ค์ œ์ž…๋‹ˆ๋‹ค.

Vimari์— ๋งค์šฐ ํ—Œ์‹ ์ ์ธ ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๋ฉด, ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด App Store์— ๋“ค์–ด๊ฐˆ ํฌ๋ง์ด ์žˆ๋‹ค๋ฉด ๋‹ค์‹œ ์ œ์ถœํ•˜๊ธฐ ์ „์— ์ด๋Ÿฌํ•œ ์‚ฌํ•ญ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ„์˜ ๋‚ด ์˜๊ฒฌ์—๋„ ์–ธ๊ธ‰๋œ sVim์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. https://safari-extensions.apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6

@nchase , ๋‹ค์Œ macOS ๋ฆด๋ฆฌ์Šค์—์„œ ์ด ํ™•์žฅ๊ณผ ๊ฐ™์€ ์šด๋ช…์„ ๊ฒช์ง€ ์•Š์„๊นŒ์š”? Safari ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์ €์žฅ์†Œ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ  ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ์•ฑ์— ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ?

์•„. ์›ฌ์ผ์ธ์ง€ ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ด๋ฏธ mac ์•ฑ ์Šคํ† ์–ด์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

sVim์€ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ์กฐ๊ธˆ ๋” ๋‚˜์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(์ตœ๊ทผ ๋ช‡ ๋‹ฌ ์ „๋งŒ ํ•ด๋„ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ pull ์š”์ฒญ์„ ์ ๊ทน์ ์œผ๋กœ ๋ณ‘ํ•ฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ Vimari๋ฅผ ์ œ์ถœํ•  ๋•Œ ๊ฑฐ๋ถ€๋œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ™•์žฅ ๊ธฐ๋Šฅ์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌํ”„ํŠธ๊ฐ€ ๋” ์ž‘์•„์งˆ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ํ•„์š”ํ•œ ๊ณณ์— ๊ทธ๊ฒƒ์„ ์–ป๊ธฐ ์œ„ํ•ด, ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ํ‹€๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

์‹ค์ œ๋กœ ์ฝ”๋“œ๋ฅผ ์ „ํ˜€ ์‚ดํŽด๋ณด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@danielcompton Vimari ์˜ ์ฑ”ํ”ผ์–ธ์ด ๋˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๊นŒ? (๊ทธ๋ ‡๋‹ค๋ฉด ๋‚ด๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ๋ณ€๊ฒฝํ•œ ์‚ฌํ•ญ์„ ๋ฆฌ๋ชจ์ปจ์œผ๋กœ ํ‘ธ์‹œํ•˜๊ณ  ๊ฑฐ๊ธฐ์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

์˜ˆ, ์ด์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ PR์„ ๋ณ‘ํ•ฉํ•œ ์ž์ฒด ๋นŒ๋“œ๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜๊ณ  ์ƒ์ ์— ๊ทธ๊ฒƒ์„ ์–ป๋Š” ๊ฒƒ์„ ๊ธฐ์˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Safari ๋นŒ๋“œ๋ฅผ ์—…์ŠคํŠธ๋ฆผ ํ”„๋กœ์ ํŠธ์— ๋” ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์›๋ž˜ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์˜ ๊ฐœ์„  ์‚ฌํ•ญ์„ ํ™œ์šฉํ•˜๊ณ  ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์žฅ๊ธฐ์ ์œผ๋กœ ์ข‹์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Œ€๋‹จํ•˜๋‹ค ๐Ÿ˜„

sVim ๋Œ€ Vimari์— ๋Œ€ํ•œ ๊ด€์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ? (์ฆ‰, ๊ฐ๊ฐ์˜ ์ฝ”๋“œ์™€ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์„ ๋งŒํผ ๊นŠ์ด ํŒŒ๊ณ  ๋“ค์—ˆ์Šต๋‹ˆ๊นŒ?)

๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ์–ธ๊ธ‰ํ•  ๋•Œ๊นŒ์ง€ sVim์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ–ˆ์ง€๋งŒ ๊ทธ๊ฒƒ์€ ๋˜ํ•œ ~30k ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋Š” Chrome ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ cVim ์—์„œ ํŒŒ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—์„œ Vimari์˜ ๋„์ถœ Vimium ~ 30 ๋งŒ ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค. Chrome์—์„œ๋„ Vimium์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

cVim์€ 5๋…„ ์ด ์ง€๋‚ฌ์ง€๋งŒ Vimium์— ํ˜„์žฌ ์ผ๋ถ€ ๋˜๋Š” ์ „๋ถ€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์—ด๋œ ๊ธฐ๋Šฅ ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๋‚˜์—๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์‚ฌ๋žŒ๋“ค์ด ์›ํ•˜๋Š” ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ง€๊ธˆ ๊ทธ๋“ค์— ๋Œ€ํ•ด ๋” ์ด์ƒ ์ •๋ณด์— ์ž…๊ฐํ•œ ๋น„๊ต๋ฅผ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ์ƒ๊ฐ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ €๋„ Chrome์—์„œ Vimium์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, Vimari๋ฅผ ์ฐพ์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. :)

Vimium์˜ ๊ธฐ๋Šฅ์„ ์ด์‹ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์‰ฌ์šด์ง€์— ๋”ฐ๋ผ Vimium์ด ๋งค์šฐ ํ™œ๊ธฐ์ฐจ๊ณ  ํ™œ๋™์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ์ฒซ ๋ฒˆ์งธ ์„ ํƒ์ด๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ช‡ ๋…„ ์ „ ๋‚˜๋Š” ๋งŽ์€ ์ž‘์—… ์—†์ด Vimium์— ๋ณ‘ํ•ฉ๋œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Œ - ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์‚ฌ์†Œํ•œ ์žฅ๋ฒฝ์ด์ง€๋งŒ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ฉ€๋ฆฌ์„œ ๋ณด๋ฉด ํฌํŠธ ๊ธฐ๋Šฅ/ํŒจ๋ฆฌํ‹ฐ ์œ ์ง€์— ๋”์ฐํ•˜์ง€ ์•Š์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ๐Ÿคทโ€โ™‚๏ธ

์‹ค์ œ ์ž‘์—…์€ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ App Store์šฉ์œผ๋กœ ์ค€๋น„ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ง€๋‚œ ์ฃผ์— 90๋ถ„์„ ํ• ์• ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ์˜ˆ์ƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ฒƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ๊ฑฐ๋ถ€๋‹นํ•œ ๋ฌธ์ œ๋ฅผ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…• ๋ชจ๋‘๋“ค,

2018๋…„ 1์›”์— ์ €๋Š” ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์„ App Store์— ์˜ฌ๋ฆฌ๊ฒ ๋‹ค๊ณ  ์•ฝ์†ํ–ˆ๊ณ  ์‚ฌ๋žŒ๋“ค์€ ๊ทธ ๋ชฉํ‘œ๋ฅผ ์œ„ํ•ด ๋ˆ์„ ๊ธฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ถ€ํ•ด์ฃผ์‹  ๋ถ„๋“ค๊ป˜ ์‚ฌ๊ณผ์˜ ๋ง์”€์„ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์†”์งํžˆ ๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์—๋„ˆ์ง€์™€ ์ธ๋‚ด๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ์ƒํ™ฉ์ด ๋‚ด ์ดˆ์ ์„ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋Œ๋ฆฌ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ „์— ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๋‚˜๋Š” ๋‹ค๋ฅธ ์–ด๋–ค ๊ฒƒ๋ณด๋‹ค ๋‹ค์‹œ ๊ดœ์ฐฎ๋‹ค๋Š” ๋Š๋‚Œ์„ ์šฐ์„ ์‹œํ•˜๊ฒŒ ๋งŒ๋“  ๊ฐœ์ธ์ ์ธ ์‚ถ์˜ ์ผ๋ถ€ ํ™”๋ฅผ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด์ œ ๋‹ค์‹œ ๊ดœ์ฐฎ์•„์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ™‚ ๊ทธ๋ฆฌ๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ˆ์„ ๋Œ๋ ค ๋ฐ›๊ธฐ๋ฅผ ์›ํ•˜๋ฉด ๊ธฐ๊บผ์ด ๋Œ๋ ค ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ™˜๋ถˆ์„ ์œ„ํ•ด [_๋‹น๋ถ„๊ฐ„ ์•„๋ฌด๋Ÿฐ ์กฐ์น˜๋„ ์ทจํ•˜์ง€ ์•Š์•„ ์‚ญ์ œ๋จ_]์œผ๋กœ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ฃผ์„ธ์š”! ์•ฝ์†ํ•œ ๊ฒƒ์„ ์ง€ํ‚ค์ง€ ๋ชปํ•ด ์†์ƒํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์†์ง€ ์•Š์•˜์œผ๋ฉด ํ•˜๋Š” ๋ฐ”๋žŒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์— ๊ด€ํ•ด์„œ๋Š” ์ด ๋ชฉํ‘œ๋ฅผ ๊ณ„์†ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋‚˜์„œ์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ์ด ํ”„๋กœ์ ํŠธ์˜ ์†Œ์œ ์ž๋Š” ๋” ์ด์ƒ ํ™œ๋™ํ•˜์ง€ ์•Š์ง€๋งŒ ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ทธ์™€ ์—ฐ๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋‚˜์„œ์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ์ด ํ”„๋กœ์ ํŠธ์˜ ์†Œ์œ ์ž๋Š” ๋” ์ด์ƒ ํ™œ๋™ํ•˜์ง€ ์•Š์ง€๋งŒ ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ทธ์™€ ์—ฐ๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Guy์—๊ฒŒ ์ด ํ”„๋กœ์ ํŠธ์˜ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์ธ๊ณ„ํ•˜๊ณ  App Store์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด๋ฉ”์ผ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. Catalina์˜ ์ถœ์‹œ์ผ๊นŒ์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ์ž๊ฐ€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,

Vimari๋ฅผ @danielcompton ์œผ๋กœ ์ด์ „ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ด์ „ํ•˜๊ธฐ ์ „์— ๋งˆ์ง€๋ง‰ ์˜๊ฒฌ์„ ๋…ผ์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜๊ฒฌ์ด ์žˆ์œผ๋ฉด #137์— ๊ฒŒ์‹œํ•˜์‹ญ์‹œ์˜ค.

#139์— ์ฐฌ์„ฑํ•˜์—ฌ ํ์‡„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰