Xamarin.forms: [๋ฒ„๊ทธ] ๋’ค๋กœ ํƒ์ƒ‰์‹œ ์…ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๊นœ๋ฐ•์ž„

์— ๋งŒ๋“  2019๋…„ 11์›” 20์ผ  ยท  58์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: xamarin/Xamarin.Forms

๊ธฐ์ˆ 

ํƒ์ƒ‰ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๊นœ๋ฐ•์ด๊ณ  ์…ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค์‹œ ํƒ์ƒ‰ ํ•  ๋•Œ ์ž ์‹œ ๊ฒ€์€ ์ƒ‰ ํ™”๋ฉด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

๋’ค๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค.

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

๊นœ๋ฐ•์ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

์‹ค์ œ ํ–‰๋™

๊บผ์งˆ ๊ฒƒ ๊ฐ™์€.

๊ธฐ๋ณธ ์ •๋ณด

  • ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๋ฒ„์ „ :
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์•Œ๋ ค์ง„ ์–‘ํ˜ธํ•œ ๋ฒ„์ „ :
  • IDE : VS 2019 16.3.9
  • ํ”Œ๋žซํผ ๋Œ€์ƒ ํ”„๋ ˆ์ž„ ์›Œํฌ :

    • iOS : ํ•ด๋‹น ์—†์Œ

    • ์•ˆ๋“œ๋กœ์ด๋“œ : 9.0

    • UWP : ํ•ด๋‹น ์—†์Œ

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

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

๋ฌธ์ œ์˜ ์Šฌ๋กœ์šฐ ๋ชจ์…˜ ๋น„๋””์˜ค : https://i.imgur.com/bWAVzgY.mp4

๋ณต์ œ ๋งํฌ

shell 3 in-progress Android bug

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

xaminals ์ƒ˜ํ”Œ๋กœ ๋„ˆ๊ฒŸ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/xamarin/Xamarin.Forms/issues/6294

๊ทธ๋ฆฌ๊ณ ์ด ๋„ˆ๊ฒŸ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊นœ๋ฐ•์ž„์ด ๋” ์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

์• ๋‹ˆ๋ฉ”์ด์…˜์—†์ด ์žฌ์ •์˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ผ์‹œ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๊นœ๋ฐ•์ž„์ด ์—†์Šต๋‹ˆ๋‹ค!

protected override bool OnBackButtonPressed() {Current.Navigation.PopAsync(false); return true;}

์•ˆ๋…•ํ•˜์„ธ์š” @ z07713! ์‹ ๊ณ  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋™์˜์ƒ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”. ์ž˜ ํ–ˆ์–ด์š” ๐Ÿ˜„

ํ˜น์‹œ ๋‹จ์ˆœํžˆ ํƒ์ƒ‰์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ฝ”๋“œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐฐ์ œํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์€ ๋ณต์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ, iOS์—์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ๊ฐ™์€ ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด iOS์—์„œ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ!

์•ˆ๋…•ํ•˜์„ธ์š” @ z07713! ์‹ ๊ณ  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋™์˜์ƒ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”. ์ž˜ ํ–ˆ์–ด์š” ๐Ÿ˜„

ํ˜น์‹œ ๋‹จ์ˆœํžˆ ํƒ์ƒ‰์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ฝ”๋“œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐฐ์ œํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์€ ๋ณต์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ, iOS์—์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ๊ฐ™์€ ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด iOS์—์„œ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ!

์•ˆ๋…•ํ•˜์„ธ์š” @jfversluis , ํšŒ์‹  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญํ•˜์‹  ์žฌํ˜„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://drive.google.com/open?id=1WkGh6QwTOP380gX4RrRsksSGBoJNWeuc

๋˜ํ•œ ๋‚˜๋Š” IOS์—์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์—†์œผ๋ฉฐ Mac์„ ์†Œ์œ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @ z07713 !

