警告はFirebase 3.6.にあります。 Xcode 8-Swift 3。
これらはFirebaseクラスです:-
@class FIROptions
@class FIRAuthCredential
@class FIRUserProfileChangeRequest
- (nullable instancetype)init NS_UNAVAILABLE;
それはバグかもしれないと考えました!。
しかし、そうでなければ、それを修正する方法のアイデアはありますか?
元の回答:この問題は、最新のFirebase(3.7.1)で修正されています。 「ポッドアップデートFirebase」を実行し、プロジェクトをクリーンアップします(念のため、オプションキーでビルドフォルダーをクリーンアップします)。
更新された回答:いいえ、私の悪い...問題は私にも残っています。
さらに掘り下げて、ここに良い説明があります: https://stackoverflow.com/a/39233507/3638762
その間(私はあなたの望みをかなえるのが気分が悪かったので)警告を抑制する素晴らしい方法を見つけました。 -Wnullability警告タイプを推測する必要がありました。 ;-)
Pods/FirebaseCore/Frameworks/FirebaseCore.framework/Headers/FIRApp.hの問題のある行の周りに次の3つの#pragma行を追加します。
#pragma clang diagnostic Push
#pragma clang diagnostic ignored "-Wnullability"
- (nullable instancetype)init NS_UNAVAILABLE;
#pragma clang diagnostic pop
乾杯!
これがソリューションのビルド設定->コード署名ID->デバッグを変更してiOS開発者にリリースする方法です。
ポッド->ビルド設定->レガシーを使用Swift言語バージョンに移動し、それを[いいえ]に設定します。これでうまくいきました。
プロジェクトをクリーンアップしてビルドします。
警告を再現し、何度も修正することができました。
私の場合、ビルド設定->コード署名ID->デバッグを変更して、iOS Developerにリリースしました。
Firebaseチームがこのバグを解決するのを待つ間、Swift Optimization Level
のBuild Settings
をNone
に変更することを検討してください。
これは一時的な回避策であることに注意してください。 Firebaseが修正をリリースした後、Fast, Whole Module Optimization
に戻してください。
これは、firebase 4.0.4で解決されました。古い「FIRApp.configure()」ではなく、アプリデリゲートのdidFinishLaunchingWithOptions関数に「FirebaseApp.configure()」と書き込んでください。
幸運を