728x90

ios 빌드를 할때 이런 에러가 나왔다.
파이어베이스가 정상적으로 등록이 되었다는 것을 전제하에.

1. https://console.cloud.google.com/apis/

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

구글 콘솔에 들어가서 프로젝트 선택에 파이어베이스에 연결한 어플을 선택한다.
- 여기서 내 어플이 나오지 않을 수 있는데, 이유는 잘 모르겠지만 내 추측으로는 
  -- 시간이 조금 걸리거나.
  -- 인증 제공업체에 google 로그인 인증을 활성화 해보고 좀 더 기다려 보자.


2. 메뉴 > 사용자 인증정보에 OAuth 2.0 클라이언트 ID 가 자동으로 생성되어 있지 않다면 아래 캡쳐를 참고해서 생성한다.

- 캡쳐를 하진 않았지만 쉬워서 하라는대로만 하면된다. 내 경우에는 필수값만 채워넣었다.
- OAuth 2.0 클라이언트 ID목록에 생성된걸 확인할 수 있다.
   내 경우에는 plist를 다운받는 창이 떠서 다운받았다. 만약 다운받지 않고 그냥 껏어도 괜찮다. 생성된 항목을 눌러서 들어가면

IOS URL 스키마가 REVERSED_CLIENT_ID이다.

<key>CLIENT_ID</key>
<string>채워넣기</string>
<key>REVERSED_CLIENT_ID</key>
<string>채워넣기</string>

이제 위 항목을 채워 넣어서 plist에 넣으면된다.

내 경우엔 이렇게해서 되었다.

 

 


드디어 게임이 나왔드아.... ㅜ
유달리 힘들었던 게임이다. 애정이 들어가서 그른가...
누군가 이 글을 본다면 한 번 씩 해보시길 바람...아니 부탁함다.
아득바득 살고있는 중생이어라.. 5점 리뷰도 달아주심 정말 감사합니닷...

진술로만 해결해야하는 추리게임!
난이도는 높지만 도전해 보세요!
갑자기 홍보말투 ㅋㅋㅋㅋ

"초동수사 - 증언/증거 추리게임"

구글플레이스토어
https://play.google.com/store/apps/details?id=com.loomiloomi.crimescene&pcampaignid=web_share

앱스토어
https://apps.apple.com/us/app/%EC%B4%88%EB%8F%99%EC%88%98%EC%82%AC-%EC%A6%9D%EC%96%B8-%EC%A6%9D%EA%B1%B0-%EC%B6%94%EB%A6%AC%EA%B2%8C%EC%9E%84/id6499072416

 

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

+ Recent posts