์žฌํ˜„ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€
protected override bool OnBackButtonPressed() {Current.Navigation.PopAsync(false); return true;}
AppShell.xaml์˜ ์ฝ”๋“œ ๋‚ด๋ถ€์— ์ ์šฉ๋œ ๊ฒฝ์šฐ์—๋งŒ ์ž‘๋™ํ•˜๋ฉฐ ๋ณ„๋„์˜ ํŽ˜์ด์ง€์— ๋ฐฐ์น˜ ๋œ ๊ฒฝ์šฐ์—๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด 7072์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค

์ตœ์šฐ์„  workground๋กœ์„œ OnPopAsync ์˜ ShellSection ํ•ด์ œ ์• ๋‹ˆ๋ฉ”์ด์…˜์— ๋” ๋งŽ์€ ํƒ€๊ฒŸ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

public class CustomShellSection : ShellSection
{
    protected override Task<Page> OnPopAsync(bool animated)
    {
        return base.OnPopAsync(false); // ignore the parameter
    }
}

@jfversluis ๋‚˜๋ฅผ ์œ„ํ•ด ์ด๊ฒƒ์€ iOS (13.3)์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์˜ต์…˜์ด ์•„๋‹ˆ๋ฉฐ ์šฐ๋ฆฌ๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ์ค‘์ด์—ˆ์Šต๋‹ˆ๋‹ค. 4.3์œผ๋กœ ๋กค๋ฐฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€๋ถ€๋ถ„ ์…ธ๊ณผ ์บ ๋Ÿฌ์…€์—์„œ ์ผ๋ถ€ ๋ฒ„๊ทธ๋ฅผ ๋‹ค์‹œ ์—ด ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์˜ค๋žซ๋™์•ˆ ์ž‘์—…ํ–ˆ๋Š”์ง€๋ฅผ ๊ฐ์•ˆํ•  ๋•Œ ์Šฌํ”ˆ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ํ•ด์ œํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์• ๋‹ˆ๋ฉ”์ด์…˜ ๋น„ํ™œ์„ฑํ™” ์™ธ์— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

1 ์›” 16 ์ผ ์ด์ „์—์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ต‰์žฅ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ.

PopModal ์• ๋‹ˆ๋ฉ”์ด์…˜์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

@jonx๋ฅผ ๋“ค์œผ๋‹ˆ ์œ ๊ฐ์ž…๋‹ˆ๋‹ค. 1 ์›” 16 ์ผ ์ด์ „์— ์ˆ˜์ • ํ–ˆ๋”๋ผ๋„ ๊ทธ ์ „์— ์ถœ์‹œ ํ•œ NuGet์˜ ์ผ๋ถ€๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋‹น์‹ ์˜ ์„๋ฐฉ์„ ๋ง‰๋Š” ๋ฌด์–ธ๊ฐ€๋ผ๋ฉด ๋‚˜๋Š” ๊ทธ ์˜ต์…˜์— ๋‚ด๊ธฐํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฏธ์•ˆํ•ฉ๋‹ˆ๋‹ค.

๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค @jfversluis , ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์˜๊ฒฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋ฅผ ์—ฐ๊ธฐํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.
@ z07713 ์€ ์ƒ˜ํ”Œ์„ ๋‹ค์‹œ ๊ณต์œ  ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ๋งํฌ์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์ •๋ง๋กœ ๊ฐ™์€ ๋ฌธ์ œ์ธ์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ €์—๊ฒŒ๋Š” ๊ฒ€์€ ํ™”๋ฉด ๋Œ€์‹  ๋‚ด ์•ฑ์˜ ๋‹ค๋ฅธ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์„ ์ž ๊น ๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค (๋งˆ๋ฒ•์‚ฌ์˜ ์ปจํ…์ŠคํŠธ์— ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํŽ˜์ด์ง€๋ฅผ ์—ด๋ฉด, ๋‚ด ๋งˆ๋ฒ•์‚ฌ์˜ ์ฒซ ํŽ˜์ด์ง€๊ฐ€ ์ž ์‹œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.) ๊ฐ์‚ฌ.
@jfversluis 4.4์˜ ๋ณ€๊ฒฝ์œผ๋กœ

