블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-20 00:00

Apple Mac Studio M1 Ultra

Sonoma 14.4.1

----

 

Mac M1에서 CocoaPods 업데이트(pod repo update)를 하려고 pod을 입력하니 '찾을 수 없다(Can't find pod in path)'고 뜬다.

 

찾아보니 M1에서는 별도로 처리를 좀 해줘야되나보다.

아래와 같은 순서로 진행했다.

 

 

1. 응용 프로그램 > 유틸리티 > 터미널.app 우클릭(Right-Mouse Click) > 정보 가져오기 클릭(Left-Mouse Click)

 

2. 'Rosetta를 사용하여 열기' 체크

 

3. '터미널.app' 완전 종료 후 재실행

4. cocoapods/ffi 언인스톨(기존 것 삭제)

    → sudo gem uninstall cocoapods

    → sudo gem uninstall ffi

 

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

    (정확히 왜 하는진 모르니 일단 하라고하니 함..)

6. cocoapods/ffi 인스톨

     sudo gem install cocoapods

     sudo gem install ffi

7. pod 설치

     pod install

 

[참조] https://github.com/CocoaPods/CocoaPods/issues/10220

 

Got error while trying pod install · Issue #10220 · CocoaPods/CocoaPods

Command /usr/local/bin/pod install Report What did you do? pod install What did you expect to happen? Installing my pod's What happened instead? Error. This is on my MacBook Pro with the new M1 pro...

github.com

[Cocoapods 제거 참조] https://velog.io/@jungti1234/cocoapods-%EC%82%AD%EC%A0%9C%EC%A0%9C%EA%B1%B0-%EB%B0%A9%EB%B2%95

 

cocoapods 삭제/제거 방법

 

velog.io

 

반응형
Posted by blueasa
, |
1. gem list --local | grep cocoapods 명령어로 조회해보면 cocoapods 관련 설치가 많은데 다 지울 것

2. 지우는 명령어는 sudo gem uninstall cocoapods (혹은 cocoapods 관련 설치된 라이브러리명)

3. 내 유저명 폴더에 숨겨진 .cocoapods 폴더 제거
rm -rf ~/.cocoapods

4. /Users/유저명/Library/Caches/CocoaPods 폴더 제거
rm -rf ~/Library/Caches/CocoaPods

(재설치 원하면 5. brew install cocoapods 명령어 입력하여 설치하면 끝)

 

 

[출처] https://velog.io/@jungti1234/cocoapods-%EC%82%AD%EC%A0%9C%EC%A0%9C%EA%B1%B0-%EB%B0%A9%EB%B2%95

 

cocoapods 삭제/제거 방법

 

velog.io

 

반응형
Posted by blueasa
, |

Unity 2021.3.16f1

Xcode 14.2

Firebase 10.4.0

 

----

[빌드에러]

pod install output:



Analyzing dependencies

[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":

  In Podfile:

    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)

 

최근 Firebase 10.x 버전이 Xcode 14.x 버전에서 위와 같은 오류를 내면서 빌드가 제대로 되지 않는 문제가 있어서 이리저리 알아보니 구글에서 확인하고 수정중이라고 하는 것 같다.

[참조] https://github.com/firebase/firebase-ios-sdk/issues/10359

 

GTMSessionFetcher/Core dependency conflict between Firebase/Auth and GoogleMLKit/LanguageID with Firebase 10.0.0 · Issue #10359

Description Attempting a pod update causes Firebase/Analytics and Auth to be downgraded from 9.6.0 to 3.6.0, and GoogleUtilities from 7.8.0 to 1.3.2 leading to a compile error related to a GoogleUt...

github.com

 

수정 전까지 대안으로 아래와 같이 Podfile에서 FirebaseAuth 버전을 내리라고 설명하고 있다.

유니티를 사용중이라서 Podfile을 만지는건 애매하고, Firebase의 AuthDependencies.xml 파일에서 수정해보기로 했다.

 

<iosPod name="Firebase/Auth" version="10.4.0" minTargetSdk="8.0"></iosPod>

위의 내용을 아래와 같이 수정했다.

<iosPod name="Firebase/Auth" version="~> 9.6.0" minTargetSdk="8.0"></iosPod>

 

그래서 FirebaseAuth는 사라졌는데..

 

Messaging 쪽 에러가 다시 나오면서 빌드 실패.

[에러메시지]

pod install output:



Analyzing dependencies

[!] CocoaPods could not find compatible versions for pod "Firebase/Messaging":

  In Podfile:

    Firebase/Messaging (= 10.4.0)



None of your spec sources contain a spec satisfying the dependency: `Firebase/Messaging (= 10.4.0)`.

 

[결론]

