Xamarin.forms: ํ•ญ๋ชฉ์˜ IsPassword ์†์„ฑ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ ๋  ๋•Œ Mac ์•ฑ์˜ ํ™”๋ฉด์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋งˆ์Šคํ‚น / ๋งˆ์Šคํ‚น ํ•ด์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 02์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: xamarin/Xamarin.Forms

๊ธฐ์ˆ 

ํ•ญ๋ชฉ์˜ IsPassword ์†์„ฑ์ด Xamarin Forms์—์„œ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด Xamarin Forms์™€ ํ†ตํ•ฉ ๋œ Xamarin Mac ์•ฑ์— ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„

  1. Xamarin Forms ์•ฑ์—์„œ password๋ผ๋Š” ํ•ญ๋ชฉ ๋งŒ๋“ค๊ธฐ
  2. Xaml์—์„œ IsPassword ์†์„ฑ์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ํด๋ฆญ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ toggle์ด๋ผ๋Š” ๋ฒ„ํŠผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. toggle_clicked
  4. ํ•ธ๋“ค๋Ÿฌ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค .IsPassword = false;
  5. ํ•ญ๋ชฉ์— ํ…์ŠคํŠธ ์ถ”๊ฐ€
  6. ํ† ๊ธ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘

๋น„๋ฐ€๋ฒˆํ˜ธ ํ•ญ๋ชฉ์˜ ํ…์ŠคํŠธ๋Š” ๋งˆ์Šคํฌ ํ•ด์ œ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

ํ•ญ๋ชฉ์˜ ํ…์ŠคํŠธ๋Š” ์—ฌ์ „ํžˆ ๋งˆ์Šคํ‚น๋ฉ๋‹ˆ๋‹ค.
๊ทธ ๋ฐ˜๋Œ€๋„ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  : ์ด๊ฒƒ์€ Mac์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (iOS, Android ๋ฐ UWP๋Š” ์ด๊ฒƒ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค)

๊ธฐ๋ณธ ์ •๋ณด

  • ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๋ฒ„์ „ : Xamarin Forms : 2.5.0.280555
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์•Œ๋ ค์ง„ ์–‘ํ˜ธํ•œ ๋ฒ„์ „ :
  • IDE : Mac ์šฉ Visual Studio
  • ํ”Œ๋žซํผ ๋Œ€์ƒ ํ”„๋ ˆ์ž„ ์›Œํฌ :

    • iOS :

    • ๊ธฐ๊ณ„์  ์ธ์กฐ ์ธ๊ฐ„:

    • UWP :

    • ๋งฅ : 4.2.1.28

  • Android ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „ :
  • Nuget ํŒจํ‚ค์ง€ :
  • ์˜ํ–ฅ์„๋ฐ›๋Š” ๊ธฐ๊ธฐ : Mac ์•ฑ

์Šคํฌ๋ฆฐ ์ƒท

๋ณต์ œ ๋งํฌ

6 low impact macOS bug

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

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Mac์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. WPF ๋ฐ GTK๋กœ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ด ์ฝ”๋“œ๊ฐ€ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ Mac์—์„œ๋Š” "password on"์ปจํŠธ๋กค ( NSSecureTextField )์ด "password off"์ปจํŠธ๋กค ( NSTextField )๊ณผ๋Š” ์™„์ „ํžˆ ๋ณ„๊ฐœ์˜ ํด๋ž˜์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— macOS์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ„๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. EntryRenderer ์—์„œ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด IsPassword ๋ณ€๊ฒฝ ๋  ๋•Œ๋งˆ๋‹ค ๊ธฐ๋ณธ ์ปจํŠธ๋กค์„ ๋‹ค์‹œ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

NSSecureTextField ๋Š” ๊ธ€ ๋จธ๋ฆฌ ๊ธฐํ˜ธ ์ œ๊ฑฐ๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ ( -[NSSecureTextFieldCell echosBullets] ) "password off"๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋‚˜์œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. echosBullets ๋ฅผ false๋กœ ์„ค์ •ํ•ด๋„ ๋‹ค๋ฅธ ๋™์ž‘์ด ์ œ๊ฑฐ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. / NSSecureTextField (์˜ˆ : ๋ณต์‚ฌ ํ•  ์ˆ˜ ์—†์Œ).

@rmarinho ๋ฐฉ๊ธˆ MacOS์— ๋Œ€ํ•œ์ด ๋ฌธ์ œ์˜ ๊ตฌํ˜„์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

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