๋‚˜๋Š” 4.3.991250์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ–ˆ๊ณ  ์‹ค์ œ๋กœ๋Š” ์กฐ๊ธˆ ๋œ ๋ถ„๋ช…ํ•œ ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. @ z07713 ์ด ๊ทธ์˜ ์˜ˆ๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋” ๋งŽ์€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

@jonx ๊ฑฐ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค : https://drive.google.com/open?id=19apVlQS0TafFeBT16aCfzvtvCwcweVgS

๋˜ํ•œ 4.3.0.991211 Forms๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ค„์„ ๋„ฃ์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๋ณดํ˜ธ ๋œ ์žฌ์ •์˜ bool OnBackButtonPressed () {Current.Navigation.PopAsync (false); true๋ฅผ ๋ฐ˜ํ™˜ํ•˜์‹ญ์‹œ์˜ค. }
๋‚ด appShell.xaml.cs์— ์žˆ๊ณ  ๊นœ๋ฐ•์ž„์ด ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ฃผ๋ณ€ ์ž‘์—…์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ... ๋ฉ‹์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ํ•จ๊ป˜ ์…ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. : |

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ์ด ๋ฌธ์ œ๊ฐ€ ๋งค์šฐ ์‹ฌํ•˜๊ฒŒ ๋ณด์ธ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜์œผ๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋  ๋•Œ๊นŒ์ง€ ์•ฑ ์ถœ์‹œ๋ฅผ ์—ฐ๊ธฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅ˜๋Š” ์–ธ์ œ ์ˆ˜์ •๋ฉ๋‹ˆ๊นŒ?

Navigation.PushAsyc(<Page Object>,false) ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜ํ…์ธ  ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ Windows UWP์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@jfversluis ์ด๊ฒƒ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@ z07713 ์ฃ„์†กํ•˜์ง€๋งŒ ์•„์ง ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค! ์šฐ๋ฆฌ์—๊ฒŒ ๋„์›€์ด ๋ ๋งŒํ•œ ์ƒˆ๋กœ์šด ๋ฐœ๊ฒฌ์„ ๋ฐœ๊ฒฌ ํ–ˆ์Šต๋‹ˆ๊นŒ?

๋”ฐ๋ผ์„œ Xamarin ํŒ€์€ UX๋ฅผ ์™„์ „ํžˆ ํŒŒ๊ดดํ•˜๋Š” ๊นœ๋ฐ•์ด๋Š” ๋ฌธ์ œ๋ฅผ ๋ช‡ ๋‹ฌ ๋™์•ˆ ์ €์žฅ์†Œ์— ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚˜์—๊ฒŒ ๋ฏธ์ณค๋‹ค. ํ˜„์žฌ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋‚ด ์•ฑ์„ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐ ๋‘ํ†ต์ด ์ƒ๊ฒผ๊ธฐ ๋•Œ๋ฌธ์— ๋„ค์ดํ‹ฐ๋ธŒ๊ฐ€๋˜์ง€ ์•Š์€ ๊ฒƒ์„ ํ›„ํšŒํ•ฉ๋‹ˆ๋‹ค.

@jfversluis ๋‚˜๋Š” ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ์ด๊ฒƒ์ด ๋ฒ„๊ทธ๋ฅผ ์ฐพ๋Š” ๋ฐ ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ณต์ œ๋ฅผ ์œ„ํ•ด Xamarin Forms 4.3.0.908675๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ‘œ์ค€ Visual Studio ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ์•ฑ์—์„œ ๊นœ๋ฐ•์ž„์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ ํ›„ Xamarin Forms ํŒจํ‚ค์ง€๋ฅผ 4.3.0.947036์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊นœ๋ฐ•์ž„์€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์‹ค์ œ Android ์žฅ์น˜ (์ œ ๊ฒฝ์šฐ์—๋Š” Samsung Galaxy A40)์—์„œ๋งŒ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” iPhone 8์—๋Š” ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊นœ๋ฐ•์ž„์„ ์œ ๋ฐœํ•˜๋Š” ๋‘ ๋ฒ„์ „๊ฐ„์— ๋ณ€๊ฒฝ์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๋ฐ•! ์•ˆ๋…•ํ•˜์„ธ์š”.

