私は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()
私もこれらのソリューションを試してみました:
元のPodfile
に問題はありませんでした;)pod install
とpod update
を混同しているだけです。前者を実行していましたが、後者を使用する必要があります。物事を整理するための簡単な概要:
pod install。 pod install
を実行すると、onlyは、Podfile.lock
にまだリストされていないポッドの依存関係を解決します。 Podfile.lock
のポッドの場合、新しいバージョンが利用可能かどうかを確認せずに、そこにリストされているexplicit versionをダウンロードします。
pod update。 pod update
を実行すると、CocoaPodsはPodfile
にリストされているすべてのポッドを可能な限り最新のバージョンに更新します。もちろん、もしあれば、Podfile
で宣言されたバージョン制限を尊重します。
詳細については、 pod install vs. pod update ガイドも確認してください。
同様の問題があり、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)
私は同じ問題を抱えていたので、ポッドのサブセクションを次のようなポッドのフルネームに変更することで修正しました。
- pod 'Firebase/Core'
- pod 'Firebase/RemoteConfig'
+ pod 'FirebaseCore', '4.0.9'
+ pod 'FirebaseRemoteConfig', '2.0.3'
この混乱がそもそも起こったというのはおかしいのですが、少なくともこれで修正されます。
元のポッドファイルの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
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)