그냥 고쳐질 때까지 Firebase 9.6.0을 써야 될 것 같다..

 

 

반응형
Posted by blueasa
, |

pod 를 업그레이드 후에 pod install 시에 다음과 같은 경고 문구를 만날 수 있다.

[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.

 

이 이슈와 연관이 있다. git 기반의 MasterSource 대신 CDN 기반의 TrunkSource 로 변경되었기 때문. 하지만 BLM 과 관련 있는 듯.

이것도 Master 라는 용어를 사용하지 않기 위함?? github 에서 메인 소스 브랜치 이름이 master 에서 main 으로 변경된 것과 비슷한 이유인듯. 추정..

github.com/CocoaPods/CocoaPods/pull/8923

 

pod repo list 를 해보면 기존 git master ,  CDN trunk 두개가 존재하는 것을 볼 수 있다.

master
- Type: git (master)

- URL:  github.com/CocoaPods/Specs.git

- Path: /Users/thewavelet/.cocoapods/repos/master

trunk
- Type: CDN

- URL:  cdn.cocoapods.org/

- Path: /Users/thewavelet/.cocoapods/repos/trunk

 

경고 문구 대로

pod repo remove master

를 해서 master 는 지워주자.

 

 

[출처] https://thewavelet.tistory.com/49

 

cocoapods 업데이트 repo 변경사항. Git MasterSource 에서 CDN TrunkSource 로

pod 를 업그레이드 후에 pod install 시에 다음과 같은 경고 문구를 만날 수 있다. [!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as..

thewavelet.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://ms-dev.tistory.com/104

 

[flutter] GoogleAppMeasurement requires CocoaPods version >= 1.10.2, which is not satisfied by your current version, 1.10.1. Err

해당 프로젝트의 ios의 pod를 업데이트 해주면 해결된다. [해결방법] 터미널을 열고 아래 명령을 순서대로 입력한다. 1) 해당 프로젝트의 ios 경로로 이동 #> cd [프로젝트 경로]/ios 2) pod 업데이트 실

ms-dev.tistory.com

 

반응형
Posted by blueasa
, |

[결론]

GoogleMobileAds iOS SDK 7.68 이상은 Firebase 7.x 이상에서 지원합니다.

Firebase 업데이트 하세요


Unity: 2019.4.8f1

AdMob v5.4.0

Firebase v6.16.1 (Messaging & Analytics)

Target minimum iOS Version 12.0

Problem

I can't build the project. XCode error:

../Libraries/Plugins/iOS/GADUAdLoader.h:5:9: 'GoogleMobileAds/GoogleMobileAds.h' file not found

When I trying to update pods terminal throw the next error:

[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
  In Podfile:
    Firebase/Analytics (= 6.32.2) was resolved to 6.32.2, which depends on
      Firebase/Core (= 6.32.2) was resolved to 6.32.2, which depends on
        FirebaseAnalytics (= 6.8.2) was resolved to 6.8.2, which depends on
          GoogleAppMeasurement (= 6.8.2)

    Google-Mobile-Ads-SDK (~> 7.68) was resolved to 7.68.0, which depends on
      GoogleAppMeasurement (~> 7.0)

Attempts

  1. Add 'pod 'GoogleAppMeasurement', '7.0'' to Podfile.

Result

CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
  In Podfile:
    Firebase/Analytics (= 6.32.2) was resolved to 6.32.2, which depends on
      Firebase/Core (= 6.32.2) was resolved to 6.32.2, which depends on
        FirebaseAnalytics (= 6.8.2) was resolved to 6.8.2, which depends on
          GoogleAppMeasurement (= 6.8.2)

    Google-Mobile-Ads-SDK (~> 7.68) was resolved to 7.68.0, which depends on
      GoogleAppMeasurement (~> 7.0)

    GoogleAppMeasurement (= 7.0)
  1. Uninstall and install cocoapods

Result

Same error

Project Podfile

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/CocoaPods/Specs'
platform :ios, '12.0'

target 'UnityFramework' do
  pod 'Firebase/Analytics', '6.32.2'
  pod 'Firebase/Core', '6.32.2'
  pod 'Firebase/Messaging', '6.32.2'
  pod 'Google-Mobile-Ads-SDK', '~> 7.68'
end

 

How can I resolve this problem?

 

 

[Answer]

Google-Mobile-Ads-SDK version 7.68 is only compatible with Firebase 7.x. If you want to use Firebase 6.x, you need to use 7.67 or earlier.

 

 

[출처] stackoverflow.com/questions/64850730/unity-firebase-admob-conflict-googleappmeasurement

 

Unity Firebase + AdMob conflict (GoogleAppMeasurement)

Unity: 2019.4.8f1 AdMob v5.4.0 Firebase v6.16.1 (Messaging & Analytics) Target minimum iOS Version 12.0 Problem I can't build the project. XCode error: ../Libraries/Plugins/iOS/GADUAdLoader.h:5...

stackoverflow.com

 

반응형
Posted by blueasa
, |

많은 사람들이 pod install 을 코코아팟 프로젝트를 처음 세팅할 때 딱 한 번 쓰고 pod update 는 그 이후에 사용된다고 생각합니다. 그러나 전혀 그렇지 않습니다! 😝

 

이번 포스팅에서 pod install  pod update 를 정확히 알아보도록 하겠습니다.

pod install

  pod을 프로젝트에 세팅하기 위하여 맨 처음에 사용됩니다. 하지만 Podfile의 pod을 추가, 수정, 삭제할 때에도 사용됩니다.

 

pod install 명령어를 실행하면 새로운 pod을 다운받고 설치합니다. 그리고 각 pod 마다 설치된 버전을 Podfile.lock 에 기록해 놓습니다. Podfile.lock은 설치된 pod들의 버전을 계속 추적하여 기록해놓고 유지시키는 역할을 합니다.

 

pod install 을 실행하면,

Podfile.lock에 리스트된 팟들에 대해선 지정된 버전만 다운받습니다. 새로운 버전이 존재하는지 체크하지 않는 것이죠!

Podfile.lock에 리스트되지 않은 팟들은 Podfile에 명시된 버전 조건으로 검색하여 다운로드 받습니다. (ex. pod 'MyPod', '~>1.2')

Podfile.lock 예시

PODS: - Alamofire (4.8.2) - Crashlytics (3.13.2) . . . PODFILE CHECKSUM: 567f647c0698abc31d48952ce58077we758abse2

Podfile.lock에는 CHECKSUM이 부여됩니다. Podfile.lock의 유일성을 보증하는 해쉬값인 셈이죠. 만약 버전에 변경이 생기면 CHECKSUM 또한 변하게 됩니다.

pod update

  pod update {팟이름} 을 실행시키면, 코코아팟은 해당 팟의 업데이트된 버전이 있는지 검색합니다. Podfile.lock을 참조하지 않죠. 이 명령어는 팟을 최신 버전으로 업데이트 시켜주는 것입니다. (단, Podfile의 버전 조건과 일치해야 합니다.) 단순하게 pod update 만 실행시키면 코코아팟은 모든 팟에 대해 가능한 최신 버전으로 업데이트를 실행합니다.

pod outdated

  pod outdated 를 실행하면, 코코아팟은 Podfile.lock에 리스트된 것보다 새로운 버전을 가진 모든 팟을 나열합니다. 이 팟들에 대해 pod update {팟이름} 을 실행한다면 업데이트가 될 것이라는 것을 의미합니다. (역시나 Podfile의 버전 조건과 부합하는 한!)

pod repo update

  /Users/{사용자이름}/.cocoapods/repos 에 있는 모든 podspec 파일을 업데이트 합니다. podspec 파일에는 해당 pod 의 주소 등 중요한 정보들이 담겨있습니다.

 

spec.source = { :git => 'https://github.com/Alamofire/Alamofire.git', :tag => 'v3.1.1' }

 

~/.cocoapods/repos 에는 모든 pod에 대해 가능한 버전들의 podspec 파일들이 모여있습니다. pod repo update 를 실행하게 되면 최신 podspec 파일들로 업데이트되게 되는 것입니다. 추가한 라이브러리에 대한 podspec 이 업데이트되지 않아 오류가 날 경우 이 명령어를 통하여 해결할 수 있습니다.

Podfile.lock을 커밋하세요!

  동료와 같이 협업하고 있다면! 꼭 Podfile.lock을 공유해야 합니다. pod 버전을 모두가 동일하게 쓰도록 유지시키는 역할을 하는 것이죠. 그리고 Podfile이 수정될 일이 생긴다면 pod install 명령어를 통해 의존성을 관리하면 됩니다. 만약 동료들과 같은 CHECKSUM을 얻는데에 실패했다면 간단하게 rm -rf Pods && pod install 을 실행하면 됩니다. 😎

참조

https://guides.cocoapods.org/using/pod-install-vs-update.html

 

 

[출처] onelife2live.tistory.com/30

 

[Cocoapods] pod install? pod update? 제대로 알고 쓰자

많은 사람들이 pod install 을 코코아팟 프로젝트를 처음 세팅할 때 딱 한 번 쓰고 pod update 는 그 이후에 사용된다고 생각합니다. 그러나 전혀 그렇지 않습니다! 😝 이번 포스팅에서 pod install 과 pod

onelife2live.tistory.com

 

반응형
Posted by blueasa
, |
반응형
Posted by blueasa
, |