@jfversluis ์–ธ๊ธ‰ ํ•  ๊ฐ€์น˜๊ฐ€์žˆ๋Š” ์œ ์ผํ•œ ๊ฒƒ์€์ด ๋•Œ๋ฌธ์— ์‰˜ ์‚ฌ์šฉ์„ ์™„์ „ํžˆ ์ค‘๋‹จํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด @AndreasLichtsinn์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋งค์šฐ ๊ท€์ค‘ํ•œ ์ •๋ณด :)

๊นœ๋ฐ•์ž„ ๋ฌธ์ œ์— ๋Œ€ํ•ด ํ•œ ๊ฐ€์ง€ ๋” ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ์…ธ ์•ฑ์„ ๋งŒ๋“ค ๋•Œ ํ•ญ๋ชฉ ํƒ์ƒ‰ (ItemsPage ๋’ค์—์žˆ๋Š” ์ฝ”๋“œ)์„ "Navigation.PushAsync (new ItemDetailPage ())"์—์„œ "Shell.Current.GoToAsync ("itemDetailPage ", false)๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด "๊ทธ๋Ÿฌ๋ฉด Android ๊ธฐ๊ธฐ์—์„œ ๊นœ๋ฐ•์ž„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Xamarin.Forms์˜ ์›๋ž˜ 4.3.xxx ๋ฐ ์ตœ์‹  4.5.xxx ๋ฒ„์ „์—์„œ ์ด๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ ๋งํ•ด์„œ ์…ธ ํƒ์ƒ‰์—๋Š” ๋ช‡ ๊ฐ€์ง€ ํƒ์ƒ‰ ๋ฌธ์ œ (ํŽ˜์ด์ง€ ๊ฐ„ ํƒ์ƒ‰, ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ „๋‹ฌ ๋“ฑ)๊ฐ€ ์žˆ์ง€๋งŒ์ด ๋ฒ„๊ทธ๋Š” ์‹ค์ œ๋กœ ๋‚ด ๋ฆด๋ฆฌ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์…ธ์„ ์™„์ „ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ • ํ•ด์ฃผ์„ธ์š” !!!

์•ˆ๋…•ํ•˜์„ธ์š”, ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆˆ์— ๋ณด์ด๋Š” ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ํŠนํžˆ Back Button Pop์œผ๋กœ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ฒ„์ „ 4.3.0.90867์—์„œ ๊นœ๋ฐ•์ž„์ด ์—†์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„ ๋ฒ„์ „์„ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ๋ฒ„์ „ 4.5.0.356์—์„œ ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋งˆ์ง€๋ง‰ ์•ˆ์ • ๋ฒ„์ „์—์„œ ์—ฌ์ „ํžˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ํŠนํžˆ Back Button Pop์œผ๋กœ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@kevinjpetersen ์ด๊ฒƒ์€ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ž‘๋…„ 11 ์›” ์ค‘์ˆœ๋ถ€ํ„ฐ ๊ฐœ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ณ ์˜ ๊ธˆ์‹! ์ˆ˜์ • ์‚ฌํ•ญ์€ v 4.3.0.90867์—์„œ @tdamir ๊ฒฐ๊ณผ๋ฅผ ์‹œํ—˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ •๋ณด :์ด ์ปค๋ฐ‹์— ๋ฒ„๊ทธ๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค : https://github.com/xamarin/Xamarin.Forms/commit/2b4ccdc88f8db7a2a0b78a1adf3428125eb677b5

