보안 문제 때문에 9.0부터는 'http'를 기본 지원하지 않습니다. 권한을 수정하여 'http' 사이트도 볼 수 있도록 해봅시다. 0. 테스트 환경 만들기 자마린 크로스 플랫폼 프로젝트를 생성하고 'MainPage.xaml'을 아래와 같이 작성합니다. 'MainPage.xaml.cs'의 생성자를 아래와 같이 작성해 줍니다. public MainPage() { InitializeComponent(); wvMain.Source = new UrlWebViewSource { Url = "http://google.com", }; wvMain.VerticalOptions = LayoutOptions.FillAndExpand; } 이제 테스트를 해보면 구글이 뜨지 않는 것을 알 수 있습니다. 1. 권한 추가 'ht..
"NSAppTransportSecurity"를 추가하면 다음 에러가 납니다. Invalid architecture: i386. 32-bit architectures are not supported when deployment target is 11 or later. 잘못된 아키텍처 : i386. 32 비트 아키텍처는 배포 대상이 11 이상인 경우 지원되지 않습니다. 1. 원인 iOS11부터는 32bit를 지원하지 않는다고 합니다. 2. 해결 방법 몇 가지 해결방법이 있는데 제가 성공한 방법은 최소 버전을 지정해 주는 것이었습니다. 2-1. 최소 버전 지정 'Info.plist'파일을 수정하여 최소 버전을 8.0으로 지정해주는 방법입니다. 그런데 그냥 'Info.plist'파일을 열면 강제로 'iOS 매니..
자마린으로 웹뷰넣고 돌렸는데 하얀 화면만 나오네? 1. 웹뷰 넣기 자마린에 웹뷰를 넣는 건 쉽습니다. (디자이너가 없어서 그렇지 -_-;;) 자말(.xaml)파일을 열고 스텍레이아웃(StackLayout)에 다음 코드를 추가합니다. 하지만 웹뷰만 생성될 뿐 이동은 되지 않습니다. 'Source'속성이 자마린의 낮은 버전에서 사용되던 속성이라 동작하지 않습니다. 자마린 도큐먼트를 보면 될 거 같은데 말이죠.... (참고 : Xamarin Guides - WebView) 2. 비하인드 코드로 넣기 위 방법이 왜 안되는지는 모르겠지만 일단 동적으로 추가하면 해결됩니다. 생성자에 다음 코드를 넣습니다. WebView webView = new WebView { Source = new UrlWebViewSource..
error MSB6006: "java.exe" has ended 이 오류는 자마린에서는 빌드가 됐는데 자바 쪽 빌드가 실패한 경우 나오는 에러입니다. 여러 가지 원인이 있지만 메시지는 이거 하나로 퉁치는 경우가 많아서 그때그때 찾아서 해결하는 방법뿐이 없습니다. 1. 증상 제 경우 자마린으로 Firebase 샘플을 따라 만들던 중 이 에러가 발생 했습니다. 처음부터 나는 건 아니고 'google-services.json'을 프로젝트에 첨부하고 빌드를 하면 이런 증상이 나왔습니다. 메시지도 아래와 같이 나옵니다. 이름은 '$' 문자, 16진수 값 0x24(으)로 시작할 수 없습니다. 내용만 보면 네이밍을 잘못했다는 뜻인데 구글에서 제공되는 라이브러리로 빌드되는 파일에서 나는 경고라 답이 없습니다. 그리고 ..
원래는 다른 포스팅에 한 개로 올리려고 했던 걸 양이 많아서 분리했습니다. 참고로 전 이 방법들이 안됐습니다. 그래서 다른 방법을 사용해서 해결했습니다. (참고 : [Xamarin] 비주얼 스튜디오 에뮬래이터(Visual Studio Emulator)에서 자마린 배포가 안되는 현상 ) 이 포스팅은 제가 써본 방법들을 정리하는 포스팅입니다. 이 포스팅에 나온 방법들은 각각 단독으로 사용하는 방법들입니다. 1. 관리자 권한으로 비주얼 스튜디오 실행하기 비주얼 스튜디오를 관리자 권한으로 실행합니다. (참고 : [Xamarin] 디버그 시작시 무한 로딩 현상 ) 2. 하이퍼v(hyper-v) 프로세서 호환성 설정 생성한 하이퍼v(Hyper-V) 가상 컴퓨터의 설정 중 호환성을 수정하는 방법입니다. 참고 : st..
비주얼 스튜디오 에뮬레이터를 설치하고 자마린을 빌드하여 에뮬레이터에 배포하는데 반응이 없는 현상이 있습니다. 전에도 이거랑 비슷한 증상을 이야기한 적이 있는데요. (참고 : [Xamarin] 디버그 시작시 무한 로딩 현상 ) 이 방법 말고도 일반적으로 해봐야 할 방법들도 정리했습니다. (참고 : [Xamarin] 비주얼 스튜디오 에뮬래이터(Visual Studio Emulator)에서 자마린 배포가 안되는 현상 - 일반적인 해결 방법 ) 같은 현상이 또 일어났습니다. 비주얼 스튜디오의 고질적인 문제일지도? ㅋㅋㅋㅋ 1. 증상 보통 아래 스크린 샷과 같이 에뮬레이터까지는 실행되는데 배포가 되지 않고 무한 로딩에 빠지는 현상입니다. 1>5" Marshmallow (6.0.0) XXHDPI Phone 배포 시..
자마린을 개발할 때 UI를 미리 보는 창이 있는데 미리 보기 창이 기본으로 열려있지를 않네요. 메뉴는 어디간거늬! 이게뭐라고 꼭꼭숨겨둔건지 ㅜㅡ 1. 메뉴 찾기 보기 > 다른 창 > Xamarin.Forms Previewer 를 선택합니다. 그러면 아래처럼 프리뷰 화면이 뜹니다. 2. 연결이 안된다? 원래는 이 상태로 빌드하면 화면이 나와야 합니다. 그런데 연결이 안 되고 다음과 같은 메시지가 뜬다면? (메시지는 상황에 따라서 다를 수 있습니다.) 일단 참조 > NuGet 패키지 관리를 열어 "Xamarin.Forms"를 업데이트해줍니다. (여러 개의 프로젝트가 있으면 해당 프로젝트마다 업데이트해줘야 합니다.) 그다음 1) 솔루션을 정리합니다. 2) 솔루션 다시 빌드를 눌러 빌드를 합니다. 짠잔 절대 안..
유니티UI에서 UI를 만들고 인스팩터(Inspector)을 확인해보면 랙트 트랜스폼(Rect Transform)이 추가된 것을 알 수 있습니다. 랙트 트랜스폼에는 앵커 프리셋(Anchor Presets)이라는 것이 있습니다. (참고 : 유니티 매뉴얼 - 기본적인 레이아웃 ) UI가 유동적으로 배치되야 할 때(여러 해상도에 대응한다든가 하는 상황) 어떻게 배치돼야 하는지를 설정하는 값입니다. 이 포스팅에서는 앵커 프리셋을 어떻게 다루고 사용하는지 알아보겠습니다. 1. 앵커를 찾아라! UI 패널(GameObject > UI > Panel)을 하나 생성합니다. 생성된 패널의 인스팩터를 확인하면 랙트 트랜스폼이 있습니다. 랙트 트랜스폼의 첫줄 왼쪽에 상자가 있습니다. 이것이 앵커 프리셋입니다. 씬(Scene)화..
유니티(Unity) UI에서 스크롤을 쓰는 방법은 크게 스크롤 뷰(Scroll View)를 쓰는 방법과 패널에 스크롤 바(Scroll bar)를 연결하는 방법이 있습니다.빠르고 편하게 쓸 생각이면 스크롤 뷰를 쓰는 것이 좋고 직접 커스텀하게 만들 생각이면 스크롤 바를 연결하는 것이 좋습니다. 1. 스크롤 뷰(Scroll View)를 사용하는 방법 GameObject > UI > Scroll View 를 선택하여 UI화면에 스크롤 뷰를 추가합니다. 콘텐츠(Content)안에 스크롤할 내용을 넣고 적당히 콘텐츠의 크기를 수정해 줍니다. 생성된 스크롤 뷰에 있는 콘텐츠안에 GameObject > UI > Image를 추가하고 원하는 이미지를 넣어 주고 콘텐츠 크기보다 크게 지정해 줍니다. 스크롤 뷰 보다 이미..
유니티에서 클릭했을 때 맨 위에 있는 오브젝트를 찾는 대표적인 방법이 레이캐스트(Raycast)를 이용한 방법입니다.그런데 2D 스프라이트(Sprite) 오즈젝트(object)를 사용하면 레이캐스트가 맞질 않습니다. 스프라이트의 기본 설정에 충돌체(Collider)가 없기 때문입니다. 1. 증상 확인하기 2D프로젝트를 생성하고 '2D Object > Sprite'와 '3D Object > Plane2'를 추가하고 두 오브젝트를 어느 정도 겹쳐 둡니다.상태를 확인할 텍스트오브젝트도 하나 올려줍니다. 스크립트를 생성하고 아래 코드를 넣습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ..