소켓 통신 라이브러리를 만들어 사용하는 중인데 '.NET' 응용프로그램에서는 문제가 없는데 유니티에서는 문자열이 깨지는 현상이 발생했습니다....???? 1. 문제의 발견 서버에서는 문자열을 아스키 배열로 보내고 있습니다. .NET 프로그램에서는 아스키를 문자열로 바꿀 때 다음과 같은 방법을 사용합니다. Encoding.Default.GetString(byteData); -- 혹은 -- Encoding.ASCII.GetString(byteData); 그런데 유니티에서는 이렇게 하면 한글 아스키가 디코딩되지 않는 현상이 있습니다. 재연하기 재연용 코드는 다음과 같습니다. //byte[] ascii = System.Text.ASCIIEncoding.Default.GetBytes("가나다라"); byte[] ..
유니티뿐만 아니라 UI/UX관련 작업을 하다 보면 UI쓰레드가 아닌 곳에서 작업하다가 문제가 생기는 경우가 종종 있습니다. 얼마 전 서버에서 온 데이터를 UI 뿌리는 테스트를 하고 있었는데 UI가 갱신되지 않는 현상이 일어났습니다. * 테스트에 사용된 버전 : Unity 2020.3.25f1 연관글 영역 1. 다른 쓰레드 이런 경우 원래는 에러가 나야 하지만 유니티도 그렇고 다른 플랫폼도 그렇고..... 에러가 안 나는 경우가 있긴 합니다. ㅎㅎㅎㅎ 결국 올 게 왔구나 하면서 검색을 하는데.... 뭐지? 증상을 격은 사람들은 많은데 해결에 대한 내용이 없지;;;; C#은 쓰레드에 액션만 던져주면 간단하게 해결이 가능합니다. 참고 : [WPF] 다른 스레드에서 UI쓰레드 접근하기 - Dispatcher.I..
audio: Failed to create voice 'adc' 라는 메시지와 함께 에뮬레이터에 디버깅이 안 되는 현상이 일어났습니다..... 1. 해결방법인터넷에 검색해보면 'dPad'설정을 바꿔 보라느니 안드로이드 스튜디오 설치를 다시 하라느니 하는 말이 있는데.....다 안됩니다. 메시지를 잘 보면 '오디오인'쪽에서 에러가 난것으로 보입니다. 그렇다면 컴퓨터에 마이크를 꼽아보고 해봅시다.그러니 진행은 됩니다.. 2. 응용이대로라면 설정에서 오디오 인풋만 제거하면 마이크 안 꼽아도 될것 같습니다. 그런데 막상 해보면 안됩니다;; 마무리검색해보면 마이크가 연결돼있지 않거나 운영체제가 마이크를 인식할 수 없는 상황에서 발생하는 경고라고 합니다. 그런데 잘 쓰던 에뮬레이터였는데....갑자기 이런 문제가....
7.0에서 되길래 별 생각 없이 프로덕션으로 올렸는데 8.0유저들이 알림 안 온다고 합니다 ㅡ.-;;; 그래서 빌드를 돌리니.... 잘쓰던 코드가 업데이트하고 나니 오류가 납니다. Unhandled Exception: Java.Lang.NoSuchMethodError: 알림이 뭐 어쨌다고?????? 1. 안드로이드 알림이 바뀌었다. 안드로이드 오래오(8.0, Oreo) 버전부터 알림의 구조가 좀 바뀌면서 자마린도 업데이트가 있었습니다. 어찌 됐건 오래오 버전부터는 'Notification.Builder'를 사용해야 합니다. 2. 오래오 미만버전에서는 안된다 'Notification.Builder'로 바꾸고 나니 이제 오래오 미만 버전에서 오류가 납니다 ㅋㅋㅋㅋ MSDN을 보다가 뭔가 다른 걸 발견했습니다..
이 메시지가 리젝(reject)사유로 뜨면 사실상 이것저것 다 확인해봐야 합니다. -_-;;;; Dear Developer, We identified one or more issues with a recent delivery for your app, "[앱 이름]". Please correct the following issues, then upload again. Invalid Signature - A sealed resource is missing or invalid. The file at path [앱 구분키] is not properly signed. Make sure you have signed your application with a distribution certificate, not an..
자마린으로 프로그램을 만들다 보면 가끔 어느 순간 부터 iOS 시뮬레이터에 연결하여 디버깅하면 시뮬레이터도 올라오고 프로그램도 설치되지만 디버깅은 끊기는 현상을 격을 수 있습니다. 1) 앱이 종료되었습니다. 시작에 실패했습니다. 'iPhone 8 Plus iOS 11.3'에서 '[번들 식별자]' 앱을 시작할 수 없습니다. 오류: error HE0042: Could not launch the app '[번들 식별자]' on the device '[iPhone 기종]': The request to open "[번들 식별자]" failed.. 자세한 내용은 로그를 확인하세요. 앱이 종료되었습니다. 2) Launch failed. The app '[번들 식별자]' could not be launched on '..
앱을 만들고 올렸는데 앱스토어에서 다음과 같은 리턴 메일이 왔습니다. The App Store Team. We identified one or more issues with a recent delivery for your app, "[app 이름]". Please correct the following issues, then upload again. Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle '[번들 식별자]'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must ..
iOS에 배포하고 나니 아래와 같은 안내메시지가 나옵니다. 응용 프로그램을 시작하세요. 응용 프로그램이 빌드되고 업로드되었거나 이미 최신 상태입니다. Visual Studio는 배포 프로비저닝 프로필로 서명되었으므로 응용 프로그램을 자동으로 시작할 수 없습니다. 장치에서 응용 프로그램 아이콘을 탭하여 시작하세요. Please Start the Application The application has been built and uploaded, or is already up to date. Visual Studio cannot start the application automatically because it was signed with a Distribution provisioning profile. P..
보안 문제 때문에 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 매니..