글을 쓰는 목적
UE4.26.2에서 EasyFirebase를 사용하여 Crashltyic 기능을 사용하고 있는데, Remote 빌드 후 IOS에서 DSYM file 을 업로드하는데 에러사항이 있어서 기록하기 위해 글을 쓴다.
작업 환경
Window10
Xcode12
macOS Bigsugar
UE4.26.2
Jenkins2.222.1
Android
Andorid Build 후 UE4 Intermediate의 gradle 폴더로 이동
Android 빌드가 Debug라면 uplaodCrashltyicSymbolFileDebug, Release라면 UploadCrashlyticsSymbolFileRelease 실행
cd Project/Intermediate/Adroid/arm64/gradle
gradlew.bat app:uploadCrashlyticsSymbolFileDebug
gradlew.bat app:uploadCrashlyticsSymbolFileRelease
https://www.youtube.com/watch?v=8auPdkqrHW8
만약 구글 서비스가 작업이 진행되어 있지 않다고 하면
gradlew.bat app:processReleaseGoogleServices
gradlew.bat app:processDebugGoogleServices
IOS
설정
- IOS Remote build 설정
- IOS Remote 빌드 참조(https://tigerfish.tistory.com/62)
- Jenkins SSH Plugin 설치
- Jenkins에서 Credentials 설정(https://goateedev.tistory.com/40)
- Credentials 설정
- Credentials - System - Add Credentials
- SSH 설정
- Jenkins 관리 - SSH remote hosts
- Credentials 설정
- UploadSymbols 실행
- Jenkins project에 Execute shell script on remote host using ssh 추가
- upload-symbols shell script 실행
- upload-symbols path : /Users/UserName/UE4/Builds/PC Name/C/Jenkins/workspace/Project/Client/Plugins/EasyFirebasePro/Source/ThirdParty/IOS/upload-symbols
- ios remote build DSYM path : /Users/UserName/UE4/Builds/PC/C/Jenkins/workspace/Project/Client/Binaries/IOS/Project.dSYM.zip
- 예시
#!/bin/bash /Users/UserName/UE4/Builds/PC/C/Jenkins/workspace/Project/Client/Plugins/EasyFirebasePro/Source/ThirdParty/IOS/upload-symbols -gsp /Users/UserName/Desktop/Workspace/Project/Client/Content/google/GoogleService-Info.plist -p ios /Users/UserName/UE4/Builds/PC/C/Jenkins/workspace/Project/Client/Binaries/IOS/Project.dSYM.zip
주의
1. UploadSymbol.sh를 작성하고 Jenkins를 통해 리모트 빌드를 시도했을 떄 아래와 같은 로그 에러가 난다.
zsh:3: permission denied: /Path/FirebaseUploadSymbol.sh
저런 경우 macOS 터미널에서 아래와 같은 명령을 수행해 준다.
$ sudo chmod -R 777 folderpath
2. Development Provisioning은 Development dSYM file upload, Enterprise Provisioning은 Shipping dSYM file upload
주의점
Firebase에서 Android 크래쉬릭 테스트 하는 경우 심볼이 없어로 로그가 남아 있는데(누락이라고 뜨고 의미 없는 로그가 남는다) 최신 버전으로 최근에 crashltyic을 올리고 이전 버전의 App으로 Crashltyic 테스트를 하는 경우 로그 조차 안남는 경우가 있다. 항상 최신 버전에서 최신 로그로 테스트 해야한다.
참고
https://goateedev.tistory.com/40
https://butter-ring.tistory.com/17
https://uchupura.tistory.com/67
https://answers.unrealengine.com/questions/463061/a-required-platform-sdk-is-missing-ios.html
https://github.com/firebase/firebase-ios-sdk/issues/5787
https://donggu1105.tistory.com/45
'UE4' 카테고리의 다른 글
UE4 UMG에서 RenderTarget 사용 방법 (0) | 2021.07.15 |
---|---|
UE4 Custom Property Layout 만들기 (0) | 2021.06.09 |
UE4.26 IOS remote build (0) | 2021.05.12 |
UE4.26 Android Build (2) | 2021.05.11 |
UE4 IOS Package를 위한 Apple Certificate 발급 (0) | 2021.04.09 |