https://console.firebase.google.com/u/1/project/{프로젝트명}
에서 제공업체에 구글 추가 및 사용설정
XCode project - Firebase pod 설정 시 추가한 plist의
Reversed_CLIENT_ID의 value 값을
Project - Targets({project name}) - Info - URL Types의
URL Schemes에 컨씨컨브이
Reversed_CLIENT_ID의 value 값은 앱서비스마다 모두 다른값을 가지고, 구글은 위임할 서비스를 구분하게 됨
"Extra Argument ' source Application' in call 오류
원인 : https://firebase.google.com/docs/auth/ios/google-signin?authuser=0
스탭3에서 handle() 메서드 호출 시 파라미터 누락 설명
해결 : https://github.com/firebase/firebase-ios-sdk/issues/3906
에러를 보면 GoogleSignIn Framework는 for arm64라서
project - Build Settings - Excluded Architectures 쪽을 arm64로 바꾸면 arm64에선 실행될 수 없다하고..
GoogleSignIn arm64 지원하는 거도 파일 들어가서 확인했는데 ㅠㅠ
요기 참고해도 안됨...
https://github.com/firebase/firebase-ios-sdk/issues/7208
https://developer.apple.com/forums/thread/660782
노마드 코더에서 애플은 왜 인텔 대신 ARM을 선택했나?라는 영상에서
링크 - 노마드 코더
Intel/AMD에서는 CISC(Complex Instruction Set Computer) 방식을 사용하며
ARM에서는 RISC(Reduced Instruction Set Computer) 방식을 사용했다고 한다
두 방식은 Complex / Reduced의 차이로 볼 수 있는데
CISC 방식은 복잡한 명령어를 처리할 수 있는 반면,
RISC 방식은 복잡한 명령어를 여러번 풀어 실행하여 배터리 에너지 효율도 높이며 실행속도도 빨라질 수 있다고 한다.
그런데 Intel/AMD는 RISC를 쓰면 좋은데 왜 CISC 방식을 고집해 왔을까?
옛날 개발자들은 손으로 어셈블리어를 쓰며 개발을 했다.
지금이나 옛날이나 코드를 줄이려는 욕심(?)은 동일하겠지.
그러다보니 코드 길이를 줄일 수 있는 CISC 방식을 선호하게 되었다.
최근에는 흑/백으로 서로 나누지 않고 서로의 장점을 적용하여 아키텍처가 설계된다고 한다.
내가 겪은 위 문제도 아키텍처 문제로 보인다.
기존 CISC로 설계되었던 프로그램을 RISC로 설계한 M1 칩에서 컴파일하려고 하니 이해할 수 없는 명령어 등의 문제로 에러가 발생하게 된 것
그냥 오전에 티비보며 밥먹다가 남기고 싶어서 씀...
사이드 프로젝트 중 Xcode 로제타 + 터미널 로제타로 Pod 설치했는데
GIDSignInDelegate 빌드 실패 현상
https://ckhyeok.tistory.com/62
GoogleSignIn ver 5.0.2로 수정 후 Pod 재인스톨
지난 업데이트까지 빌드가 잘 되던 프로젝트가 해당 에러를 뱉으며 빌드에 실패를 했습니다.
에러가 발생한 이유는 해당 플러그인이 최신 6.xx 포드를 지원하지 않기 때문입니다.
해결 방법은 아래 방법 2개 중 1개를 선택하시면 됩니다.(1번을 추천드립니다, 시간이 없을 경우 2번)
sudo rm podfile.lock
sudo rm -r [project name].xcworkspace
sudo rm -r pods
pod install