Edit > Project Settings > Audio에서DSP Buffer Size를Best latency로 설정 - Best Performance : 성능이 우선 되어 출력 시 지연이 발생할 수 있음 - Best latency : 지연이 발생하지 않는 것을 우선시하여 출력 품질이 저하될 수 있음
리소스 타입별 세팅
배경음 1 - Force To Mono : 언 체크(퀄리티에 따라 가변) - Load In Background : 체크 - Load Type : Streaming - Preload Audio Data : 언 체크 - Compression Format : Vobis (100%)
배경음 2 - Force To Mono : 언 체크(퀄리티에 따라 가변) - Load In Background : 체크 - Load Type : Compressed In Memory - Preload Audio Data : 언 체크 - Compression Format : Vobis (70%)
효과음 : 작은 크기의 빈번한 출력 - Force To Mono : 체크 - Load In Background : 언 체크 - Load Type : Decompress On Load - Preload Audio Data : 체크 - Compression Format : PCM
긴 효과음(보이스) : 중간 크기의 빈번한 출력 - Force To Mono : 체크 - Load In Background : 언 체크 - Load Type : Compressed In Memory - Preload Audio Data : 체크 - Compression Format : ADPCM
작은 크기의 가끔 발생하는 Sound - Force To Mono : 체크 - Load In Background : 언 체크 - Load Type : Compressed In Memory - Preload Audio Data : 언 체크 - Compression Format : ADPCM
중간 크기의 가끔 발생하는 Sound - Force To Mono : 체크 - Load In Background : 언체크 - Load Type : Compressed In Memory - Preload Audio Data : 언 체크 - Compression Format : Vobis (70%)
개별 리소스 세팅 정보
Force To Mono(모노 강제조정) - 스테레오를 모노로 강제 조정 - 모바일이고 최적화를 중시할 경우 설정(체크) 함
Load In Background(지연된 로딩) - 체크 시 출력 타이밍을 엄격히 지키지 않고, 느긋하게 백그라운드에서 로드 - 따라서 배경음악일 경우 사용 FX 사운드의 경우 체크 해제
Load Type - Decompress On Load 실행과 동시에 압축을 해제 작은 사이즈의 FX 사운드에 유용 많은 메모리 점유 CPU는 적게 사용
- Compressed In Memory 메모리에 압축 상태로 저장, 실행 시 압축을 해제하여 재생 약간의 성능상 오버헤드를 발생시킴 보이스 사운드 등에 사용
- Streaming 저장소에 위치한 오디오를 실시간으로 읽어냄. 보통 배경음악에서 사용
Preload Audio Data - 씬이 로딩될 때 씬에서 사용하는 모든 오디오 클립을 미리 로드 - 언체크시 플레이시 로드 하기에 랙 발생 됨
Compression Format - PCM 최고품질 / 용량 큼 / 작은 파일 크기에 적합 / FX 사운드 Load Type은 Decompress On Load로 하자 즉시 재생해야 하는 매우 짧은 효과음
- ADPCM 중간 품질 / 용량 중간 PCM대비 3.5배의 압축비, 노이즈가 포함됨 총격 소리와 같이 무압축에 가까운 품질 까지는 필요없지만, 지연시간 없이 자주 반복 재생 되야 하는 경우 적절
- Vobis 최저품질 / 용량 적음 / 배경음에 적합 압축률 설정이 가능(보통 70%로 설정) 지연 재생 되어도 무방한 일반적인 배경음
pod install output:
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":
In Podfile:
Firebase/Auth (= 10.6.0) was resolved to 10.6.0, which depends on
FirebaseAuth (~> 10.6.0) was resolved to 10.6.0, which depends on
GTMSessionFetcher/Core (< 4.0, >= 2.1)
GoogleSignIn (= 6.0.2) was resolved to 6.0.2, which depends on
GTMAppAuth (~> 1.0) was resolved to 1.3.1, which depends on
GTMSessionFetcher/Core (< 3.0, >= 1.5)
GoogleSignIn (= 6.0.2) was resolved to 6.0.2, which depends on
GTMSessionFetcher/Core (~> 1.1)
Firebase 10.6.0이 업데이트 돼서 다시 한 번 iOS 빌드를 시도해 봤는데 여전히 에러가 난다.
UnayOzan commented on Feb 5
Fixed this error with changing the version in "GoogleSignIn.podspec.json" file.
Firebase/Auth (= 10.4.0) was resolved to 10.4.0, which depends on
FirebaseAuth (~> 10.4.0) was resolved to 10.4.0, which depends on
GTMSessionFetcher/Core (< 4.0, >= 2.1)
GoogleSignIn (~> **5.0.2**) was resolved to **5.0.2**, which depends on
GTMSessionFetcher/Core (~> **1.1**)
I found the file in {user}.cocoapods/repos/cocoapods/Specs and then just search for "GoogleSignIn.podspec.json".
Find the folder with the same version with the error, in my case 5.0.2.
And then change its dependencies with the version 7.0.0 or something that works with the other packages.
In my project the solution was this;
"dependencies": {
"AppAuth": [
"~> 1.5"
],
"GTMAppAuth": [
">= 1.3",
"< 3.0"
],
"GTMSessionFetcher/Core": [
">= 1.1",
"< 4.0"
]
After that I exited Xcode, deintagrated pods, cleaned cache and installed it again.
Everything works fine now.