์ด ์ค„์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499
๊นœ๋ฐ•์ž„์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋ณด๋‹ค ๋” ๋งŽ์€ ๊ฒฝํ—˜์ด์žˆ๋Š” ์‚ฌ๋žŒ์ด ์ด๊ฑธ ๋“ค์—ฌ๋‹ค ๋ณผ ์ˆ˜ ์žˆ๊ฒ ์ง€ ...

๋‚˜๋Š” ์ด๊ฒƒ์„ ๋””๋ฒ„๊น…ํ–ˆ๊ณ  ์ฒ˜์Œ์— ํŽ˜์ด์ง€๋ฅผ ์ œ๊ฑฐํ•œ ๋‹ค์Œ ๋‚ด๋น„๊ฒŒ์ด์…˜์„ ํ˜ธ์ถœํ•˜๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊นœ๋ฐ•์ž„์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ : https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L600

์ด๊ฒƒ์„ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค :

            _navigationRequested?.Invoke(this, args);
            if (args.Task != null)
                await args.Task;
            RemovePage(page);

์ด์—:

            RemovePage(page);
            _navigationRequested?.Invoke(this, args);
            if (args.Task != null)
                await args.Task;

@tdamir ์•„์ฃผ ์ข‹์€ ๋ฐœ๊ฒฌ!

๊ท€ํ•˜์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ •ํ™•ํ•œ @tdamir ๋ฅผ ์ œ๊ณตํ•˜๋ฉด UI-Thread-UI์—์„œ ์ปจํ…์ŠคํŠธ ์ „ํ™˜์œผ๋กœ ์ธํ•ด args.Task ๊ฐ€ ๋Œ€๊ธฐ ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—…์€ ํ•ญ์ƒ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L302

Android์—์„œ๋Š”์ด ๋ฉ”์„œ๋“œ์˜ args.Task ๊ฐ€ ํ•ญ์ƒ Task.FromResult(...) ์ด์ง€๋งŒ
https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L134
ํ•˜์ง€๋งŒ ๋” ๊ฐ€๋Šฅ์„ฑ์žˆ๋Š” ๋ฒ”์ธ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์„ธ์š”
https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L252 -L259

ํƒ์ƒ‰์‹œ ๋ฐฐ๊ฒฝ์ƒ‰์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค (ํ•ญ์ƒ ํ™•์‹คํ•˜์ง€๋Š” ์•Š์Œ)! ์™œ?

๋˜ํ•œ ํƒญ ๋‚ด์—์„œ๋งŒ ๊นœ๋ฐ•์ž„์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•ด์•ผ ํ•  ๋งŽ์€ ํ…Œ์ŠคํŠธ.

@tdamir ๋ฐ @ahmedalejo ๋Œ€๋‹จํ•œ ์ž‘์—…! :)

@ahmedalejo ์ฟจ fidings! ๊ทธ๋ƒฅ ํƒญ์ด๋ผ๊ณ ๋Š” ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜‘๊ฐ™์€ ๊นœ๋ฐ•์ž„์ด ์žˆ๊ณ  ๋‚ด๊ฐ€ ๊ฐ€์ง„ ๊ฒƒ์€ ๋‚ด AppShell (์ผ๋ช… TabBar ์—†์Œ)์— ์žˆ์Šต๋‹ˆ๋‹ค.

<?xml version="1.0" encoding="UTF-8"?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms" 
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
       xmlns:d="http://xamarin.com/schemas/2014/forms/design"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       xmlns:views="clr-namespace:MyApp.Views"
       mc:Ignorable="d"
       Title="MyApp"
       Visual="Material"
       Shell.BackgroundColor="{StaticResource JFBlack}"
       Shell.TitleColor="{StaticResource JFWhite}"
       Shell.ForegroundColor="{StaticResource JFWhite}"
       FlyoutBehavior="Disabled"
       Shell.TabBarIsVisible="False"
       x:Class="MyApp.AppShell">

    <ShellContent Route="login">
        <views:LoginPage />
    </ShellContent>
    <ShellContent Route="overview">
        <views:OverviewPage />
    </ShellContent>

</Shell>

