https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=windows#uiwebview -deprecation-and-app-store-rejection-itms-90809
๊ฐ๋ฐ์๋๊ป,
๊ทํ์ ์ฑ 'xxxx'1.0.11 (1.0.11)์ ์ต๊ทผ ์ ์ก์์ ํ๋ ์ด์์ ๋ฌธ์ ๋ฅผ ํ์ธํ์ต๋๋ค. ๋ฐฐ์ก์ด ์ฑ๊ณต์ ์ผ๋ก ์ด๋ฃจ์ด์ก์ง๋ง ๋ค์ ๋ฐฐ์ก์์ ๋ค์ ๋ฌธ์ ๋ฅผ ์์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ITMS-90809 : ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ API ์ฌ์ฉ-Apple์ UIWebView API๋ฅผ ์ฌ์ฉํ๋ ์ฑ ์ ์ถ์ ๋ ์ด์๋ฐ์ง ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ https://developer.apple.com/documentation/uikit/uiwebview ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๋ฌธ์ ๋ฅผ ์์ ํ ํ Xcode ๋๋ Application Loader๋ฅผ ์ฌ์ฉํ์ฌ App Store Connect์ ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ๋ก๋ ํ ์ ์์ต๋๋ค.
์น์ ํ๋,
์ฑ ์คํ ์ด ํ
ํ์ง๋ง UIWebView๋ฅผ WKWebView (WKWebViewRenderer)๋ก ๋์ฒดํ๋ค๊ณ ํ์ ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ๋ฐ์ํ๊ณ ์์ต๋๋ค. Xamarin.Forms 3.6.0.539721
iOS์ WebViewRenderer๊ฐ UIWebView๋ฅผ ๊ตฌํํ๊ณ WkWebViewRenderer๋ฅผ ์ ํํ๋๋ผ๋ ํ์ผ์ด ์ ์ง๋๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ฒ์ ์ Forms์์์ด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๋น๋ ์ค์ ํด๋น ํ์ผ์ ๋งํฌํ๋ ๋ฐฉ๋ฒ์ด ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@ swansca79- ๊ทธ๊ฒ ๋ด๊ฐ ๋๋ ค์ํ๋ ๊ฒ์ ๋๋ค. ๋๋ ์ฐ๋ฆฌ๊ฐ ๋น์ ์ด ๋งํ๋๋ก ๊ทธ๊ฒ์ ์ฐ๊ฒฐํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ด ์๊ตฌ ์ฌํญ์ ๋ํ Apple์ ๊ธฐํ์ ๋ฌด์์ ๋๊น? ๋๋ ์๋ฌด๊ฒ๋ ์ฐพ์ ์ ์์๋ค ...
๋๋ ์ด๊ฒ์ด ์๋ก์ด ์ ์ถ์ด๋ ์ ๋ฐ์ดํธ์ด๋ ์๊ด์์ด ๋ชจ๋ ์ฑ์ ์ํฅ์ ๋ฏธ์น ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด์ ๋ ๋๋ฌ๋ฅผ ์ฐ๊ฒฐํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์์ค ์ฝ๋์์ ์ ๊ฑฐํด์ผํฉ๋๋ค. ๋ํ ์ด๊ฒ์ด iOS 13 ์๊ตฌ ์ฌํญ์ธ์ง ์๋์ง ํ์ธํด์ผํฉ๋๋ค.
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. Xamarin.Forms 4.2.0.709249๋ฅผ ์ฌ์ฉํ๊ณ
iOS ํ๋ก์ ํธ์ AssemblyInfo.cs ์ ๋ค์ ์ค์ ์ถ๊ฐํ์ง๋ง ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
[assembly: ExportRenderer(typeof(WebView), typeof(Xamarin.Forms.Platform.iOS.WkWebViewRenderer))]
์ ํ์ ์ฑ ์ ์ถ ๋ง๊ฐ์ผ๋ ์๊ณ ์ถ์ต๋๋ค.
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด ์์ฒญ์ ๋ํ Apple์ ๋ง๊ฐ์ผ์ ์๋ ์ฌ๋์ด ์์ต๋๊น? ๋๋ Xamarin์ด์ด ์
๋ฐ์ดํธ์์ ์์
์ค์ธ ๊ฒฝ์ฐ
UIWebView๋ ์์ง iOS13 ๋ฒ ํ ๋ฒ์ ์ด๋ฏ๋ก iOS14๊น์ง์์ ์ ์์ต๋๋ค.
Xamarin.Forms.iOS ๋ ๋๋ฌ ํด๋๋ฅผ ์ดํด๋ณด๋ฉด 2 ๊ฐ์ ์ ์ WKWebViewRender๋ฅผ ์ถ๊ฐํ์์ ์ ์ ์์ต๋๋ค. ํด๋น ๋ ๋๋ฌ์์ ์์ํ๋ ์์ฒด WebView๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค (ํ๋ก์ ํธ์ ์ต์ ๋ฒ์ ์ XF๊ฐ์๋ ๊ฒฝ์ฐ ์ฝ๋๋ฅผ ๋ณต์ฌ / ๋ถ์ฌ ๋ฃ๊ธฐ ํ ์ ์์).
์ฌ๋ฌ๋ถ, ์ด์ํ ์ ์ ๋ฐ๊ฒฌํ๊ณ ์ฑ ๋ฒ๋ค ์๋ณ์๋ฅผ ๋ณ๊ฒฝํ์ฌ ๋ค์ ์ฑ ์คํ ์ด์ ์ ์ถํ๋๋ฐ ์ ํ๋ก๋ถํฐ ๊ฒฝ๊ณ ์ด๋ฉ์ผ์๋ฐ์ง ๋ชปํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด ์ํฉ : 3 ์ผ ์ ์ ipa๋ฅผ testflight์ ์ ์ถ ํ ํ Apple๋ก๋ถํฐ ๊ฒฝ๊ณ ์ด๋ฉ์ผ์๋ฐ์ง ๋ชปํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ webview์ ๊ด๋ จ์ด์๋ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ํ ์ด๋ฉ์ผ์๋ฐ์ ๋ค์ ์ฐพ์ผ๋ ค๊ณ ํฉ๋๋ค. ์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก :
1. UIWebViewRenderer๋ฅผ WKWebViewRenderer๋ก ๋ฐ๊พธ์ญ์์ค.
2. WebView ์ ๊ฑฐ;
3. ํ์ฌ nuget lib๋ฅผ ์ ๊ฑฐํฉ๋๋ค (์ต๊ทผ์ ์ถ๊ฐํ์ต๋๋ค);
๊ทธ๋ฌ๋ ๊ทธ๋ค์ ๊ฒฝ๊ณ ์ ๋ํด ์ธ๋ชจ๊ฐ ์์ต๋๋ค (๋๋ ์ฌ์ ํ ๊ฒฝ๊ณ ์ด๋ฉ์ผ์๋ฐ์ต๋๋ค).
์ ํ์ด ipa๋ฅผ ์ด๋ป๊ฒ ํ์ธํ๋์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ, ๊ทธ๋ค์ด ์ค์๋ฅผ ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
์ต๊ทผ ์ด๋ฐ ์ํฉ์ด ํ๋ฌํฐ์ ๋ฆฌ ์กํธ ๋ค์ดํฐ๋ธ๋ก ๋ํ๋๋ค๋ ๊ฒ์ ์๊ฒ๋์์ต๋๋ค. (๊ฐ๋ฐ์๋ค๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.)
@ Carl-Wen ์ด๊ฒ์ Ionic ์ฑ์์๋ ๋ฐ์ํฉ๋๋ค.
์ค๋ Apple Store Connect์์ ๋์ผํ ๋ฉ์์ง๋ฅผ ๋ฐ์์ต๋๋ค. ์ด์ํ ์ ์ ๋ด ์์ฉ ํ๋ก๊ทธ๋จ์ ์น๋ณด๊ธฐ๊ฐ ์๋ค๋ ๊ฒ์
๋๋ค. ๋ํ Xamarin ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉํ๋์ง ํ์ธํ๋ ค๊ณ ์๋ํ์ง๋ง UIWebView๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ ๊ฐ์์ต๋๋ค (์ข
์์ฑ ์ข
์์ฑ๋ ์๊ธฐ ๋๋ฌธ์ 100 % ํ์คํ์ง๋ ์์ต๋๋ค).
๋๊ตฌ๋ ์ง ์์ฉ ํ๋ก๊ทธ๋จ์์ UIWebView ์ฌ์ฉ์ ์๋ณํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น?
๋์๊ฒ๋ ๊ฐ์ ์ผ์ด ์ผ์ด๋ฉ๋๋ค. ์ฑ์ ์ฒ์ ์ ์ถํ๋ ค๊ณ ํ ๋
์ค๋ iTunesConnect์์ ๋์ผํ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ต๋๋ค.
๋ฉฐ์น ์ ์๋ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์ฌ๊ธฐ์์ ๋ด ๋๋ต์ ํ์ธํ์ญ์์ค. Xamarin.Forms 3.6.x์ ํ๋ก์ ํธ๊ฐ ์์ผ๋ฉฐ ์ผ๋ถ ์น๋ณด๊ธฐ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก iOS ์ ์ฉ WebView ์ฉ ์ฌ์ฉ์ ์ง์ ๋ ๋๋ฌ๋ฅผ ๋ง๋ค๊ณ ์์์ UIWebViewRenderer
์์ WKWebViewRenderer
์ด์ ์คํ ์ด์ ์ ํ๋ฆฌ์ผ์ด์
์ ์
๋ก๋ํ๋๋ฐ ๊ฒฝ๊ณ ๋ฅผ๋ฐ์ง ๋ชปํ์ต๋๋ค.
๊ฐ์ ๋ฌธ์
@FabriBertani ์ปค์คํ ๋ ๋ ์ฝ๋๋ฅผ ๊ณต์ ํด ์ฃผ์๊ฒ ์ต๋๊น?
๋์ผํ ๋ฌธ์ ๊ฐ ์์ง๋ง ๋ด ์ฑ์์ ์น๋ณด๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. Apple์ด Xamarin.iOS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฌ์ฉ๋์ ๊ฐ์งํ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ด๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ์ฑ์ ์ ๋ก๋ ํ ๋๋ ๋ฐ์ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ WebView๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ Xamarin ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ UIWebView ๋๋ฌธ์ @dhewitson ์ด ์ณ์ ๊ฒ ๊ฐ์ต๋๋ค.
์ ์ด ํ ์์๋ UIWebView๋ฅผ ์ฌ์ฉํ๋ ํจํค์ง๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ผ๋ฐ XF WebView ๋์ ์ฌ์ฉ์ ์ง์ rendrer๋ฅผ ์ฌ์ฉํ์ญ์์ค.
namespace YourAppNameSpace
{
public class CustomWebView : WebView
{
}
}
[assembly: ExportRenderer(typeof(CustomWebView), typeof(CustomWebViewRenderer))]
namespace YourAppNameSpace.iOS
{
public class CustomWebViewRenderer : WkWebViewRenderer
{
}
}
๊ฐ์ ๋ฌธ์ , ๋๊ตฌ์๊ฒ ์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์๋ ๋ชจ๋๋ค! ๋ณด๊ณ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ถ์ ํ๊ณ ์์ผ๋ฉฐ WkWebView
๋ํ ๋ ๋๋ฌ๊ฐ ์ด๋ฏธ ํ๋์ ์๋ฆฌ์ ์์ต๋๋ค. ๋๋ ๊ทธ ๋ ๋๋ฌ๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง๋ค๊ณ UIWebView
๋ ์ด์ ์ฌ์ฉํ์ง ์๋ PR์ ์งํํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด์ด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋๋ค.
๋๋จธ์ง ํ์๋ค๋ก๋ถํฐ ๋ด PR์ ๋ํ ๋ฆฌ๋ทฐ์ ํผ๋๋ฐฑ์ ๊ธฐ๋ํ์ง๋ง ๊ณง ํด๊ฒฐ ๋ ๊ฒ์ ๋๋ค.
@jfversluis ์๋
ํ์ธ์. ์ด์ ๋ฒ์ ์ XamarinForms์ ์์ ์ฌํญ์ ์ ์ฉ ํ ์ ์์ต๋๊น?
3.4.0.1009999๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ต์ ๋ฒ์ ์ Xamarin.Forms๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๋ฐ ๋ง์ ๋
ธ๋ ฅ์ด ํ์ํฉ๋๋ค.
@ngoquoc ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ด์ ๋ฒ์ ์ผ๋ก ๋ฐฑ ํฌํธ ํ ์ ์์ง๋ง, 3.4๋ก ๋๋๋ฆด ๊ฒ์ด๋ผ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐ ๋๋ฌด ๋ง์ ๋ ธ๋ ฅ์ด ๋๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ทธ ์์ญ์ ์กฐ์ฌ ํ ๊ฐ์น๊ฐ์์ ๊ฒ์ ๋๋ค. :)
@jfversluis ๋ฒ๊ฐ ๋น ๋ฅธ ๋ต์ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค : D
์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ ํ ๊ฐ์น๊ฐ ์๋ค๋ ๋ฐ ์ ๋์ ์ผ๋ก ๋์ํ์ง๋ง ์ํฉ์ ๊ณํ๋ ์ถ์ ๊ธฐํ์ ์ ๋ง ๊ฐ๊น์์ก์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์ต์ ๋ฒ์ ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ์ฉํ ๋ฟ๋ง ์๋๋ผ ๋ง์ ๋ ๊ฑฐ์ ์ข
์์ฑ (์ต๋ XF 3.x ๋ง ์ง์)์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
@ngoquoc ๋ฌธ์ ์์ต๋๋ค! ๋๋ ์์ ํ ์ดํดํ๋ค! ๋ค์ ๋ฆด๋ฆฌ์ค์์๋ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฐพ๋ ๊ฒ์ด ํ๋ช ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ณง ์ง์ ์ค๋จ๋๊ฑฐ๋ ์ง์ ์ค๋จ ๋ API๊ฐ ๋์์ ์ ์์ต๋๋ค. ์ ๊ทธ๋ ์ด๋ ๊ฒฝํ์ ๊ฐ์ ํ๊ธฐ ์ํด ํ ์์๋ ์ผ์ด ์์ผ๋ฉด ์ฐ๋ฝํด์ฃผ์ธ์!
์ด ๋ฌธ์ ์ ์์ ์ฌํญ์ 3.4์ ์ ์ฉ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. 4.x๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์ฐ๋ฆฌ ๊ณํ์ ์ ๋์ ์ผ๋ก ํฌํจ๋์ด ์์ผ๋ฉฐ ๋์์ด ํ์ํ๋ฉด ํ์ ์ฐ๋ฝ ํ ๊ฒ์ ๋๋ค. ์ง์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
@ngoquoc ์ด์จ๋ ์์์ ์์ฑํ ๊ฒ์ฒ๋ผ ipa๋ฅผ ์
๋ก๋ ํ ์ ์์ผ๋ฉฐ iOS13์์๋์ด ํด๋์ค๊ฐ ์ฌ์ ํ ์์ต๋๋ค.
๊ทธ๋์ ์ด๊ฒ์ ํ๋์ ์๋ํฉ๋๋ค
@KSemenenko "๊ฒฝ๊ณ "์ฑ๋ Apple ์คํ ์ด์ ๊ฒ์ ํ ์ ์๋ค๋ ๋ป์
๋๊น?
๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด, ์ฐ๋ฆฌ๋ ์ง์ ํ๊ณ WKWebView ๋ก์ ์ ํ์ ์ข ๋ ์ฐ๊ธฐ ํ ์ ์์ต๋๋ค. : D
๋์ ์ ์ผํ ๊ด์ฌ์ฌ๋ Apple์ด ๊ฒฝ๊ณ ์ ํจ๊ป ๊ทธ๋ฌํ ์ ์ฒญ์ ์น์ธํ๋์ง ์ฌ๋ถ์
๋๋ค.
์ฌ๊ธฐ์์ ์ง์ ์ค๋จ์ ๋ํ ๊ฒ์ ๋ ์ ๋ณด๋ฅผ ์ฐพ์์ง๋ง ๊ณต์ ๋ง๊ฐ์ผ / Apple ์คํ ์ด ๋ฆฌ๋ทฐ ์ ์ฑ
์ด ์ง์ ๋์ง ์์์ต๋๋ค. https://developer.apple.com/documentation/uikit/uiwebview
@ngoquoc ์ญ์ฌ์ ์ผ๋ก ์, ์ง๊ธ์ ์ฌ์ ํ โโํด๋น ์ฑ์ ์น์ธ ํ ๊ฒ์ ๋๋ค. ๊ฒฝ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก "์ง๊ธ์ ์ฑ์ ์น์ธ ํ ๊ฒ์ด์ง๋ง ์์ผ๋ก๋ ๊ทธ๋ ๊ฒํ์ง ์์ ๊ฒ์ด๋ฏ๋ก ์ต๋ํ ๋นจ๋ฆฌ ์ ํํด์ผํฉ๋๋ค"๋ผ๊ณ ๋งํฉ๋๋ค. ๊ทธ๋ค์ด ๊ทธ๊ฒ์ ์ค๋ฅ๋ก ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ธฐ ์ ์ ๊ฒ์ํ๋ ํ ๋น์ ์ ์ข์ต๋๋ค.
๊ฐ์ฌ. ์ง๊ธ ์ฑ์ ์ ์ถํ๊ณ Apple์ด ๊ฒํ ํ ํ ๋ฉฐ์น ๋ด์ ๊ฒฐ๊ณผ๋ฅผ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค. :)
@ngoquoc ์ด์ ipa๋ฅผ AppStore์ ์ ๋ก๋ ํ ์์์์ต๋๋ค.
๋ณต์ฌ ํ ๊ณณ
https://github.com/xamarin/Xamarin.Forms/pull/7367#issuecomment -527558598
๋ด ํ์ฌ ์๊ฐ์ ๊ทธ ๋ ๋๋ฌ๊ฐ ์ฐ๊ฒฐ๋์ง ์๋ ์ด์ ๋ฅผ ์์๋ด๋ ๊ฒ์ ๋๋ค (์ ๊ฐ ์ฝ๊ฐ ์์ ํด ์์ต๋๋ค). RenderWith๋ก ์ธํด ๋ ๋๋ฌ๊ฐ ์ฐ๊ฒฐ๋์ง ์์ผ๋ฉด ๋๋ ๊ทธ๊ฒ์ ์๊ฐํ์ง ์๊ณ ํฌ์๋ ์ ์ฒด๊ฐ ์ด๋ค ์ฉ๋๋ก๋ ์ฌ์ฉ๋ฉ๋๋ค (๋ง์ต๋๊น?)
์ด ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์ ํ (์ด PR์์์ ๊ฐ์ด)์ ์ ํ ํ ๋ค์ WebViewRenderer๋ฅผ ๊ทธ๋๋ก ๋ ์ ์์ต๋๋ค. ์ฌ๋๋ค์ด WebViewRenderer๋ก ๋๋๋ ค ์ผํ๋ ๊ฒฝ์ฐ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ถ๊ฐ ํ ์ ์์ง๋ง ์ฌ๋๋ค์ด ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ฐ.
๋ด๊ฐ ์ฐพ์ ํ ๊ฐ์ง ์ด์ ๋ ํ๋ซํผ ์ด์
๋ธ๋ฆฌ ๋ชจ๋์
์ด์
๋ธ๋ฆฌ ์์ค์์ ์ง์ ๋ PreserveAttribute ๋ ์ด์
๋ธ๋ฆฌ๊ฐ ๋ชจ๋ ํ์์ ์ ์งํ๋๋กํฉ๋๋ค.
ํ๋ซํผ ํ๋ก์ ํธ์ ๋๋ฏธ ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ PreserveAttribute๋ฅผ ์ฌ์ฉ ํ์ฌ ํด๋์ค๊ฐ ์ฃผ๋ณ์ ๋จธ๋ฌผ๋ฌ ์์ง๋ง PreserveAttribute ๊ฐ ์์ผ๋ฉด
๋ ๋๋ฌ๋ ์ฌ์ ํ ๋ชจ๋ ๋ถ์ด ์์ต๋๋ค :-) ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์๊ธฐ ๋จ๊ณ์ ๋๋ค.
CheckboxRendererDesigner ํด๋์ค๋ก ๋น ๋ฅธ ํ ์คํธ๋ฅผ ์คํํ์ต๋๋ค (์ค์ ๋ก ์ด๋์์๋ ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค).
์ด ๋ ์ค์ ์ฝ๋๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ๋ฉด
https://github.com/xamarin/Xamarin.Forms/blob/d56942c5bee0a7c56255febc8bbcc6bc33d5e1cb/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs#L128
๊ทธ๋ฐ ๋ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
์ด๋ฌํ ํฌ์๋ ํ๋ก์ ํธ์์ RenderWith์ ์๋ ๋ ๋ชฉ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
https://github.com/xamarin/Xamarin.Forms/blob/bcf1d857f70c2d521fdbf59bd73445c7e77fe1fc/Stubs/Xamarin.Forms.Platform.cs#L112
๊ธฐ๋ํ๋ ์ถฉ๋ถํ ์ฝํ ์ฐ๊ฒฐ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
Checkbox (forms ์์) ์์ฒด๊ฐ ์ฐ๊ฒฐ๋์ง ์์ RenderWith ์์ฑ์ด ๋ ๋๋ฌ๋ฅผ ์ ์งํ๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
CheckboxRendererDesigner ๋ฅผ ๋ณ๊ฒฝํ์ฌ ์กด์ฌํ์ง ์๋ ํด๋์ค์ ์์ฑ์ ๋ถ์ฌํ๋ฉด
```C #
[RenderWith (typeof (CheckBoxRenderer))]
๋ด๋ถ ํด๋์ค _CheckBoxRenderer {}
[RenderWith(typeof(CheckBoxDesignerRenderer))]
internal class _CheckBoxRendererIsMyNameo { }
```
๊ทธ๋ฐ ๋ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค ...
๋ฐ๋ผ์ CheckBox๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์ ๋ด์ผํฉ๋๋ค.
์ด๋ ๊ฒํ๋ฉด ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ง๋ ๊ฒ์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ณด์ จ์ต๋๊น?
https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment -527294907
๋ฟก๋ฟก
๋๋ฅผ ์ํด ์๋ํ์ง ์์๊ณ , ์ด์ ๋ธ๋ฆฌ ํ์ผ์ ๋ ๋๋ฌ์ ํญ๋ชฉ์ด ๋ชจ๋ ์๊ณ ์ฌ์ ํ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
WKWebViewRenderer๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก๋์ด ๊ฒฝ๊ณ ์ด๋ฉ์ผ์ ์ถฉ๋ถํ์ง ์๋ค๋ ๋ป์ ๋๊น?
๋ฟก๋ฟก
๋๋ฅผ ์ํด ์๋ํ์ง ์์๊ณ , ์ด์ ๋ธ๋ฆฌ ํ์ผ์ ๋ ๋๋ฌ์ ํญ๋ชฉ์ด ๋ชจ๋ ์๊ณ ์ฌ์ ํ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ UIWebView๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ํจํค์ง๊ฐ์์ ์ ์์ต๋๋ค. ํด๋น ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ App Store์์ ๊ฒฝ๊ณ ๋ฅผ๋ฐ์ง ์์ต๋๋ค. :)
์๋ ํ์ธ์ @ngoquoc ๊ฒํ ๊ณผ์ ์ ์์ง ์ด์ด ์๋์?
'๊ฒฝ๊ณ '์ ๊ด๊ณ์์ด ๊ฒํ ๋ฅผ ์ํด ์ ์ถํ๋ฉด ์ฑ ๋ง๊ฐ์ผ์ด ์ง ๋ฌ๋์ง ์๊ณ ์ถ์ต๋๋ค.
์ ํ์ด IPA ํ์ผ์ ๊ฑฐ๋ถํ๋ ์ด์ ๋ฅผ ์ธ์ ๋ถํฐ ํ๋จํ ์ง ์์์ผํฉ๋๋ค. ๋๋ ๊ทธ๋ค์ด ์ด๊ฒ์ ๊ณต๊ฐ์ ์ผ๋ก ๋ฐํํ์ง ์์๊น ๋๋ ต๋ค.
์ค๋ ๋ด ์ฑ์ด ์ ํ ๋ฆฌ๋ทฐ๋ฅผ ํต๊ณผํ๋ค๋ ํธ์ง๋ฅผ ๋ฐ์์ต๋๋ค
๊ทธ๋์ ์ง๊ธ์ ์๋ํฉ๋๋ค :)
์ฑ ๊ฒํ ๋ ํ์์ ๊ฐ์ด ์๋ํฉ๋๋ค. ๋ด ์ ์ฑ์ด ์ ์์ ์ผ๋ก ๊ฒ์๋์์ต๋๋ค. ํฅํ ์ถ์์ ๋ํ ๊ฒฝ๊ณ ์ผ ์๋ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๊ฒฝ๊ณ ๋ ๊ฒฝ๊ณ ์ผ ๋ฟ์ด๋ฉฐ ๋ง์ ์๊ฐ์ ์ ๊ณตํฉ๋๋ค. Google์ ๊ฒฝ์ฐ ์ฝ 2 ๋ ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ด ๊ฐ์ ์ ๊ฒฝ๊ณ ๊ฐ iOS 14์์ ์ ๊ฑฐ ํ ๊ฒ์ด๋ฉฐ (๋ด ์ถ์ธก์) ์ฌ์ฉ์๊ฐ ์ฌ์ฉ์ ์ค๋จํ๊ธฐ๋ฅผ ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ค์์น๋ฅผ ๋ค์ง๊ฑฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ผ๋ฉด ์ด์จ๋ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๊ทธ๋ค์ด ์ค์์น๋ฅผ ๋ค์ง์ด ์ค๋ฅ๋ก ๋ง๋ค์ง ์๋ ํ, ์ด๋ค ์ฌ๋๋ค์ ์ฌ์ ํ โโ์ค๋๋ ์ฅ์น๋ฅผ ์ง์ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์์ต๋๋ค.
์ข์์, ์ฌ๊ธฐ ์ ๊ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ์ธํ๊ธฐ ์ํด ํ ์ผ์ด ์์ต๋๋ค.
์์ ์ ์ธ ์ต์ Xamarin.Forms ํจํค์ง์ WebView ๋ง ๋ณด์ฌ์ฃผ๋ ์ฑ์ผ๋ก Apple์ ์ ๋ก๋ ํ ๋๋ฏธ ์ฑ์ ๋ง๋ค์์ต๋๋ค. ์ ๋ก๋ ํ ์งํ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ต๋๋ค. ๊ฒฝ๊ณ ๊ฐ ๋งค๋ฒ ๋๊ฐ๋ ์ง ํ์ธํ๊ธฐ ์ํด ๊ฒฝ๊ณ ๊ฐ ์ค์ง ์์ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ๊ฐ์ ํ ์ ์์ผ๋ฉฐ ๋ฒ์ ๋ฒํธ ์ธ์ ๋ณ๊ฒฝ ์ฌํญ์ด์๋ ๋ค๋ฅธ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ค์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฒฝ๊ณ ์์ ์ ์ค์ง ํ ๋๋ง๋ค ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ @FabriBertani ๊ฐ ์ฌ๊ธฐ์์ ์ ๊ณต ํ ์ ํํ ์ฝ๋๋ก ์ฌ์ฉ์ ์ง์ ๋ ๋๋ฌ๋ฅผ ๊ตฌํํ์ต๋๋ค. ๋ฉ์์ง๋ ์ฌ์ ํ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๊ฒ์ ํด๊ฒฐ์ฑ ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์์ด ๋ถ๊ธฐ๋ฅผ ๊ฐ์ ธ์ WebRenderer๋ฅผ ์ญ์ ํ๊ณ UIWebView์ ๋ํ ๋ชจ๋ ์ฐธ์กฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ๊ฑฐํ์ต๋๋ค. ์ด๊ฒ์ ์ํ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ก์ต๋๋ค. ์ด์ Apple์ ๋ ์ด์ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋ด์ง ์์์ต๋๋ค.
์ด ๋ชจ๋ ๊ฒ์ ์ฝ๋์์ UIWebView๋ฅผ ์ฐธ์กฐํ๋ ํ (์ฝ๊ธฐ : UIWebViewRenderer๊ฐ ์์ง ์ ์๋ฆฌ์์๋ ํ) Apple์ด์ด๋ฅผ ๊ฐ์งํ๊ณ ๊ถ๊ทน์ ์ผ๋ก ์ฑ ์๋ฝ์ ์ค๋จํ๋ค๋ ์ฌ์ค์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ๊ทน๋ํํ๋ ค๋ฉด ๋ง์ปค๊ฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ ๋ WebViewRenderer๋ฅผ ์ ๊ฑฐํ์ง ์๋ ์ด์ ๋ฅผ ์กฐ์ฌํด์ผํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๊ณ ์น๋ฉด ๋ด PR ์ด ์๋ฏธ๊ฐ ์์ผ๋ฉฐ์ด ๋ฌธ์ ๋ฅผ ๋จ๋ฒ์ ๊ณ ์ณ์ผํฉ๋๋ค.
James (๋ฐ ๋ค๋ฅธ ์ฌ๋๋ค)๊ฐ ์ธ๊ธํ๋ฏ์ด ์ง๊ธ์ ๊ฒฝ๊ณ ์ผ ๋ฟ์ด๋ฏ๋ก ๋ฉ์์ง๋ฅผ ๋ฐ๋๋ผ๋์ด ์์ ์์๋ ๊ฑฑ์ ํ ๊ฒ์ด ์์ผ๋ฉฐ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฌผ๋ก ์ฐ๋ฆฌ๋ Apple์ด ์ด์ UIWebView API์ ํ์ฉ์ ์ค๋จํ๊ธฐ๋ก ๊ฒฐ์ ํ ๋ ๋๋นํด์ผํฉ๋๋ค.
๋ฐ๋ผ์ iOS ํ๊ณผ ํ์ธํ ํ NSObject์์ ์์ ๋ ๋ชจ๋ ํญ๋ชฉ์ด ์ฐ๊ฒฐ๋์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ฏ๋ก RenderWith๊ฐ ๋ ๋๋ฌ๋ฅผ ์ฐ๊ฒฐํ๋ค๋ ์ฝ์์ iOS์์ ์์ ํ ์ ์ด ์์ต๋๋ค.
๋ ๋๋ฌ๋ฅผ ์์ ํ ์ญ์ ํ๊ณ ๋ชจ๋ ์ฌ๋์
๋๋ ๋ณ๋์ ๋๊ฒ๊ณผ ์ผ๋ถ ์ ํ ์ ๋ฌ๋ก ๊ตํ ํด์ง์ญ์์ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์๋ ํ์ธ์ @ Mikilll94 , ์ฐ๋ฆฌ๋์ด ๋ฌธ์ ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํด๊ฒฐํ๊ณ ์์ง๋ง ์กฐ๋ง๊ฐ ์์ ํ ์๋ฃจ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. "์ ์ฒด ์๋ฃจ์ "์ ์ฌ์ฉํ๋ฉด Xamarin.Forms ์ฑ์ ์คํ ์ด์ ์ ์ถํ ๋๋ง๋ค Apple์์ ๊ฒฝ๊ณ ๊ฐ ๋ ์ด์ ํ์๋์ง ์์ต๋๋ค.
๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ค์งํ๋ ค๋ฉด ์์ค์์ ํ์ฌ WebViewRenderer
๋ฅผ ์์ ํ ์ ๊ฑฐํด์ผํฉ๋๋ค. ๊ทธ ๋ ๋๋ฌ๊ฐ ํ์ฌ ๊ธฐ๋ณธ๊ฐ์ด๊ณ ์์ํ ์์ค์ ์์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์
๋๋ค. ์ด ๋ฌธ์ ์ ๊ด๋ จ๋ PR์ ํตํด ๊ธฐ๋ณธ ๋ ๋๋ฌ๋ฅผ WKWebViewRenderer
๋ก ์ ํํ์ฌ ์ WKWebView
ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. Xamarin.Forms์ ์ต์ข
์ฌ์ฉ์๋์ด ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์์ ์ฐจ๋ฆฌ์ง ์์์ผํฉ๋๋ค. ์ด ์ค์์น๋ฅผ ์ฌ์ฉํ๋ฉด Xamarin.Forms ์ฌ์ฉ์์๊ฒ ์ฝ๋์์ ํ์ํ ๋ณ๊ฒฝ์ ์ํ ํ ์์๋ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ์๋ WebViewRenderer
๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์์ผ๋ก ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด WebViewRenderer
์ ์์กดํ๋ ์ปค์คํ
๋ ๋๋ฌ๊ฐ์๋ ๊ฒฝ์ฐ.
๊ทธ๋ฌ๋ WebViewRenderer
๊ฐ ์ฌ์ ํ ์์ค์ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ Apple์ด ์ฑ์ ์ค์บํ๋ ๋์ ์ฌ์ ํ ์ ํํฉ๋๋ค. ์ต์ ๋ฒ์ 4.5 ์ธ Xamarin.Forms์ ์ต์ ๋ฒ์ ์์๋ WebViewRenderer
์์ ํ ์ญ์ ํ๊ณ Apple์ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ์ค์ง๋์ด์ผํฉ๋๋ค.
๊ทธ๋ ๊ธดํ์ง๋ง ์ ๊ฑฐํด์ผ ํ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
WebViewRenderer
๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ํ์ง ์๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด์ง๋ง์ด ์์ ์์ ์ ํ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์์๊ฒ ์ด์ ๋ํด ๊ฒฝ๊ณ ํ๊ณ ์ ์ฐจ์ ์ผ๋ก ๋จผ์ ์๋ก์ด ๊ตฌํ์ผ๋ก ์ ํ ํ ๋ค์ ์์ค์์ ํด๋น ํด๋์ค๋ฅผ ์ ๊ฑฐํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ์ด๊ฒ์ ๊ธด ํ๋ก์ธ์ค์ด์ง๋ง iOS 14๊ฐ ์ถ์๋๊ธฐ ํจ์ฌ ์ ์ ์ด๋ฃจ์ด์ ธ์ผํฉ๋๋ค.์ด๊ฒ์ ๋ํ ๊ทํ์ ๋ชจ๋ ์ฐ๋ ค๊ฐ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์๋ ค ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ต๋ณ ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ดํด์ ์ธ๋ด์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋ฟก ๋นต๋จ
์ด ํ๋ฅญํ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค :)
@jfversluis ๋ต๋ณ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค
WebViewRenderer๋ฅผ ์์ค์์ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์๊ฒ ์ต๋๊น?
@NehalOsama ๋ฅผ ์ํํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์์ด XamForms ์ ์ฅ์๋ฅผ ๋ณต์ ํ๊ณ Platforms.iOS ํ๋ก์ ํธ์์ WebViewRenderer.cs
ํ์ผ์ ์ญ์ ํ๊ณ ๋ชจ๋ ์ฐธ์กฐ๊ฐ WKWebViewRenderer
๋ฅผ ๊ฐ๋ฆฌ ํค๋๋ก ๋ณ๊ฒฝํ๊ณ ๊ณ ์ ํ DLL์ ๋น๋ํ๋ ๊ฒ์
๋๋ค. ์ฑ์์ ์ฌ์ฉํ์ธ์.
๋๋ ์ด๊ฒ์ ๋ํด ๊ฐ๋ ฅํ ์ถ์ฒํฉ๋๋ค . ์ด๋ ๊ฒํ๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ฆด๋ฆฌ์ค ํ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ์ ์ง์ ๋ณ๊ฒฝ ์ฌํญ์ ์์ง ์๊ณ ๋ ๋ฒ๊ทธ ์์ ์ด๋ ๊ทธ ์ด๋ค ๊ฒ๋๋ฐ์ ์ ์์ต๋๋ค. ๋๋ ์ ๊ทธ๋ ์ด๋ ํ ๋๋ง๋ค์ด ํ๋ก์ธ์ค๋ฅผ ๋ค์ ๋ฐ๋ณตํด์ผํฉ๋๋ค.
๋ด๊ฐ ๋ฌผ์ด๋ด๋ ๊ด์ฐฎ๋ค๋ฉด; ์ ๊ธฐ๋ค๋ฆฌ์ง ์์ต๋๊น? Apple์ ๋ฉ์์ง๋ ๊ฒฝ๊ณ ์ผ ๋ฟ์ด๋ฉฐ Apple์ด ์ค์ ๋ก ์ฑ์ ๊ฑฐ๋ถํ๊ธฐ ์ ์์ด ์์ ์ ์ํ ํ ๊ฒ์ ๋๋ค. ์ด ์์ ์์๋ ๊ฑฑ์ ํ ๊ฒ์ด ์์ต๋๋ค.
๋ฟก ๋นต๋จ
๊ฐ์ฌํฉ๋๋ค. ์ฐธ์กฐ ๋ฐ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํ๋๋ผ๋ ๊ทธ ์ด์ ๋ ํด๋ผ์ด์ธํธ๊ฐ ์นํท์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํตํฉ ํ ๊ฒ์ ์๊ตฌํ๊ธฐ ๋๋ฌธ์
๋๋ค.
https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment -527294907๋ก ๋ง๋ค์์ต๋๋ค.
ํ์ง๋ง ๋ด ์ฌ์ฉ์ ์ ์ ๋ ๋๋ฌ๊ฐ UIWebView๊ฐ ์๋ โโWKWebViewRenderer์ธ์ง ์ด๋ป๊ฒ ํ์ธํ ์ ์์ต๋๊น?!
๊ทธ๋ค ์ฌ์ด์ ๋ช
๋ฐฑํ ์ฐจ์ด๊ฐ ์๊ฑฐ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๊ทธ๊ฒ์ ์ฆ๋ช
ํ ์์๋ ๊ฒ์ด ์์ต๋๊น?!
์ฐ๋ฆฌ๊ฐ ์ผ์ ์ ๋๋กํ๋ค๋ฉด ๊ทธ๋ค ์ฌ์ด์ ์ด๋ค ์ฐจ์ด๋ ๋ณด์ด์ง ์์์ผํ๋ค๋ ์ ์ ๋๋ค ๐
์ผ๋ง๋ ๋ง์ ์ฆ๊ฑฐ๊ฐ ํ์ํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์คํฐ๋๋ ์ค์ ์ ํ์ ํํค ์น๊ธฐ ์ํด ๊ฒ์ฌ๊ธฐ ๋ UITest ๋ฌผ๊ฑด์ ํํค์น ์ ์์ต๋๋ค. ํ์ง๋ง ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์์ฑ ํ ์ปค์คํ
๋ ๋๋ฌ์ ์ค๋จ ์ ์ ์ค์ ํ๊ณ ๊ทธ๊ฒ์ด ๋ง๋์ง ํ์ธํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ ๋ค๋ฉด WKWebView
์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ ๋ค์ดํฐ๋ธ ํ๋ซํผ์์ ํน์ ํ์ด์ง๋ฅผ๋ก๋ํ๋ ์ฌ์ฉ์ ์ง์ ๋ ๋๋ฌ์ ์ฝ๊ฐ์ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ ์ ์์ต๋๋ค. ๋ค์ ์ค๋จ ์ ์ ์
๋ ฅํ๊ณ UIWebView
๋์ WKWebView
๋ฅผ ์ฌ์ฉํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. UIWebView
.
์ฌ์ฉ์ ์ง์ ๋ ๋๋ฌ๋ฅผ ๋ง๋ค์ง ์๊ณ ๋ชจ๋ ์ผ๋ฐ WebView
์ปจํธ๋กค์ WKWebViewRenderer
๋ก ์ ํํ๊ณ ์์ ๋์ WebView
์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ์ด ์ค์ iOS ํ๋ก์ ํธ์ AssemblyInfo.cs
:
[assembly: ExportRenderer(typeof(Xamarin.Forms.WebView), typeof(Xamarin.Forms.Platform.iOS.WKWebViewRenderer))]
์ด ๋๋ฌธ์ ๋ด ์ฑ์ ๋ฐ์ด๋๋ฆฌ๊ฐ ์ค๋ ๊ฑฐ๋ถ๋์์ต๋๋ค. ์ด๋ฏธ WkWebViewRenderer
Dear Developer,
We identified one or more issues with a recent delivery for your app, [REDACTED].
Your delivery was successful, but you may wish to correct the following issues in
your next delivery:ITMS-90809: Deprecated API Usageย - Apple will stop accepting
submissions of apps that use UIWebView APIs.
Seeย https://developer.apple.com/documentation/uikit/uiwebviewย for more information.
After youโve corrected the issues, you can use Xcode or Application Loader to upload
a new binary to App Store Connect.
Best regards,
The App Store Team
์ด ์๋ ์ธ์ด ( "์๋ฝ ์ค์ง")์๋ ๋ถ๊ตฌํ๊ณ ๋ด ๋ฐ์ด๋๋ฆฌ๋ ์ฒ๋ฆฌ๋์ง ์์์ผ๋ฉฐ ๋ฆด๋ฆฌ์ค์ ์ฌ์ฉํ ์์๊ฒ๋์์ต๋๋ค.
์ด๊ฒ์ ์ด์ ์ค์ํฉ๋๋ค. ๋ด ํด๋ผ์ด์ธํธ ์ฑ์ ์ ๋ฒ์ ์ ์ถ์ ํ ์ ์์ต๋๋ค.
์ด ์์ ์ฌํญ์ ETA๋ ๋ฌด์์ ๋๊น?
์๋ ํ์ธ์ @joehanna ๋ณด๊ณ
๊ทํ์ ์๊ฒฌ์ ์ฝ ํ ์๊ฐ ์ ์ ๊ฒ์ ๋๋ค. ์ง๊ธ ์ฏค์ด๋ฉด ๊ฐ๋ฐ์ ํฌํธ์ ํ์ ๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ก ํต๊ณผํ์ง ์์๋์ง ํ์ธํ ์ ์์ต๋๊น?
๋ํ
๋ด ๋ฐ์ด๋๋ฆฌ๊ฐ ์ฒ๋ฆฌ๋์ง ์์๊ณ ๋ฆด๋ฆฌ์ค์ ์ฌ์ฉํ ์์๊ฒ๋์์ต๋๋ค.
์ด๊ฒ์ ์ด๋ป๊ฒ ํ์ธ ํ์ต๋๊น? ์ฑ ์ ์๋ก ์ด๋ ํ ๋ค์ ํ๋, ๋ชจ๋ ๋น๋ ์๋์ ํ์๋์ง ์์ต๋๊น?
๋น ๋ฅธ ๋ต์ฅ @jfversluis์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํ์ธ ์ด๋ฉ์ผ์๋ฐ์ง ๋ชปํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ๋น๋์๋ ๋ํ๋์ง ์์ต๋๋ค. ์ฒ๋ฆฌ ๋ฐฑ ๋ก๊ทธ๊ฐ์์ ์ ์์ต๋๊น? ์ ๊ฒฝํ์ ๋ฐ์ด๋๋ฆฌ๋ 20 ๋ถ ์ด๋ด์ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ ์ ํ ๋ค์ ํ์ธํ๊ณ ๋ณด๊ณ ํ๊ฒ ์ต๋๋ค.
์, ๊ทธ๊ฒ์ ๋น์ ์ด ๊ฑฐ๊ธฐ์์ ๋ง์ง๊ณ ์๋ ์ข์ ํฌ์ธํธ์ ๋๋ค. iOS 13์ด ์ถ์๋๊ณ ์ฌ๋๋ค์ด์ด๋ฅผ ์ํด ๋ง์ ๋น๋๋ฅผ ์ ์ถํ๋ ๊ฒฝ์ฐ ์ถ๊ฐ ํ๋์ด์์ ์ ์์ต๋๋ค. ๋ฐฉ๊ธ ์์์ ๋ณผ ์์๋ ๋๋ฏธ ์ฑ์ ์ ๋ฒ์ ์ ๋ง๋ค๊ณ ์ ์ถํ์ต๋๋ค. ๋จ์ง ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ํ์ธํ๊ณ ํ์ธํ๊ธฐ ์ํด ์ ์ถํ์ต๋๋ค.
๋ฌด์์ด๋ ๋ณด๋๋๋ก ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ด์จ๋ ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
@joehanna ๋จผ์ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ณ ๋ช ๋ถ ์์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์ป์์ต๋๋ค. ๋ฐ๋ผ์ ๋น๋์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ์คํ์ง ์์ง๋ง UIWebView
์ฌ์ฉ๊ณผ ๊ด๋ จ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋์ด ๋์์ต๋๋ค. ๋๋ผ๋ง ์ฃ์กํฉ๋๋ค. ๊ทธ๋ ๊ฒ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์์ต๋๋ค. ํ๋ก์ฐ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ์ปดํ์ผ๋ฌ๊ฐ ์ํ์ง ์๋ ํด๋์ค ํ์ผ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
Xamarin ๊ฐ๋ฐ ํ์ ์ต์ Apple ๊ฐ๋ฐ ์ ์ฑ
์ ์ฐธ์กฐํด์ผํฉ๋๋ค.
@jfversluis Xamarin.iOS ํ๋ก์ ํธ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ์ค๋ ๋๊ฐ Xamarin.Forms ์๋์ ์์ง๋ง ๊ทผ๋ณธ ์์ธ์ด ๋์ผํฉ๋๊น? ์์ ์ด Xamarin.iOS์ Xamarin.Forms๋ฅผ ๋ชจ๋ ํด๊ฒฐํฉ๋๊น?
๊ฐ์ฌํฉ๋๋ค!
CompaNova LLC
@dmitrymal ๋ช ๊ฐ์ง ์์ธ์ด ์์ต๋๋ค
Xamarin.iOS๊ฐ ์์ธ์ ํด๊ฒฐ ํ ๋ค์์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ ๋๋ค.
์์ ์ค์ธ ๋ช ๊ฐ์ง ์๋ฃจ์ ์ด ์์ผ๋ฉฐ ์งํ ์ํฉ์ ๋ฐ๋ผ์ด ๋ฌธ์ ๋ฅผ ์ ๋ฐ์ดํธ ํ ์์ ์ ๋๋ค.
์ด ์ค๋ ๋๊ฐ ์ฌ์ ํ s / unverified๋ก ํ๊ทธ ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์๋ @taublast๊ฐ ์๋์ผ ๐คก
์ด ์์ ์ด ์ ์ ์ค๋จ๋์ด ํ์ฌ ๊ธด๊ธํ์ง ์๋ค๋ ์ ์ ๊ฐ์ฌํ์ง๋ง, ์๋ฃ๋๋ฉด ์ด์ XF ๋ฒ์ ์ผ๋ก ๋ค์ ํฌํ ๋ฉ๋๊น? 3.4์ ๋น๋ ๋ ๋๊ท๋ชจ ์ฑ ์ ํ๊ตฐ์ด ์์ผ๋ฉฐ ๋ค์ํ ์ข ์์ฑ ๋ฌธ์ ๋ก ์ธํด XF 4.0 ์ด์์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํ ๋ ํญ์ ์คํจํ์ต๋๋ค.
@ 1888games ์ต์ข ์ต์ข ์์ ์ฌํญ์ ๋ฐ๋ผ ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ด ๊ฑฐ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
https://github.com/xamarin/Xamarin.Forms/pull/7367 ์ด ๋ณํฉ๋์์ง๋ง ํผ์ฆ์ ์ผ๋ถ์ผ ๋ฟ์ด๋ฏ๋ก ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ผ๋ก ๊ธฐ๋ํ์ง ๋ง์ญ์์ค.
Xamarin.Forms SDK ๋ฐ Xamarin.IOS SDK ๋ด์์ ๋ง์ปค ์์ ์ด ์ฌ์ ํ ํ์ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ค ๋ฒ์ ์ XamarinForms๊ฐ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ์ต๋๊น?
@ s-bhavin-shah, ์ฐ๋ฆฌ๋ ์ฌ๋ฌ ๋จ๊ณ์ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ํ ์น์์ผํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ํน์ Xamarin.Forms ๋ฒ์ ์์๋์ด ๋ฌธ์ ๊ฐ ์์ ๋์ง ์์์ต๋๋ค. ์ด ์์ ์์ ๊ฑฑ์ ํ ์ด์ ๊ฐ ์์์ ๋ค์ ๋ง์ ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. Apple์ ๋ฉ์์ง๋ ํ์ฌ๋ก์๋ ๊ฒฝ๊ณ ์ผ ๋ฟ์ด๋ฉฐ ์์ผ๋ก๋ ์ข์์๊ธฐ์ ๋ํ ๊ฒฝ๊ณ ๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ์ด์ ๋ก Apple์ด ์ฑ์ ๊ฑฐ๋ถํ๋ ๊ฒฝ๊ณ ๊ฐ ํ์ ๋ ๋๊น์ง ์ค๋น ํ ๊ฒ์
๋๋ค. ์ด ๋ฌธ์ ์ ๋ํ ์ต์ ์ ๋ณด๋ฅผ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ด์ ๋ง์ปค๊ฐ ์ฌ์ฉ๋์ง ์๋ Xamarin ๊ฐ์ฒด๋ฅผ ์ค์ ๋ก ์ ๊ฑฐ (ํต์ฌ)ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๋ํ ๋ด PR์ด ๋ณํฉ๋์ด WKWebViewRenderer
์ด ๊ธฐ๋ณธ๊ฐ์ด๋ฉ๋๋ค.
์ด๋ฅผ ๋ฐํ์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์ง๋ง ๋จ๊ณ๋ "iOS ์ฐ๊ฒฐ"์๋ฃจ์
์ ์ถ์ํ๋ ๊ฒ์
๋๋ค. ์ด ๊ฒฝ์ฐ WKWebViewRenderer
๊ฐ ๊ธฐ๋ณธ๊ฐ์ด๊ณ WebViewRenderer
๊ฐ ๋ ์ด์ ์ฝ๋์์ ์ฌ์ฉ๋์ง ์์ผ๋ฉด Apple๋ก ์ ์ก๋๋ ๊ฒฐ๊ณผ ๋ฐ์ด๋๋ฆฌ์์ ์ญ์ ๋ฉ๋๋ค. ๊ทธ ๋ง์; iOS ์ฐ๊ฒฐ ์๋ฃจ์
์ ์ถ์ํ๋ ๊ฒ์ ๋ง์ฒ๋ผ ์ฝ์ง ์์ผ๋ฉฐ ์๊ฐ์ด ๋ ๊ฑธ๋ฆฝ๋๋ค.
์ฌ๊ธฐ์์ ์ฅ์ ์ ์๋ง๋ ์์ ํ ๋ธ๋ ์ดํน ์ฒด์ธ์ง ์๋ฃจ์ ์ ์ฌ์ฉํ ํ์๋ ์์ง๋ง ๋ชจ๋ ์ฌ๋์ ์ ์ฐจ์ด ์๋ฃจ์ ์ผ๋ก ์ ํ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
ํ์ฌ ๋ชจ๋ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ์๋ ค์ฃผ์ธ์!
UIWebView๋ฅผ ๋ ์ด์ ์ฌ์ฉํ์ง ์๊ณ WkWebView๋ก ๋์ฒด ํ ๋์ด ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด์ผํฉ๋๋ค.
https://github.com/xamarin/Xamarin.Forms/issues/8028
UIWebView๋ฅผ WkWebView๋ก ๋ฐ๊พธ๋ฉด ์ฌ๋๋ค์ ์ฑ์ด ๊นจ์ง ์ ์์ต๋๋ค.
@ Mikilll94 ์์ ์ ์ ํจํ์ง๋ง ๊ฐ๋จํ ์ฌ์ค์ Apple์ด ์ฌ์ ํ UIWebView๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฑฐ๋ถํ๊ธฐ ์์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ Xamarin์ด ์๋ฌด ์์ ๋ํ์ง ์๋๋ผ๋ Apple์ (์๋ง ํฅํ 9 ๊ฐ์ ๋ด์) ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์ฑ์ ์ ๋ฐ์ดํธ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ฐจํผ ํฐ ๋ณํ๊ฐ ๋ ๊ฒ์ ๋๋ค.
๋ฟก๋ฟก
๋ง์ต๋๋ค.
๊ทธ๋ฌ๋ WkWebView์ ๋งค์ฐ ์ค์ํ๊ณ ๋ง์ ๊ฐ๋ฐ์์๊ฒ ์ํฅ์ ๋ฏธ์น ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ํ์ฌ๋ก์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ! ์๋ฒฝํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์๋ ํ์ธ์ @samirgcofficial ๊ทํ์ ๊ฒฐ๊ณผ๋ฅผ๋ณด๊ณ https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment -542363338์ ๋๊ธ์ ๋ณด์ จ๋์?
๊ทธ๊ฒ์ ํ์ฌ ์ํ๋ฅผ ๊ฝค ๋ง์ด ์ค๋ช ํ ๊ฒ์ ๋๋ค :)
์์ฝ : ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค. ํ์ฌ ์์ ์ค์ ๋๋ค. ๊ทธ๋ฌ๋ Apple์์ด ๋ฉ์์ง๋ ๊ฒฝ๊ณ ์ผ ๋ฟ์ด๋ฉฐ ๋ฌธ์ ์์ด ์ฑ์ ์ ์ถํ ์ ์์ด์ผํฉ๋๋ค.์ด ๊ฒฝ๊ณ ๋ฉ์์ง ๋ง ์์ผ๋ฉด๋ฉ๋๋ค.
์ง๋ฌธ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์!
ํธ์ ๋ด์ ๊ฐ๊ธฐ
๋ด ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด Apple์ ๋ฐ์ด๋๋ฆฌ๋ก UIWebView๋ฅผ ํ์ํ๋ ์ฑ์ ๋ ์ด์ ํ์ฉํ์ง ์์ต๋๋ค. ๋ ์ด์ Xamarin ์ฑ์ App Store๋ก ๋ณด๋ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ ๊ฒฝ๊ณ ๋ฉ์์ง ์ผ๋ฟ๋ง ์๋๋ผ ๋งค์ฐ ์ค์ํ ๋ฌธ์ ์
๋๋ค.
๋ฐ๋ฉด์ ์ฑ์ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์๋ฃจ์
์ด์๋ ๊ฒฝ์ฐ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ญ์์ค.
@JawadJaber ์, ์ฌ๊ฐํ ๋ฌธ์ ์
๋๋ค! ํ
์คํธ ๋นํ์ ์ํด ์ฑ ์คํ ์ด์์ ๋ด ์ฑ์ ์ธ๋ถ ํ
์คํธ๋ฅผ ์ํ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฑ์ ๋ด๋ถ ํ
์คํธ๊ฐ ๊ฐ๋ฅํ๋ฉฐ์ด WebView๋ ๋ด๋ถ ํ
์คํธ์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
์๋๋ฆฌ์ค๋ Test Flight์์ ํ ์์๋ ์ธ๋ถ ๋งํฌ๋ฅผ ์์ฑํ๊ณ ๊ณต์ ํ๋ ๊ฒ์ด ์์ต๋๋ค. ์ด๋ค ํด๊ฒฐ์ฑ
?
@JawadJaber Apple์์ ๊ฒฝ๊ณ ๊ฐ ์๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฑฐ๋ถํ๋ค๋ ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ๋ฐ์ ๊ฒฝ์ฐ ์คํฌ๋ฆฐ ์ท์ด๋ ์์ธํ ๋ด์ฉ์ ์ ๊ณตํ๋ ๊ฒ์ ๊ฒ์ํ์ญ์์ค. ๊ธ์์ผ์ ๊ฒฝ๊ณ ์ด๋ฉ์ผ ์ธ์ ๋ค๋ฅธ ๋ฌธ์ ์์ด ๋ฐ์ด๋๋ฆฌ๋ฅผ Apple์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ถํ์ต๋๋ค.
๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ์ถํ๊ณ ๊ฒฝ๊ณ ์ด๋ฉ์ผ ๋ง ๋ฐ์์ต๋๋ค.
@JawadJaber @samirgcofficial ์ด ์ด์ ๋๋ฌธ์ ๋ฐ์ด๋๋ฆฌ๊ฐ ๊ฑฐ๋ถ๋์๋ค๊ณ ์๊ฐํ๋ ์ด์ ๋ฅผ ๋ง์ํด ์ฃผ์๊ฒ ์ต๋๊น? ์ฐ๋ฆฌ๋ ์ด๊ฒ ์ธ์๋ ์ฌ์ ํ ๊ฒฝ๊ณ ๋ผ๊ณ ์๊ฐํ ์ด์ ๊ฐ ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ด์ด๋ฅผ ํ์ธํ๊ณ ์์ผ๋ฉฐ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ดํ ์ ์ ๋ฉ์ผ ๋ฉ์์ง์ ๊ฒฝ๊ณ ํ ์คํธ๋ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ด ๋งค์ฐ ์ค์ํ ๋ฌธ์ ๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ํด๊ฒฐ์ฑ ์ ์ฐพ๊ธฐ ์ํด ์ด์ฌํ ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ์ด ์์ ์์ ๊ฐ๋ฅํ ํ ๋ช ํํ๊ณ ํฌ๋ช ํฉ๋๋ค.
์ด ์ค๋ ๋์ ์๋ถ๋ถ์๋ ์์ ์ ๋ฐ์ด๋๋ฆฌ๊ฐ ๊ฑฐ๋ถ๋์๋ค๊ณ ์๊ฐํ๋ ๋ค๋ฅธ ์ฌ๋์ด ์์์ง๋ง ์ฒ๋ฆฌํ๋ ๋ฐ ์๊ฐ์ด ์กฐ๊ธ ๋ ๊ฑธ๋ ธ์ต๋๋ค. ์ด๊ฒ์ด ๋น์ ์๊ฒ๋ ํด๋น ๋ ์ ์์ต๋๊น?
์ข์, ์ด์ Apple์์ ์ ๋๋ก ์๋ํ๊ณ ์์์ ์ธ์ ํฉ๋๋ค.
3 ์ฃผ ์ ์ ๊ฑฐ์ ๋นํ๊ณ App Store ์ง์ํ์ ์ฐ๋ฝํด ๋๊ฐ์ ๋ง์ํ์ต๋๋ค (๊ทธ๋ค์ ์ ์ฑ
).
๊ทธ๋ฌ๋ ์ง๊ธ์ ์๋ํ๊ณ ์์ต๋๋ค. ๋๋ ์ ํ์ด์ด ์ฌ๊ฑด์ ๋ํ ๊ทธ๋ค์ ์ ์ฑ
์ ๋ฐฉ๊ธ ๋ณ๊ฒฝํ๋ค๊ณ ์๊ฐํ๋ค. ๊ฐ์ฌํฉ๋๋ค @jfversluis , @ martijn00 @ cabal95
์ข์, ์ฑ ์คํ ์ด ํ์ผ๋ก๋ถํฐ ๋ชจ๋ ์ฌ์ฉ์์ ์ฑ ์ก์ธ์ค๋ฅผ ์ ํํ๊ณ ํน์ ์ง์ญ ์ฌ๋๋ค์ด TWILO๋ฅผ ์ฌ์ฉํ์ฌ OTP ์ธ์ฆ์ ๋ฐ๋๋ก ํ์ฉํ๋ค๋ ๋ ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ๋ฐ์์ต๋๋ค. ์ ํ์ ์ ์ธํด์ผํ๋ฉฐ ์ฑ์ ํ์ฌ ๋ฒ ํ ํ ์คํธ ์ค์ ๋๋ค. :). ๊ทธ๊ฒ ๋ค์ผ. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ ๋ฌธ์
๊ณ ๊ฐ์๊ฒ ์ฐ๋ฆฌ ์ฑ์ด ์ ๋์ ์ผ๋ก ๊ด์ฐฎ๋ค๊ณ ์ค๋ช ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ๊ฒฝ๊ณ ์ผ๋ฟ์ ๋๋ค ((
@YuliaLoyko๋ฅผ ์์ ํ ์ดํดํฉ๋๋ค. ๋ถํํ๋ ์ฐ๋ฆฌ๋ ์ต๋ํ ๋นจ๋ฆฌ ์์ง์ด๊ณ ์์ต๋๋ค.
4.4๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ
@ prasannamca1107 ๋ช ํํ๊ณ ํฌ๋ง์ ์ป์ง ์๊ธฐ ์ํด. ์ด๊ฒ์ 4.4์์ ์์ ๋์ง ์์ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ ์ฌ๊ธฐ์ Xamarin.iOS์ ๋ณ๊ฒฝ ์ฌํญ์ ์์กดํ๊ณ ์์ต๋๋ค. ์ด๊ฒ์ Xamarin.Forms ํ์์๋ง ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ฐ์๋ฉด์์ ์ ๋ ์๋ํ๋ ์์ ์ฌํญ์ ๋ณด์์ต๋๋ค. ์ ๊ฐ ์ธ๊ธํ๋ฏ์ด ์ฐ๋ฆฌ๋ ์์ ์ค์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ๊ฒ์ด ์ ๋ ฌ๋๊ธฐ๊น์ง ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ์์ ๋ฃ์ ์ ์์ต๋๋ค.
์ง๊ธ๊น์ง ์ฌ์ ํ ๊ฑฑ์ ํ ๊ฒ์ด ์์ต๋๋ค. Apple์ ๋ฉ์์ง๋ ์ฌ์ ํ ๊ฒฝ๊ณ ์ผ๋ฟ์ ๋๋ค!
๋๋ xamarin ํฌ๋ผ ์ ์ค๋ ๋๋ฅผ ์ด ๋งํฌ๋ฅผ ์ฐพ์์ต๋๋ค.
๋ด๊ฐ ์๋ํ ๊ฒ๊ณผ ๋์ผํ ๊ฒฝ๊ณ ๊ฐ ์์ต๋๋ค.
@softsan , ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ถํํ๋ ๊ทธ๊ฒ์ ํ์ฌ ํด๊ฒฐ์ฑ ์ด ์๋๋๋ค. ํ์ฌ๋ก์๋ (์ฌ์ด) ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค. ๋ด๊ฐ๋ณด๊ธฐ ์์ UIWebViewRenderer์ ์์ ์ Xamarin.Forms ํจํค์ง๋ฅผ
์ฐ๋ฆฌ๋ ์ฌ์ ํ ์๋ฃจ์ ์ ์ํด ์ด์ฌํ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ฑฑ์ ํ์ง ๋ง์ธ์! :)
์ง๋ ๊ธ์์ผ์ ์ ์ฑ์ ์ ์ถํ๋๋ฐ ๋์ผํ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ง๋ง ๊ทธ์ ๊ฒฝ๊ณ ์์ต๋๋ค.
์ฑ์ด ์น์ธ๋๊ณ ๋ฌธ์ ์์ด ์ฑ ์คํ ์ด์ ๋์ด๋ฉ๋๋ค.
@jfversluis , @softsan WKWebView ๋ฅผ ๋ฐํํ๋ WebView ์ฉ ๋ ๋๋ฌ๋ฅผ ์ง์ ์์ฑํ์ต๋๋ค. ์ฝ๋๋ฅผ ํ ์คํธํ๊ณ ์์ ์ ๊ฒ์ํ์ง๋ง ์ฌ์ ํ ๊ฒฝ๊ณ ๋ฅผ๋ฐ์ต๋๋ค. ๋ด ๋ ๋๋ฌ๋ ๋ ๋๋ฌ์ ์ผ๋ฐ์ ์ธ ํจํด์ ๋ฐ๋ฅด์ง๋ง ๋ค์์ ๊ด๋ จ ์ฝ๋์ ๊ฐ๋จํ ์ค ๋ํซ์ ๋๋ค.
if (์ ์ด == null)
{
_contentController = ์๋ก์ด WKUserContentController ();
var frame = UIApplication.SharedApplication.Delegate.GetWindow (). Bounds;
var cgRect = new CoreGraphics.CGRect (frame.X, frame.Y, frame.Width, frame.Height);
var config = new WKWebViewConfiguration {UserContentController = _contentController};
_wKWebView = ์๋ก์ด WKWebView (cgRect, config)
{
NavigationDelegate = new WKNavigationDelegate ()
};
SetNativeControl(_wKWebView);
}
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ ๋ด ์ฝ๋์๋ ๋จ ํ ๊ณณ๋ง ์์ผ๋ฉฐ์ด ์ฝ๋๋ฅผ ๋๋ฒ๊น ํ๊ณ ๋ฐ์ดํฐ ์ ํ์ ๊ฒ์ฌํ๊ณ ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ์ง๋ง Apple์์ ์ค๋ฅ๋ฅผ ๋ฐ์์ต๋๋ค. ๊ฒํ ํ์ ๊ฒํ ๊ฒฝํฉ์ ์ ์ถํ์ผ๋ฉฐ ๋ต๋ณ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.
@seanstilson ์
Apple์ ์๋ง๋ UIWebView์ ๋ํ ์ฐธ์กฐ๊ฐ ์๋ค๊ณ ๊ฐ๋จํ ๋งํ ๊ฒ์ ๋๋ค. ์ฝ๋๊ฐ ์๋๋ผ ์ฑ ๋ด๋ถ์์๋ Xamarin.Forms ์ฝ๋๋ฅผ ํตํด.
์ด๊ฒ์ ๋งํ๊ณ ; Apple์ด ์ด๋ก ์ธํด ๋ฐ์ด๋๋ฆฌ ํ์ฉ์ ์ค์ ๋ก ์ค๋จํ๊ธฐ ์ ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํฉ๋๋ค.
UIWebViewRenderer ๋น๋์ ๋ํ ์ด์ ๊ฒ์๋ฌผ์ ๋์ณค์ต๋๋ค.
๋ฐ์ด๋๋ฆฌ @jfversluis์ , ๋ด ๋์. ์๋ต ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
2019 ๋
11 ์ 14 ์ผ ๋ชฉ์์ผ ์ค์ 11:54 Gerald Versluis [email protected]
์ผ๋ค :
@seanstilson https://github.com/seanstilson ์์ฉ ์ด ์์ต๋๋ค. ๊ฐ์ด
์ฌ์ฉ์ ์ง์ ๋ ๋๋ฌ๋ฅผ ์์ฑํ๋๋ผ๋
WKWebView๋ฅผ ์ฌ์ฉํฉ๋๋ค. UIWebViewRenderer๋ ์ฌ์ ํ
Xamarin.Forms ๋ฐ์ด๋๋ฆฌ๋ ํ์ฌ ์๋ ๋ฐฉ์์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋
๋ณ๊ฒฝํ๊ธฐ ์ ๊น์ง๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ์ฌ.Apple์ ์๋ง๋ UIWebView์ ๋ํ ์ฐธ์กฐ๊ฐ ์๋ค๊ณ ๊ฐ๋จํ ๋งํ ๊ฒ์ ๋๋ค. ์๋
์ฝ๋์ ์์ง๋ง Xamarin.Forms ์ฝ๋๋ฅผ ํตํด ์ฌ์ ํ ์ฑ ๋ด๋ถ์ ์์ต๋๋ค.์ด๊ฒ์ ๋งํ๊ณ ; ์ฐ๋ฆฌ๋ ์ ์ ์ด๋ค ๋ฐฉ๋ฒ ์ผ๋ก๋ ๊ณ ์น ๊ฒ์ ๋๋ค.
์ด ๋๋ฌธ์ ์ ํ์ ๋ฐ์ด๋๋ฆฌ ํ์ฉ์ ์ ๋ง๋ก ์ค๋จํฉ๋๋ค.โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/xamarin/Xamarin.Forms/issues/7323?email_source=notifications&email_token=AMVYZVVKIGZKMMH5XOS2QATQTWGF5A5CNFSM4ISLFU32YY3PNVWWK3TUL52HSTDN5VRWEXG43VX33Kissue4DFVRWEXG43VX33Kissue4DFVRWEXG43VMVBW63 .
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AMVYZVUT5A73R4SXSQFRDMDQTWGF5ANCNFSM4ISLFU3Q
.
@seanstilson ์ ๊ทธ๊ฒ์ ๋ํด ๊ฑฑ์ ํ์ง ๋ง์ญ์์ค. ์ฌ๊ธฐ์ ๋ง์ ํ๋์ด ์์ต๋๋ค. ๋ญ๊ฐ ๋์น ๊ฒ์ ์์ํ ์ ์์ต๋๋ค. :)
์น๊ตฌ ์ฌ๋ฌ๋ถ, ์งํํ๊ธฐ ์ ์ Xamarin.iOS ํ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์์ด ๋ฌธ์ ๋ฅผ ์ ๊ธ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒํ๋ฉด์ด ๋ฌธ์ ๋ฅผ ์ ๋๋ก ์ถ์ ํ ์ ์์ผ๋ฉฐ,์ด ๋ฌธ์ ๋ฅผ ์ ํ๋ ์ฌ๋๋ค์ ์ฌ๊ธฐ์์๋ ๋ชจ๋ ๋ํ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ง์ ๊ฐ์ฅ ๊ด๋ จ์ฑ์๋ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๋ณด๊ณ ํ ์๋ก์ด ๊ฒ์ด์์ ๋๋ง๋ค ์ฐ๋ฆฌ๋ ํ์คํ ํ ๊ฒ์ ๋๋ค.
๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง์ ๋ํ ์ข์ ์์ฝ์ ๋ณด๋ ค๋ฉด https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment -532228577 ์ฌ๊ธฐ์์์ด ์ฃผ์์ ์ฝ์ผ์ญ์์ค.
ํ์ฌ ์ต์ ์งํ ์ํฉ์ https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment -542363338์์ ํ์ธํ ์ ์์ต๋๋ค.
์์ ์ ์ฐ๋ฆฌ๋ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ผ๋ฉฐ Apple์ด ์ค์ ๋ก์ด ๋๋ฌธ์ ์ฑ์ ๊ฑฐ๋ถํ๊ธฐ ์์ํ๊ธฐ ์ ์ ์ด๋ ์ชฝ์ด๋ ์ค๋น ๋ ๊ฒ์ ๋๋ค.
ํ์ฌ ์ ์ผํ ๊ฒ์ Apple๋ก๋ถํฐ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ๋ฐ๋ ๊ฒ์ ๋๋ค.์ด ๋ฉ์์ง๋ ์ง๊ธ์ ๋ฌด์ํด๋ ์ข์ต๋๋ค.
์ดํด์ ์ธ๋ด์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์ด์ ๋ํ ์๊ท๋ชจ ์ ๋ฐ์ดํธ : # 8001์ด ์ ์ ๋ ์์ ์ฌํญ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ก ๋ณํฉ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ํฅํ ๋ฒ์ ์์ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ด๋ผ๋ ์๋ฏธ๋ ์๋๋๋ค.
์์ ์ธ๊ธํ๋ฏ์ด Xamarin.iOS์์์ด ์์ ์ ์ํํ๋ ค๋ฉด ๋ณ๊ฒฝํด์ผ ํ ์ฌํญ๋ ์์ต๋๋ค. ๊ทธ๋ค์ด ๊ทธ๋ ๊ฒ ํ ๋ ๋ง๋ค์ด ์ฝ๋์ ํจ๊ป ์ฌ๋ฐ๋ฅธ Xamarin.iOS ๋ฒ์ (4.5๋ถํฐ ์์)์ด ๋ง์นจ๋ด ์ฌ๋ผ์ง ๊ฒ์ ๋๋ค.
๋ช ํํ๊ฒ ๋งํ๋ฉด Xamarin.Forms ๋ฒ์ 4.5๋ง์ผ๋ก๋์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ ์ฒด ์์ ์ด ์๋ฐ ํ ๋๋ง๋ค ๋ค์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌ!
Apple์ UIWebView
์ง์ ์ค๋จ ๊ณํ์ ๋ํด ์ข ๋ ๋ช
ํํ๊ฒ ์ค๋ช
ํ๋ ์งง์ ์ฑ๋ช
์ ๋ฐํ
App Store๋ 2020 ๋ 4 ์๋ถํฐ UIWebView๋ฅผ ์ฌ์ฉํ๋ ์๋ก์ด ์ฑ๊ณผ 2020 ๋ 12 ์๋ถํฐ UIWebView๋ฅผ ์ฌ์ฉํ๋ ์ฑ ์ ๋ฐ์ดํธ๋ฅผ ๋ ์ด์ ํ์ฉํ์ง ์์ต๋๋ค.
๊ทธ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ด ๋ฌด์์ด๋ ๊ฐ์ ํด๊ฒฐ์ฑ
์ ์ฐพ์ ์๊ฐ์ด ์ฌ์ ํ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ ๋์ ์ฐ๋ฆฌ๋ ์ ํธํ๋ ์๋ฃจ์
์ ์กฐ์ฌํ์ต๋๋ค. Xamarin.iOS ํ๊ณผ ํจ๊ป ์ฐ๋ฆฌ๋ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ ์งํ๋ฉด์ ๊ฒฝ๊ณ ๋ฅผ ํธ๋ฆฌ๊ฑฐํ์ง ์๋ ์ฑ์ โโ์คํ ์ด์ ์ ์ถํ์ต๋๋ค. ์ด๋ (ํ์ฌ) ๋ ๊ฑฐ์ WebViewRenderer
์ญ์ ํ์ง ์์์ ์๋ฏธํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ช ๊ฐ์ง ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ทธ๊ฒ์ด _the_ ์๋ฃจ์
์ธ์ง ๊ฒฐ์ ํ๊ณ ์์ง๋ง ์ฌ์ ํ ์์
์ค์ด๋ฉฐ ์ค๋น๊ฐ๋์๋์ง ํ์ธํ ๊ฒ์
๋๋ค. ์ ์ด๋ ์ง๊ธ ์ฐ๋ฆฌ๋ ์ธ์ ์ค๋นํด์ผํ ์ง ์๊ณ ์์ต๋๋ค ๐ ์ธ๋ด์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋ชจ๋์๊ฒ ์ข์ ์์์ ๋๋ค! ๊ณง ์ฌ์ฉํ ์ต์ข ์์ ์ฌํญ์ด ์์ต๋๋ค.
๊ทธ๊ฒ์ ๋น์ ์ธก์์ ์ฝ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค. ์ ๋ ํ์ฌ ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ์ค๋ช ํ๋ ์ฝ๊ฐ์ ๋ฌธ์๋ฅผ ์์ ์ค์ ๋๋ค. ๊ฑฑ์ ํ์ง ๋ง์ธ์. ๊ทธ๋ ๊ฒ ๋ณต์กํ์ง ์์ต๋๋ค!
๊ทธ๊ฒ์ด ๋ผ์ด๋ธ์ด๊ณ ๋ชจ๋ ๋นํธ๋ฅผ ์ฌ์ฉํ ์์์ ๋๋ง๋ค ์ฌ๊ธฐ์ ๊ฒ์ ํ ๊ฒ์ ๋๋ค. ํ๊ณ ํ ์ฝ์์ ์๋์ง๋ง 4 ์ ๋ง๊ฐ์ผ์ด ํจ์ฌ ๋ ๋นจ๋ฆฌ ๋๋์ผํฉ๋๋ค.
๋ค์ ํ ๋ฒ ์ ํฌ์ ํจ๊ป ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
ํด๊ฒฐ์ฑ ์ด ์ฌ๊ธฐ ์์ต๋๋ค!
๋ชจ๋ ๋นํธ๊ฐ ์ ์๋ฆฌ์ ์์ผ๋ฉฐ ์๋ฃจ์ ์๊ฐ์ ๋๋ค! ์์ฝ : ๋ชจ๋ ๋ด์ฉ์ ์ฌ๊ธฐ์ด ๋ฌธ์์ ์ค๋ช ๋์ด
์์ ์ ์ธ ์ฑ๋์์ ์ต์ Visual Studio (Mac ์ฉ)๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ธ์. ํ์ฌ Xamarin.Forms 4.5-pre1 ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค. ์ด๊ฒ์ด ์ฌ๋ฌ๋ถ ๋ชจ๋๋ฅผ์ํ ์ต์ ์ด ์๋ ์๋ ์์์ ์ดํดํฉ๋๋ค.ํ์ง๋ง ์์ฌํ์ญ์์ค. ์์ ์ ์ธ ํจํค์ง๋ ๋ง๊ฐ์ผ ์ด์ ์ ์ถ์ ๋ ๊ฒ์ ๋๋ค. Stable 4.5๋ 2 ์ ์ค์๋ถํฐ ๋ง๊น์ง ์์ ๋์ด ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก --optimize=experimental-xforms-product-type
ํ๋๊ทธ๋ฅผ iOS ์ถ๊ฐ mtouch ์ธ์ ์ค์ ์ UIWebView
์ ๋ํ ์์ ์ ์ธ๊ธ์ด ์๋ค๋ฉด ๐
๋น ๋ฅธ ์์ผ ๋ด์ ์๋ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. Forms ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํจํค์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ์ ๋ฒ์ ์ ์คํ ์ด์ ๋ฆด๋ฆฌ์คํ์ง ์์ ์๋ ์์ง๋ง,์ด ์๋ฃจ์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ ์ด๋ ๋น๋๋ฅผ ์ ๋ก๋ํ์ญ์์ค. ๊ทธ๋ ๊ฒ ํ ๋๋ง๋ค 4.5 ์์ ํจํค์ง๋ก ์ ๋ฐ์ดํธํ๊ณ ์์ ์๊ฒ ์ ๋ฒ์ ์ ๋ฆด๋ฆฌ์ค ํ ์ ์์ต๋๋ค.
์ด ์๋ฃจ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์๊ฒ ์ง์ ์ฐ๋ฝํ๊ฑฐ๋ (gerald.versluis [a with a long tail] microsoft.com) ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ ๋ฌธ์ ๋ฅผ์ฌ์ญ์์ค. ๋ฌผ๋ก ๊ธ์ ์ ์ธ ํผ๋๋ฐฑ๋ ํญ์ ๋์ด ํ๊ฐ๋ฉ๋๋ค ๐
๋ค์ ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ @ Mikilll94 , ์ฐ๋ฆฌ๋์ด ๋ฌธ์ ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํด๊ฒฐํ๊ณ ์์ง๋ง ์กฐ๋ง๊ฐ ์์ ํ ์๋ฃจ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. "์ ์ฒด ์๋ฃจ์ "์ ์ฌ์ฉํ๋ฉด Xamarin.Forms ์ฑ์ ์คํ ์ด์ ์ ์ถํ ๋๋ง๋ค Apple์์ ๊ฒฝ๊ณ ๊ฐ ๋ ์ด์ ํ์๋์ง ์์ต๋๋ค.
๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ค์งํ๋ ค๋ฉด ์์ค์์ ํ์ฌ
WebViewRenderer
๋ฅผ ์์ ํ ์ ๊ฑฐํด์ผํฉ๋๋ค. ๊ทธ ๋ ๋๋ฌ๊ฐ ํ์ฌ ๊ธฐ๋ณธ๊ฐ์ด๊ณ ์์ํ ์์ค์ ์์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค. ์ด ๋ฌธ์ ์ ๊ด๋ จ๋ PR์ ํตํด ๊ธฐ๋ณธ ๋ ๋๋ฌ๋ฅผWKWebViewRenderer
๋ก ์ ํํ์ฌ ์WKWebView
ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. Xamarin.Forms์ ์ต์ข ์ฌ์ฉ์๋์ด ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์์ ์ฐจ๋ฆฌ์ง ์์์ผํฉ๋๋ค. ์ด ์ค์์น๋ฅผ ์ฌ์ฉํ๋ฉด Xamarin.Forms ์ฌ์ฉ์์๊ฒ ์ฝ๋์์ ํ์ํ ๋ณ๊ฒฝ์ ์ํ ํ ์์๋ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ์๋WebViewRenderer
๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์์ผ๋ก ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ดWebViewRenderer
์ ์์กดํ๋ ์ปค์คํ ๋ ๋๋ฌ๊ฐ์๋ ๊ฒฝ์ฐ.๊ทธ๋ฌ๋
WebViewRenderer
๊ฐ ์ฌ์ ํ ์์ค์ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ Apple์ด ์ฑ์ ์ค์บํ๋ ๋์ ์ฌ์ ํ ์ ํํฉ๋๋ค. ์ต์ ๋ฒ์ 4.5 ์ธ Xamarin.Forms์ ์ต์ ๋ฒ์ ์์๋WebViewRenderer
์์ ํ ์ญ์ ํ๊ณ Apple์ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ์ค์ง๋์ด์ผํฉ๋๋ค.๊ทธ๋ ๊ธดํ์ง๋ง ์ ๊ฑฐํด์ผ ํ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
WebViewRenderer
๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ํ์ง ์๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด์ง๋ง์ด ์์ ์์ ์ ํ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์์๊ฒ ์ด์ ๋ํด ๊ฒฝ๊ณ ํ๊ณ ์ ์ฐจ์ ์ผ๋ก ๋จผ์ ์๋ก์ด ๊ตฌํ์ผ๋ก ์ ํ ํ ๋ค์ ์์ค์์ ํด๋น ํด๋์ค๋ฅผ ์ ๊ฑฐํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ์ด๊ฒ์ ๊ธด ํ๋ก์ธ์ค์ด์ง๋ง iOS 14๊ฐ ์ถ์๋๊ธฐ ํจ์ฌ ์ ์ ์ด๋ฃจ์ด์ ธ์ผํฉ๋๋ค.์ด๊ฒ์ ๋ํ ๊ทํ์ ๋ชจ๋ ์ฐ๋ ค๊ฐ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์๋ ค ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ต๋ณ ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ดํด์ ์ธ๋ด์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!