728x90

에러: 파이어베이스 사용시 나오는 에러
해결: ContinueWith => ContinueWithOnMainThread
  -- 파이어베이스 초기화가 된 쓰레드와 사용하려는 메서드의 쓰레드 위치가 달라서였던 것 같다.

 

  1. ContinueWith 메서드:
    • 이 메서드는 비동기 작업이 완료된 후에 실행할 콜백을 정의합니다.
    • 이 콜백은 작업이 완료되면 워커 스레드에서 호출됩니다. 이는 일반적으로 백그라운드 스레드에서 실행되기 때문에 Unity에서는 메인 스레드 외부에서 UI 변경과 같은 작업을 수행하면 문제가 발생할 수 있습니다.
  2. ContinueWithOnMainThread 메서드:
    • 이 메서드는 ContinueWith와 비슷하지만, 콜백이 항상 메인 스레드에서 실행되도록 보장합니다.
    • Unity에서는 주로 메인 스레드에서 UI와 관련된 작업을 수행해야 하기 때문에, Firebase 작업이 완료된 후에 메인 스레드에서 콜백을 실행하는 것이 중요합니다. ContinueWithOnMainThread는 이러한 요구 사항을 간단하게 처리합니다.

// ContinueWith 예제
someFirebaseOperation.ContinueWith(task => {
    // 백그라운드 스레드에서 실행
    Debug.Log("Firebase 작업 완료");
});

// ContinueWithOnMainThread 예제
someFirebaseOperation.ContinueWithOnMainThread(task => {
    // 메인 스레드에서 실행
    Debug.Log("Firebase 작업 완료 (메인 스레드)");
});

 

728x90

문제 : SceneManager.LoadScene과 Application.version이 먹통이 됐다. 에러도 안나고 딱 거기 멈춰서 그 이후 소스가 진행이 안됨.

해결 : 컴퓨터를 껐다 켬.

728x90

에러문
'Task<DependencyStatus>' does not contain a definition for 'ContinueWithOnMainThread' and no accessible extension method 'ContinueWithOnMainThread' accepting a first argument of type 'Task<DependencyStatus>' could be found (are you missing a using directive or an assembly reference?)

해결: 스크립트에 아래 추가
using Firebase.Extensions;

728x90

문제: Destory를 못찾는다.

해결:
1. 스크립트 클래스명 옆에 :MonoBehaviour 있는지 확인.
2. using UnityEngine

728x90
728x90

유니티에 안드로이드 핸드폰 꽂아서 실행하려다 이런 에러가 뜨는 경우가 있다. 

계속 잘 하고 있다가 안되는 경우에도 이유는 몇가지 없다. 

1. 디버깅모드가 풀렸다.

2. 개발자 권한 확인하기.

 

설정 > 핸드폰 정보 > 소프트웨어 정보 > 빌드 번호 6회? 연속으로 누르기.
이렇게 하면 개발자 옵션이 열린다. 설정 메인 화면으로 다시 가보면 맨 아래에 개발자 옵션 버튼이 생긴걸 볼 수 있다.
아래 디버깅> USB 디버깅 을 활성화 한다.

728x90

문제 ) 패키지매니저에서 인앱결제를 인스톨 하고 유니티 대시보드에서 프로젝트도 생성했다. 

근데 계속 이렇게 뜨는데, 

 

해결 ) 로그아웃 / 로그인 

728x90

Edit > Project Settings > Other Settings > Minimum API level 을 올려보자. 

나는 android 8.0으로 올렸더니 제대로 빌드가 됐다.

 

+ Recent posts