@ahmedalejo ๋„ค, ์ƒ‰์ƒ ๋ณ€๊ฒฝ ๋ถ€๋ถ„์ด ์ด์ƒํ•˜์ง€๋งŒ ์ œ๊ฑฐํ•ด๋„ ์—ฌ์ „ํžˆ ๊นœ๋ฐ•์ž…๋‹ˆ๋‹ค.

ํƒ์ƒ‰ํ•˜๊ธฐ ์ „์— https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499 ๋ฅผ ํ˜ธ์ถœํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @PureWeen ๊ณผ @rmarinho

์•„๋ž˜์—์„œ SendAppearanceChange() ์ „ํ™”ํ•˜๋Š” ์ด์œ ๋ฅผ ์•„์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499

๊นœ๋ฐ•์ด๋Š” ์›์ธ์ด๋ฉ๋‹ˆ๊นŒ?

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์กฐ์–ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์†”๋ฃจ์…˜

protected override bool OnBackButtonPressed() 
{
  Current.Navigation.PopAsync(false); return true;
}

์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค (https://github.com/xamarin/Xamarin.Forms/issues/8581#issuecomment-569583965 ๋•๋ถ„์—).

    public class CustomTab : Tab
    {
        protected override Task<Page> OnPopAsync(bool animated)
        {
            // temporary workaround while https://github.com/xamarin/Xamarin.Forms/issues/8581 not fixed
            return base.OnPopAsync(animated: false); 
        }
    }

๊ทธ๋Ÿฐ ๋‹ค์Œ XAML์—์„œ CustomTab์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ์ˆ˜์ •์€ ํ•˜๋“œ์›จ์–ด ๋’ค๋กœ ๋ฒ„ํŠผ ํƒ์ƒ‰์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค (๋‹ค๋ฅธ ๋’ค๋กœ ํƒ์ƒ‰ ์ผ€์ด์Šค์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Œ).

protected override bool OnBackButtonPressed() 
{
  Current.Navigation.PopAsync(false); return true;
}

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @pfedotovsky ๋‚˜๋Š” ํƒญ ํƒ์ƒ‰๊ณผ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

4.3 ์ดํ›„ Android์—์„œ ๊นœ๋ฐ•์ž„์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ๊ฐ€ 1 ๋…„ ๊ธฐ๋…์ผ์— ์žˆ์Œ์„ ๋ฐฉ๊ธˆ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. [Shell] ํƒ์ƒ‰-๊นœ๋ฐ•์ž„ # 5755

ํ™”๋ฉด์ด ๊นœ๋ฐ•์ผ ๋•Œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด :
https://github.com/mallibone/ShellLoginSample

@ahmedalejo๋ฅผ ํƒ์ƒ‰ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

https://github.com/xamarin/Xamarin.Forms/pull/10158

๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋„ˆ๊ฒŸ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results

xaminals ์ƒ˜ํ”Œ๋กœ ๋„ˆ๊ฒŸ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/xamarin/Xamarin.Forms/issues/6294

๊ทธ๋ฆฌ๊ณ ์ด ๋„ˆ๊ฒŸ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊นœ๋ฐ•์ž„์ด ๋” ์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@PureWeen Ok ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ์Šต๋‹ˆ๋‹ค.

Xamarin Forms 4.3.0.908675-> ๊นœ๋ฐ•์ž„ ์—†์Œ์œผ๋กœ ์ƒˆ ์…ธ ์ƒ˜ํ”Œ ์•ฑ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ์•ˆ์ •๋œ 4.5.0.495๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.-> ๊นœ๋ฐ•์ž„
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค 4.6.0.1693์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.-> ๊นœ๋ฐ•์ž„ ์—†์Œ

ํ›Œ๋ฅญํ•œ ์ผ! ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@PureWeen Ok ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ์Šต๋‹ˆ๋‹ค.

Xamarin Forms 4.3.0.908675-> ๊นœ๋ฐ•์ž„ ์—†์Œ์œผ๋กœ ์ƒˆ ์…ธ ์ƒ˜ํ”Œ ์•ฑ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ์•ˆ์ •๋œ 4.5.0.495๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.-> ๊นœ๋ฐ•์ž„
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค 4.6.0.1693์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.-> ๊นœ๋ฐ•์ž„ ์—†์Œ

ํ›Œ๋ฅญํ•œ ์ผ! ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@AndreasLichtsinn์—์„œ Xamarin Forms 4.6.0.1693์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@PureWeen Ok ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ๋ฅผํ–ˆ์Šต๋‹ˆ๋‹ค.

Xamarin Forms 4.3.0.908675-> ๊นœ๋ฐ•์ž„ ์—†์Œ์œผ๋กœ ์ƒˆ ์…ธ ์ƒ˜ํ”Œ ์•ฑ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ์•ˆ์ •๋œ 4.5.0.495๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.-> ๊นœ๋ฐ•์ž„
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค 4.6.0.1693์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.-> ๊นœ๋ฐ•์ž„ ์—†์Œ

ํ›Œ๋ฅญํ•œ ์ผ! ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@AndreasLichtsinn ๋‚˜๋„ 1693 ๋นŒ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค! ๋˜ํ•œ 4.7.0.531-nightly๊ฐ€ ์—ฌ์ „ํžˆ ๊นœ๋ฐ•์ž…๋‹ˆ๋‹ค.

@angelru @RsZoli PureWeen ์ด ๊ฒŒ์‹œ ํ•œ ์•„ํ‹ฐํŒฉํŠธ์— ์žˆ์Šต๋‹ˆ๋‹ค.
image

@angelru ํ…Œ์ŠคํŠธ

@angelru ํ…Œ์ŠคํŠธ

@PureWeen ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ค ๋‹น์‹ ์€ @AndreasLichtsinn ์„ ์ธ์šฉ

ํ…Œ์ŠคํŠธ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @AndreasLichtsinn !!!

์•ˆ ์ ค๋ฃจ
๋งํฌ๋กœ ์ด๋™ :
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
์—ฌ๊ธฐ๋ฅผ ํด๋ฆญํ•˜์„ธ์š” :
image
๊ทธ๋Ÿฐ ๋‹ค์Œ ์—ฌ๊ธฐ :
image
๊ทธ๋Ÿฐ ๋‹ค์Œ zip์˜ ์••์ถ•์„ ํ’€๊ณ ์ด ํด๋”์— ๋กœ์ปฌ nuget ํŒจํ‚ค์ง€ ์†Œ์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
image
๊ทธ๋Ÿฐ ๋‹ค์Œ์ด ๋กœ์ปฌ ํŒจํ‚ค์ง€ ์†Œ์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ฑฐ๊ธฐ์—์„œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
image

์•ˆ ์ ค๋ฃจ
๋งํฌ๋กœ ์ด๋™ :
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
์—ฌ๊ธฐ๋ฅผ ํด๋ฆญํ•˜์„ธ์š” :
image
๊ทธ๋Ÿฐ ๋‹ค์Œ ์—ฌ๊ธฐ :
image
๊ทธ๋Ÿฐ ๋‹ค์Œ zip์˜ ์••์ถ•์„ ํ’€๊ณ ์ด ํด๋”์— ๋กœ์ปฌ nuget ํŒจํ‚ค์ง€ ์†Œ์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
image
๊ทธ๋Ÿฐ ๋‹ค์Œ์ด ๋กœ์ปฌ ํŒจํ‚ค์ง€ ์†Œ์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ฑฐ๊ธฐ์—์„œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
image

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค !!! ํšจ๊ณผ๊ฐ€์žˆ๋‹ค!

Xamarin Forms 4.6.0.1693์— ๊นœ๋ฐ•์ž„์ด ์—†์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ!

ํ์‡„ # 10158

์ตœ์‹  Xamarin ์–‘์‹ 4.8๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. iOS์—์„œ TextType = 'Html'๋ ˆ์ด๋ธ”์ด์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. # 12385

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