Firebase를 이용하여 구글이나 애플로그인 등등을 할 때 auth.SignInWithCredentialAsync(credential).ContinueWith(task => { ... }); 이런 콜백을 거치게 되는데 잘보면 콜백 타입이 Task이다 즉, 콜백이 메인스레드에서 돌아가지 않을 수 있다는 것. 😮 서브 스레드에서 돌아가면 어떤 문제가 일어나나요? - 유니티는 서브 스레드에서 유니티의 API를 호출할 수 없다. 에러와 함께 스레드가 종료돼버리고 try, catch문으로 에러를 출력하지 않는다면 콘솔에 에러도 출력되지 않는다. 그래서 이 경우엔 2가지 방법이 있다. 1. bool변수로 플래그를 세워서 Update()문에서 플래그 체크 후 이후 작업 진행 2. 큐에 액션을 담아놓고 외부 클래스에..
개요회사에서 3개월 바짝 개발한 게임을 플레이 스토어에 먼저 올리고,앱스토어 심사도 등록해봤다. 소모성 인앱결제 아이템이 있어서 인앱결제 아이템을 등록하고 테스트 플라이트에서 결제 테스트를 마치고,심사 등록을했는데 거절당했다. 심사 통과까지의 기록을 적는다. 본문우선 첫 거절사유는 이랬다.1. 소셜 로그인을 넣었으면 (iOS에는 파이어베이스로 구글 이메일 로그인만 넣은 상태였다) 애플 로그인도 넣어야한다.2. 계정삭제 기능을 넣어야 한다. (사실 있는데 심사관이 못찾았다)3. 유저가 로그인 없이 게임을 즐길 수 있는 방안도 마련해라 => 즉, 게스트 로그인을 만들어라4. 퍼포먼스 이슈 - 인앱결제 아이템이 불러와지지 않아서 로딩이 끝나지 않는다. => 이부분이 이 글의 핵심이다. 1,2,3번 사유의 해결..
이 글은 작업 당시 급박했던지라 기록을 많이 남기지 않아서 깔끔하게 정리할 수 없습니다. 다른 분들이 보시면 이해하기 어려우실 수 있습니다. 개요 iOS에서 소셜 로그인 기능을 넣기위해 파이어 베이스 패키지를 임포트했는데 이때부터 윈도우에서 빌드하고 Xcode프로젝트를 맥으로 옮겨서 빌드하는 방법이 안통하기 시작 찾아보니 이 순간부터 빌드하는데 CocoaPods가 필요하기 시작 cocoapods? CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 27 thousand libraries and is used in over 1.6 million apps. CocoaPods can help you sca..
개요 -이 작업을 하게된 계기 효과음 사운드 적용 작업을 시작하게 됐는데 생각해보니 UI버튼에 사운드가 들어갈 대비를 미리 안했었다. 그래서 그 많은 UI에 일일히 사운드를 연결해줘야하나 고민하다가 Button 클래스를 상속받아 새로운 버튼 클래스를 만들어서 확장성을 넓히기로 결정했다. 본문 1. 일단 상속을 받아보자 ! 먼저 Button 클래스를 냅다 상속받고 변수를 하나 추가한 뒤에 인스펙터를 확인해보자. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using UnityEditor; using UnityEdit..
개요 [Unity] HTTP REST api 통신 모듈 구현 개요 사내에 딱 정해진 REST api 통신 모듈이 없다보니 직접 만들고 다음 프로젝트가 진행될때마다 겪었던 시행착오들을 상기하며 모듈을 보완, 발전 시키고 있다. 이제는 틀이 꽤 잡힌것 같아서 trialdeveloper.tistory.com 위 글에서 작성했던 통신 모듈을 팝업 시스템 구현에 사용한 빌더패턴으로 재구성을 하는 글이다. 이유는 리퀘스트 전송 함수를 이런식으로 짰는데 protected virtual IEnumerator SendRequestCor(string url, SendType sendType, JObject jobj, Action onSucceed, Action onFailed, Action onNetworkFailed) ..
짧은 기록글 활용 용도 서버에서 받은 문자열 날짜(시간)를 DateTime 구조체로 파싱 현재 날짜(시간)과 비교하여 남은 시간을 계산할때 사용함 Unity식 예시 DateTime dt = DateTime.ParseExact("2023-02-23 16:54:06", "yyyy-MM-dd HH:mm:ss", null); Debug.Log(dt.ToString()); Debug.Log(string.Format("Now: {0}", DateTime.Now.ToString())); TimeSpan ts = dt - DateTime.Now; Debug.Log(string.Format("남은 시간: {0}", ts.ToString())); Debug.Log(string.Format("소숫점 제거: {0}", ts...