>

최근에 Unity 게임에 Google Firebase Analytics를 설정하려고했습니다. iOS 전용으로 빌드하고 있습니다. 불행히도 Firebase를 작동시킬 수 없었습니다.

Xcode 8.1, OSX 10.12.1 및 Unity 5.5.0f3을 사용하고 있습니다

Unity에서 iOS로 빌드하려고 할 때마다 콘솔에서이 오류가 발생합니다 :

<시간>

Error running cocoapods. Please ensure you have at least version 1.0.0.  You can install cocoapods with the Ruby gem package manager:
sudo gem install -n /usr/local/bin cocoapods
pod setup
'pod --version' returned status: 127
output: 
UnityEngine.Debug:LogError(Object)
Google.IOSResolver:Log(String, Boolean, LogLevel)
Google.IOSResolver:OnPostProcessInstallPods(BuildTarget, String)
UnityEditor.HostView:OnGUI()

<시간>

온라인에서 찾을 수있는 모든 제안을 시도했습니다. Cocoapods 버전 1.1.1을 설치 한 후 베타 버전 1.2.0.beta.1을 사용해 보았는데 아무런 효과가 없습니다.

터미널에서 "어떤 포드"를 입력하면/usr/local/bin/pod가 생성됩니다. 터미널에 "pod --version"을 입력하면 올바른 버전 번호가 생성됩니다 (예 : 1.2.0.beta.1)

이 빌드를 게임 프로젝트 또는 방금 firebase를 가져 와서 빌드하려고 시도한 완전히 빈 프로젝트에서 작동시킬 수 없습니다. https : // github 다음 링크에서 샘플 프로젝트로이 작업을 시도했습니다. .com/firebase/quickstart-unity

여기서 아이디어가 없습니다 ... 어떻게 도와 드릴까요?

아주 감사합니다!

  • 답변 # 1

    Firebase 엔지니어는 여기에 있습니다.

    오류를보고하는 코드는 다음과 같습니다. https://github.com/googlesamples/unity-jar-resolver/blob/b7a90e43d6c893622102ca53681f53a58dab1a24/source/IOSResolver/src/IOSResolver.cs#L760

    안타깝게도 stderr 스트림을 로깅하지 않는 것처럼 보이므로 어떻게 실패하는지 알기가 어렵습니다.

    포드 도구가 0이 아닌 오류 코드를 반환하는 것 같습니다. 이유는 확실하지 않습니다. 예를 들어 내 컴퓨터에는 다음이 표시됩니다.

    $ which pod
    /usr/local/bin/pod
    $ pod --version ; echo $?
    1.1.1
    0
    
    

    "pod --version"이 "0"(성공)을 반환 함을 알 수 있습니다.

    유사하게, github에서 최신 Cocoapods 도구를 가져 오기 https://github.com/CocoaPods/CocoaPods 수율 :

    cd CocoaPods
    export RUBYLIB=$(cd lib ; pwd)
    export COCOAPODS_NO_BUNDLER=1
    $ ./bin/pod --version ; echo $?
    1.2.0.beta.1
    0
    
    

    같은 일이 발생하면 포드 도구는 성공 종료 코드를 반환합니다.

    시도 :

    [email protected]으로 문의하십시오.이 문제를 진단하고 해결하기 위해 귀하와 직접 협력 할 수 있습니다.

    LANG 변수를 변경해보십시오. 과거에이 코드 https://github.com/CocoaPods/CocoaPods/blob/8db5956/bin/pod#L3에 의해 트립되었습니다. https://github.com/googlesamples/unity-jar-resolver/blob/b7a90e4/source/IOSResolver/src/IOSResolver.cs#L743에서 처리하지만 알 수는 없습니다.

    용감하다고 생각되면 https://github.com/googlesamples/unity-jar-resolver/를 직접 빌드하십시오 (루트 디렉토리에서 ./gradlew를 실행하여 DLL을 빌드 할 수 있어야 함). stderr보고, 발생한 오류 게시/진단

    건배, 스튜어트

  • 답변 # 2

    출력에이 오류가있는 경우 :

    Failed to extract git version from `git --version` ("xcrun: error: active developer path (\"/Applications/Xcode.app/Contents/Developer\") does not exist\nUse `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.\nSee `man xcode-select` for more details.\n") (RuntimeError),
    
    

    ... 그리고 XCode에 다른 경로가있는 경우 (내 경우에는 Xcode 베타가 있음) 다음 명령을 실행해야합니다.

    sudo xcode-select --switch /Applications/Xcode-beta.app/
    
    

관련 자료

  • 이전 리플렉션을 사용하여 일부 인수로 알 수없는 Rust 함수를 호출하려면 어떻게해야합니까?
  • 다음 하스켈 함수 서명 혼란