728x90

간혹 Llnker에러가 나온다. 뭐가 문제인지 자세히 알려주지 않기때문에 터미널에서 빌드를 해보자.

xcodebuild -project Unity-iPhone.xcodeproj -target "Unity-iPhone" -configuration Debug -verbose

1. 터미널에서 xcode 프로젝트가 있는 곳으로 간다.
2. 위 명령어로 빌드를 해서 나온 실패 이유를 본다. 
3. 다시 구글 + gpt 검색 지옥으로 들어간다.

 

(Unity-iPhone은 타겟명이다. 각자에 맞는걸로 하면된다)

728x90
반응형
728x90

에러: Installation failed with the following output:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
해결: 핸드폰에 다운 받아져있는 기존 어플을 지우고 다시 해보기.

 

해석: 에러가 길게 나오는데, 중간에
commit 147753937. Error: INSTALL_FAILED_VERSION_DOWNGRADE: Downgrade detected: Update version code 1 is older than current 8
이런게 있다. 예전에 만들었던 게임을 리메이크한 거라 버전이 8로 되어 있었다. 1로 낮춰서 바꿔서 나온 에러.

728x90
반응형
728x90

문제: 프리팹으로 목록을 만들게 되었을때 스크롤뷰 크기가 맞지 않아 스크롤이 제대로 안되었다.

해결: Content Size Fitter 컴포넌트를 추가하여 Vertical 또는 Horizontal Fit 을 Preferred Size로 맞추면 된다.
Content Size Fitter는 Unity의 UI 요소 중 하나로, 해당 요소의 크기를 내부 콘텐츠의 크기에 자동으로 맞출 수 있게 해준다.

  1. Preferred Size:
    • Content Size Fitter의 Preferred Size는 해당 요소가 원하는 크기를 나타냅니다.
    • 이 값은 주로 내부 콘텐츠의 크기에 따라 동적으로 조절되는 UI 요소에서 사용됩니다.
    • 예를 들어, 텍스트 요소가 자체적으로 원하는 크기를 가지고 있고, 이 크기에 따라 부모 요소의 크기가 동적으로 조절되어야 할 때 Preferred Size를 활용할 수 있습니다.
  2. Unconstrained:
    • Unconstrained는 크기 제한이 없음을 나타냅니다.
    • 요소가 부모나 다른 레이아웃 그룹에 크기에 대한 제약을 받지 않을 때 사용됩니다.
    • 만약 Unconstrained가 선택된 경우, Content Size Fitter는 내부 콘텐츠에 대한 크기 제약을 무시하고 부모 레이아웃에 맞게 크기를 조절합니다.
  3. Min Size:
    • Min Size는 최소 크기를 나타냅니다.
    • 콘텐츠의 크기가 이 값보다 작을 경우, 부모 레이아웃은 Min Size로 설정된 크기를 유지합니다.
    • 이것은 콘텐츠가 특정 크기보다 작아지지 않도록 보장하는 데 사용됩니다.

 


- 만약 이미지가 짤린다면 padding을 넣어준다.

728x90
반응형
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
반응형
728x90

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

해결 : 컴퓨터를 껐다 켬.

728x90
반응형
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
반응형
728x90

문제: Destory를 못찾는다.

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

728x90
반응형
728x90
728x90
반응형

+ Recent posts