web-dev-qa-db-ja.com

CocoaPodsがFirebase SDKをバージョン4.0.0に更新しない

私はSwiftプロジェクトを Firebaseの新しいSDKバージョン4.0. CocoaPodsを使用して更新しようとしています( ドキュメントで提案されているようにドキュメントの手順 を実行しても、更新されたSDKがインストールされないようです。

これがなぜ機能しないのか、新しいFirebase SDKに更新するために何ができるのかを理解するのに誰でも助けてもらえますか?

私のPodfile

# Uncomment this line to define a global platform for your project
platform :ios, '9.2'
# Uncomment this line if you're using Swift
use_frameworks!


target 'myProject' do

pod 'Firebase'
pod 'Firebase/Auth'
pod 'Firebase/Core'
pod 'Firebase/Storage'
pod 'Firebase/Database'
pod 'Firebase/Crash'
pod 'Firebase/Messaging'


pod 'Alamofire', '~> 4.4'

end

実行時pod installこの一見有望な出力が得られます(バージョン4ではないことを除いてあるべきだと思います):

Analyzing dependencies
Downloading dependencies
Using Alamofire (4.4.0)
Installing Firebase 3.17.0 (was 3.17.0)
Using FirebaseAnalytics (3.9.0)
Using FirebaseAuth (3.1.1)
Using FirebaseCore (3.6.0)
Using FirebaseCrash (1.1.6)
Using FirebaseDatabase (3.1.2)
Using FirebaseInstanceID (1.0.10)
Using FirebaseMessaging (1.2.3)
Using FirebaseStorage (1.1.0)
Using GTMSessionFetcher (1.1.9)
Using GoogleToolboxForMac (2.1.1)
Using Protobuf (3.3.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 8 dependencies from the Podfile and 13 total pods installed.

新しいfirebaseのドキュメントがプロジェクトで機能する機能と一致しないため、最新のSDKにも更新されていないことがわかります。私のプロジェクトはSwiftにあるので、例えば:

作品

FIRApp.configure()

動作しません( ただしドキュメントで推奨されています

FirebaseApp.configure()

私もこれらのソリューションを試してみました:

18
Rbar

元のPodfileに問題はありませんでした;)pod installpod updateを混同しているだけです。前者を実行していましたが、後者を使用する必要があります。物事を整理するための簡単な概要:

pod installpod installを実行すると、onlyは、Podfile.lockにまだリストされていないポッドの依存関係を解決します。 Podfile.lockのポッドの場合、新しいバージョンが利用可能かどうかを確認せずに、そこにリストされているexplicit versionをダウンロードします。

pod updatepod updateを実行すると、CocoaPodsはPodfileにリストされているすべてのポッドを可能な限り最新のバージョンに更新します。もちろん、もしあれば、Podfileで宣言されたバージョン制限を尊重します。

詳細については、 pod install vs. pod update ガイドも確認してください。

30
Paulo Mattos

同様の問題があり、run pod repo remove masterおよびpod installおよびpod updateを実行した後でも、次の出力でスタックしました。

Using AmazonAd (2.2.15)
Using Firebase (3.17.0)
Using FirebaseAnalytics (3.9.0)
Using FirebaseCore (3.6.0)
Using FirebaseInstanceID (1.0.10)
Using Google (3.1.0)
Using Google-Mobile-Ads-SDK (7.19.1)
Using GoogleToolboxForMac (2.1.1)

私はポッド更新コマンド出力でメモを見続けました:

[!] Google has been deprecated

そこで、ポッドファイルからGoogleを削除しました。

 pod Google

その後、私は再実行しました:

 pod update

および受信:

Using AmazonAd (2.2.15)
Installing Firebase 4.3.0 (was 3.17.0)
Installing FirebaseAnalytics 4.0.4 (was 3.9.0)
Installing FirebaseCore 4.0.8 (was 3.6.0)
Installing FirebaseInstanceID 2.0.4 (was 1.0.10)
Installing Google-Mobile-Ads-SDK 7.24.1 (was 7.19.1)
Using GoogleToolboxForMac (2.1.1)
Installing nanopb (0.3.8)
20
Jacksonsox

私は同じ問題を抱えていたので、ポッドのサブセクションを次のようなポッドのフルネームに変更することで修正しました。

-    pod 'Firebase/Core'
-    pod 'Firebase/RemoteConfig'
+    pod 'FirebaseCore', '4.0.9'
+    pod 'FirebaseRemoteConfig', '2.0.3'

この混乱がそもそも起こったというのはおかしいのですが、少なくともこれで修正されます。

4
Alper

元のポッドファイルのAlamofireが希望するバージョンを示しているのと同様に、firebaseでこれを行うとバージョン4.0.0に更新され、適切なfirebase関数が動作するようになりました。

例えば:

変更(それぞれ):

pod 'Firebase/Auth'

To:

pod 'Firebase/Auth', '~> 4.0.0'

新しいポッドファイルとpod installを実行した後の出力の完全な例は次のとおりです。

正しいPodfile:

# Uncomment this line to define a global platform for your project
platform :ios, '9.2'
# Uncomment this line if you're using Swift
use_frameworks!


target 'myProject' do

pod 'Firebase', '~> 4.0.0'
pod 'Firebase/Auth', '~> 4.0.0'
pod 'Firebase/Core', '~> 4.0.0'
pod 'Firebase/Storage', '~> 4.0.0'
pod 'Firebase/Database', '~> 4.0.0'
pod 'Firebase/Crash', '~> 4.0.0'
pod 'Firebase/Messaging', '~> 4.0.0'


pod 'Alamofire', '~> 4.4'

end

出力

Analyzing dependencies
Downloading dependencies
Using Alamofire (4.4.0)
Using Firebase (4.0.0)
Using FirebaseAnalytics (4.0.0)
Using FirebaseAuth (4.0.0)
Using FirebaseCore (4.0.0)
Using FirebaseCrash (2.0.0)
Using FirebaseDatabase (4.0.0)
Using FirebaseInstanceID (2.0.0)
Using FirebaseMessaging (2.0.0)
Using FirebaseStorage (2.0.0)
Using GTMSessionFetcher (1.1.10)
Using GoogleToolboxForMac (2.1.1)
Using Protobuf (3.3.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 8 dependencies from the Podfile and 13 total pods installed
3
Rbar
Podfile

platform :ios, '10.0'
# ignore all warnings from all pods
inhibit_all_warnings!
use_frameworks!

def pods
  pod 'Firebase/Core'
end

Terminal

pod --version
1.3.1
pod update
CocoaPods 1.5.3 is available.
To update use: `Sudo gem install cocoapods`

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.5.3

Sudo gem install cocoapods
Password:
Fetching: cocoapods-core-1.5.3.gem (100%)
Successfully installed cocoapods-core-1.5.3
Fetching: cocoapods-deintegrate-1.0.2.gem (100%)
Successfully installed cocoapods-deintegrate-1.0.2
Fetching: cocoapods-downloader-1.2.1.gem (100%)
Successfully installed cocoapods-downloader-1.2.1
Fetching: molinillo-0.6.6.gem (100%)
Successfully installed molinillo-0.6.6
Fetching: cocoapods-1.5.3.gem (100%)
Successfully installed cocoapods-1.5.3
Parsing documentation for cocoapods-core-1.5.3
Installing ri documentation for cocoapods-core-1.5.3
Parsing documentation for cocoapods-deintegrate-1.0.2
Installing ri documentation for cocoapods-deintegrate-1.0.2
Parsing documentation for cocoapods-downloader-1.2.1
Installing ri documentation for cocoapods-downloader-1.2.1
Parsing documentation for molinillo-0.6.6
Installing ri documentation for molinillo-0.6.6
Parsing documentation for cocoapods-1.5.3
Installing ri documentation for cocoapods-1.5.3
Done installing documentation for cocoapods-core, cocoapods-deintegrate, cocoapods-downloader, molinillo, cocoapods after 8 seconds
5 gems installed

pod install

Installing Firebase (5.5.0)
Installing FirebaseAnalytics (5.1.0)
Installing FirebaseCore (5.1.0)
Installing FirebaseInstanceID (3.2.0)
Installing GoogleAppMeasurement (5.1.0)
Installing GoogleUtilities (5.2.2)
Installing nanopb (0.3.8)
0
Giang