Firebase iOS SDK for Swift のバージョン 4.0.0 には、Swift API 設計ガイドラインの命名規則に準拠するための変更が含まれています。アプリの Firebase iOS SDK のバージョンを更新する際に発生するエラーや警告を修正するには、この移行ガイドの手順に従ってください。
新しいバージョンの変更点
すべての Firebase プロダクトの Swift SDK に次の変更が加えられました。
- すべての定数、プロトコル、クラス、列挙型、型定義の名前から 
FIR接頭辞を削除。 FIRAppをFirebaseAppに名前を変更。FIROptionsをFirebaseOptionsに名前を変更。
変更点の完全なリストについては、変更点の詳細なリストセクションをご覧ください。
エラーを解決する
これらの変更によって生じたエラーを解決するには、Xcode の Fix-it ダイアログを使用することをおすすめします。
- Xcode ワークスペースで更新されたプロジェクトを開くと、名前の変更によって生じたエラーが問題ナビゲータに表示されます。
 - エラーをクリックし、Fix-it ダイアログの提案でエラーを解決します。
 
名前の競合を解決する
名前の競合を解決するには、モジュールによって提供される名前空間を使用します。たとえば、FIRUser(現在は User)の場合は、User のクラス / 構造体と Firebase の User クラスを区別することをおすすめします。
@import Firebase ... var firebaseUser: Firebase.User?
変更の詳細リスト
アナリティクス
| 旧 | 新 | 
|---|---|
| 関数 | |
FIRAnalytics | |
logEvent(withName:parameters:) | 
logEvent(_:parameters:) | 
以前の使用例:
FIRAnalytics.logEvent(withName: "com.myapp.appStart", parameters: nil) Analytics.logEvent("com.myapp.appStart", parameters: nil) | |
setUserPropertyString(_:forName:) | setUserProperty(_:forName:) | 
以前の使用例:
FIRAnalytics.setUserPropertyString("mechanic", forName: "job")Analytics.setUserProperty("mechanic", forName: "job") | |
| クラス | |
FIRAnalytics | Analytics | 
| 定数 | |
FIRAnalyticsEventAddPaymentInfo | AnalyticsEventAddPaymentInfo | 
FIRAnalyticsEventAddToCart | AnalyticsEventAddToCart | 
FIRAnalyticsEventAddToWishlist | AnalyticsEventAddToWishlist | 
FIRAnalyticsEventAppOpen | AnalyticsEventAppOpen | 
FIRAnalyticsEventBeginCheckout | AnalyticsEventBeginCheckout | 
FIRAnalyticsEventCampaignDetails | AnalyticsEventCampaignDetails | 
FIRAnalyticsEventCheckoutProgress | AnalyticsEventCheckoutProgress | 
FIRAnalyticsEventEarnVirtualCurrency | AnalyticsEventEarnVirtualCurrency | 
FIRAnalyticsEventEcommercePurchase | AnalyticsEventEcommercePurchase | 
FIRAnalyticsEventGenerateLead | AnalyticsEventGenerateLead | 
FIRAnalyticsEventJoinGroup | AnalyticsEventJoinGroup | 
FIRAnalyticsEventLevelUp | AnalyticsEventLevelUp | 
FIRAnalyticsEventLogin | AnalyticsEventLogin | 
FIRAnalyticsEventPostScore | AnalyticsEventPostScore | 
FIRAnalyticsEventPresentOffer | AnalyticsEventPresentOffer | 
FIRAnalyticsEventPurchaseRefund | AnalyticsEventPurchaseRefund | 
FIRAnalyticsEventRemoveFromCart | AnalyticsEventRemoveFromCart | 
FIRAnalyticsEventSearch | AnalyticsEventSearch | 
FIRAnalyticsEventSelectContent | AnalyticsEventSelectContent | 
FIRAnalyticsEventSetCheckoutOption | AnalyticsEventSetCheckoutOption | 
FIRAnalyticsEventShare | AnalyticsEventShare | 
FIRAnalyticsEventSignUp | AnalyticsEventSignUp | 
FIRAnalyticsEventSpendVirtualCurrency | AnalyticsEventSpendVirtualCurrency | 
FIRAnalyticsEventTutorialBegin | AnalyticsEventTutorialBegin | 
FIRAnalyticsEventTutorialComplete | AnalyticsEventTutorialComplete | 
FIRAnalyticsEventUnlockAchievement | AnalyticsEventUnlockAchievement | 
FIRAnalyticsEventViewItem | AnalyticsEventViewItem | 
FIRAnalyticsEventViewItemList | AnalyticsEventViewItemList | 
FIRAnalyticsEventViewSearchResults | AnalyticsEventViewSearchResults | 
FIRAnalyticsParameterAchievementID | AnalyticsParameterAchievementID | 
FIRAnalyticsParameterAdNetworkClickID | AnalyticsParameterAdNetworkClickID | 
FIRAnalyticsParameterAffiliation | AnalyticsParameterAffiliation | 
FIRAnalyticsParameterCampaign | AnalyticsParameterCampaign | 
FIRAnalyticsParameterCharacter | AnalyticsParameterCharacter | 
FIRAnalyticsParameterCheckoutStep | AnalyticsParameterCheckoutStep | 
FIRAnalyticsParameterCheckoutOption | AnalyticsParameterCheckoutOption | 
FIRAnalyticsParameterContent | AnalyticsParameterContent | 
FIRAnalyticsParameterContentType | AnalyticsParameterContentType | 
FIRAnalyticsParameterCoupon | AnalyticsParameterCoupon | 
FIRAnalyticsParameterCreativeName | AnalyticsParameterCreativeName | 
FIRAnalyticsParameterCreativeSlot | AnalyticsParameterCreativeSlot | 
FIRAnalyticsParameterCurrency | AnalyticsParameterCurrency | 
FIRAnalyticsParameterDestination | AnalyticsParameterDestination | 
FIRAnalyticsParameterEndDate | AnalyticsParameterEndDate | 
FIRAnalyticsParameterFlightNumber | AnalyticsParameterFlightNumber | 
FIRAnalyticsParameterGroupID | AnalyticsParameterGroupID | 
FIRAnalyticsParameterIndex | AnalyticsParameterIndex | 
FIRAnalyticsParameterItemBrand | AnalyticsParameterItemBrand | 
FIRAnalyticsParameterItemCategory | AnalyticsParameterItemCategory | 
FIRAnalyticsParameterItemID | AnalyticsParameterItemID | 
FIRAnalyticsParameterItemLocationID | AnalyticsParameterItemLocationID | 
FIRAnalyticsParameterItemName | AnalyticsParameterItemName | 
FIRAnalyticsParameterItemList | AnalyticsParameterItemList | 
FIRAnalyticsParameterItemVariant | AnalyticsParameterItemVariant | 
FIRAnalyticsParameterLevel | AnalyticsParameterLevel | 
FIRAnalyticsParameterLocation | AnalyticsParameterLocation | 
FIRAnalyticsParameterMedium | AnalyticsParameterMedium | 
FIRAnalyticsParameterNumberOfNights | AnalyticsParameterNumberOfNights | 
FIRAnalyticsParameterNumberOfPassengers | AnalyticsParameterNumberOfPassengers | 
FIRAnalyticsParameterNumberOfRooms | AnalyticsParameterNumberOfRooms | 
FIRAnalyticsParameterOrigin | AnalyticsParameterOrigin | 
FIRAnalyticsParameterPrice | AnalyticsParameterPrice | 
FIRAnalyticsParameterQuantity | AnalyticsParameterQuantity | 
FIRAnalyticsParameterScore | AnalyticsParameterScore | 
FIRAnalyticsParameterSearchTerm | AnalyticsParameterSearchTerm | 
FIRAnalyticsParameterShipping | AnalyticsParameterShipping | 
FIRAnalyticsParameterSignUpMethod | AnalyticsParameterSignUpMethod | 
FIRAnalyticsParameterSource | AnalyticsParameterSource | 
FIRAnalyticsParameterStartDate | AnalyticsParameterStartDate | 
FIRAnalyticsParameterTax | AnalyticsParameterTax | 
FIRAnalyticsParameterTerm | AnalyticsParameterTerm | 
FIRAnalyticsParameterTransactionID | AnalyticsParameterTransactionID | 
FIRAnalyticsParameterTravelClass | AnalyticsParameterTravelClass | 
FIRAnalyticsParameterValue | AnalyticsParameterValue | 
FIRAnalyticsParameterVirtualCurrencyName | AnalyticsParameterVirtualCurrencyName | 
FIRAnalyticsUserPropertySignUpMethod | AnalyticsUserPropertySignUpMethod | 
Auth
| 旧 | 新 | 
|---|---|
| 関数 | |
FIRAuth.h | |
init?(app:) | auth(app:) | 
以前の使用例:
let auth = FIRAuth(app: myApp) let auth = Auth.auth(app: myApp)  | |
FIRUser.h | |
updateEmail(_:completion:) | updateEmail(to:completion:) | 
以前の使用例:
user.updateEmail("firebase_rox42@gmail.com") { error in // Check for error } user.updateEmail(to: "firebase_rox42@gmail.com") { error in // Check for error }  | |
updatePassword(_:completion:) | 
updatePassword(to:completion:) | 
以前の使用例:
user.updatePassword("hunter2") { error in
  // Check for error
}user.updatePassword(to: "hunter2") { error in
  // Check for error
} | |
profileChangeRequest() | 
createProfileChangeRequest() | 
以前の使用例:
let request = user.profileChangeRequest() let request = user.createProfileChangeRequest()  | |
getTokenWithCompletion(_:) | 
getToken(completion:) | 
以前の使用例:
user.getTokenWithCompletion() { token, error in
  // Handle token or error here
}user.getToken() { token, error in
  // Handle token or error here
} | |
| クラス | |
FIRAdditionalUserInfo | AdditionalUserInfo | 
FIRActionCodeInfo | ActionCodeInfo | 
FIRAuth | Auth | 
FIRAuthCredential | AuthCredential | 
FIRAuthDataResult | AuthDataResult | 
FIRAuthErrors | AuthErrors | 
FIRSecureTokenService | SecureTokenService | 
FIRUser | User | 
FIRUserProfileChangeRequest | UserProfileChangeRequest | 
FIRUserInfo | UserInfo | 
FIREmailAuthProvider | EmailAuthProvider | 
FIRFacebookAuthProvider | FacebookAuthProvider | 
FIRGitHubAuthProvider | GitHubAuthProvider | 
FIRGoogleAuthProvider | GoogleAuthProvider | 
FIROAuthProvider | OAuthProvider | 
FIRTwitterAuthProvider | TwitterAuthProvider | 
| 定数 | |
FIRAuthErrorDomain | AuthErrorDomain | 
FIRAuthErrorNameKey | AuthErrorNameKey | 
FIREmailAuthProviderID | EmailAuthProviderID | 
FIRFacebookAuthProviderID | FacebookAuthProviderID | 
FIRGitHubAuthProviderID | GitHubAuthProviderID | 
FIRGoogleAuthProviderID | GoogleAuthProviderID | 
FIRTwitterAuthProviderID | TwitterAuthProviderID | 
FIRAuthStateDidChange | AuthStateDidChange | 
| 型宣言 | |
FIRAuthStateDidChangeListenerHandle | AuthStateDidChangeListenerHandle | 
FIRAuthStateDidChangeListenerBlock | AuthStateDidChangeListenerBlock | 
FIRAuthDataResultCallback | AuthDataResultCallback | 
FIRAuthResultCallback | AuthResultCallback | 
FIRProviderQueryCallback | ProviderQueryCallback | 
FIRSendPasswordResetCallback | SendPasswordResetCallback | 
FIRConfirmPasswordResetCallback | ConfirmPasswordResetCallback | 
FIRVerifyPasswordResetCodeCallback | VerifyPasswordResetCodeCallback | 
FIRApplyActionCodeCallback | ApplyActionCodeCallback | 
FIRVerificationResultCallback | VerificationResultCallback | 
| 列挙型 | |
FIRActionDataKey | ActionDataKey | 
FIRActionCodeOperation | ActionCodeOperation | 
FIRAuthErrorCode | AuthErrorCode | 
コア
| 旧 | 新 | 
|---|---|
| 関数 | |
FIRAnalyticsConfiguration.sharedInstance() | AnalyticsConfiguration.shared() | 
FIRApp.configure(withName:options:) | 
FirebaseApp.configure(name:options:) | 
以前の使用例:
FIRApp.configure(withName: "myCustomApp", options: customOptions) FirebaseApp.configure(name: "myCustomApp", options: customOptions)  | |
FIRApp.defaultApp() | 
FirebaseApp.app() | 
FIRApp.init?(named:) | 
FirebaseApp.app(name:) | 
以前の使用例:
let app = FIRApp(named: "myCustomApp") let app = FirebaseApp.app(name: "myCustomApp")  | |
FIRApp.allApps() | 
FirebaseApp.allApps | 
以前の使用例:
for app in FIRApp.allApps() {
  print("App name: \(app.name)")
}for app in FirebaseApp.allApps {
  print("App name: \(app.name)")
} | |
FIRConfiguration.sharedInstance() | FirebaseConfiguration.shared() | 
FIROptions.default() | FirebaseOptions.defaultOptions() | 
| プロパティ | |
| FIROptions | |
GCMSenderID | gcmSenderID | 
| クラス | |
FIRAnalyticsConfiguration | AnalyticsConfiguration | 
FIRApp | FirebaseApp | 
FIRConfiguration | FirebaseConfiguration | 
FIROptions | FirebaseOptions | 
| 型宣言 | |
FIRAppVoidBoolCallback | FirebaseAppVoidBoolCallback | 
| 列挙型 | |
FIRLoggerLevel | FirebaseLoggerLevel | 
クラッシュ
| 旧 | 新 | 
|---|---|
| 関数 | |
FIRCrashMessage(_:) | 
FirebaseCrashMessage(_:) | 
データベース
| 旧 | 新 | 
|---|---|
| プロパティ | |
| FIRDatabase.h | |
persistenceEnabled | isPersistenceEnabled | 
| クラス | |
FIRDataSnapshot | DataSnapshot | 
FIRDatabase | Database | 
FIRDatabaseQuery | DatabaseQuery | 
FIRDatabaseReference | DatabaseReference | 
FIRMutableData | MutableData | 
FIRServerValue | ServerValue | 
FIRTransactionResult | TransactionResult | 
| 型宣言 | |
FIRDatabaseHandle | DatabaseHandle | 
| 列挙型 | |
FIRDataEventType | DataEventType | 
Dynamic Links
| 旧 | 新 | 
|---|---|
| 関数 | |
// FIRDynamicLinks.h | |
dynamicLink(fromUniversalLinkURL:) | dynamicLink(fromUniversalLink:) | 
| クラス | |
FIRDynamicLink | DynamicLink | 
FIRDLRetrievalDelegate | DLRetrievalDelegate | 
FIRDynamicLinks | DynamicLinks | 
FIRDynamicLinkGoogleAnalyticsParameters | DynamicLinkGoogleAnalyticsParameters | 
FIRDynamicLinkIOSParameters | DynamicLinkIOSParameters | 
FIRDynamicLinkItunesConnectAnalyticsParameters | DynamicLinkItunesConnectAnalyticsParameters | 
FIRDynamicLinkAndroidParameters | DynamicLinkAndroidParameters | 
FIRDynamicLinkSocialMetaTagParameters | DynamicLinkSocialMetaTagParameters | 
FIRDynamicLinkNavigationInfoParameters | DynamicLinkNavigationInfoParameters | 
FIRDynamicLinkComponentsOptions | DynamicLinkComponentsOptions | 
FIRDynamicLinkComponents | DynamicLinkComponents | 
| 型宣言 | |
FIRDynamicLinkResolverHandler | DynamicLinkResolverHandler | 
FIRDynamicLinkUniversalLinkHandler | DynamicLinkUniversalLinkHandler | 
FIRDynamicLinkShortenerCompletion | DynamicLinkShortenerCompletion | 
| 列挙型 | |
FIRDynamicLinkMatchConfidence | DynamicLinkMatchConfidence | 
FIRDLRequiredMatchConfidence | DLRequiredMatchConfidence | 
FIRDLRetrieveResult | DLRetrieveResult | 
FIRShortDynamicLinkPathLength | ShortDynamicLinkPathLength | 
インスタンス ID
| 旧 | 新 | 
|---|---|
| 関数 | |
FIRInstanceID.h | |
getWithHandler() | 
getIDWithHandler() | 
以前の使用例:
FIRInstanceID.instanceID().get { identity, error in
 // Check identity and error
}instanceID.instanceID().getID { identity, error in
  // Check identity and error
} | |
deleteWithHandler() | 
deleteIDWithHandler() | 
以前の使用例:
FIRInstanceID.instanceID().delete { error in
  // Check error
}instanceID.instanceID().deleteID { error in
  // Check error
} | |
| クラス | |
FIRInstanceID | InstanceID | 
| 定数 | |
FIRInstanceIDScopeFirebaseMessaging | InstanceIDScopeFirebaseMessaging | 
FIRInstanceIDTokenRefresh | InstanceIDTokenRefresh | 
| 型宣言 | |
FIRInstanceIDTokenHandler | InstanceIDTokenHandler | 
FIRInstanceIDDeleteTokenHandler | InstanceIDDeleteTokenHandler | 
FIRInstanceIDHandler | InstanceIDHandler | 
FIRInstanceIDDeleteHandler | InstanceIDDeleteHandler | 
| 列挙型 | |
FIRInstanceIDError | InstanceIDError | 
FIRInstanceIDAPNSTokenType | InstanceIDAPNSTokenType | 
招待
| 旧 | 新 | 
|---|---|
| クラス | |
FIRInvites | Invites | 
FIRInvitesTargetApplication | InvitesTargetApplication | 
FIRReceivedInvite | ReceivedInvite | 
| 定数 | |
FIRInvitesErrorDomain | InvitesErrorDomain | 
| 列挙型 | |
FIRInvitesErrorCode | InvitesErrorCode | 
FIRReceivedInviteMatchType | ReceivedInviteMatchType | 
| プロトコル | |
FIRInviteBuilder | InviteBuilder | 
FIRInviteDelegate | InviteDelegate | 
メッセージ
| 旧 | 新 | 
|---|---|
| 関数 | |
| FIRMessaging | |
connect(completion:) | connect(handler:) | 
| クラス | |
FIRMessagingMessageInfo | MessagingMessageInfo | 
FIRMessagingRemoteMessage | MessagingRemoteMessage | 
FIRMessaging | Messaging | 
| 定数 | |
FIRMessagingSendSuccess | MessagingSendSuccess | 
FIRMessagingSendError | MessagingSendError | 
FIRMessagingMessagesDeleted | MessagingMessagesDeleted | 
FIRMessagingConnectionStateChanged | MessagingConnectionStateChanged | 
FIRMessagingRegistrationTokenRefreshed | MessagingRegistrationTokenRefreshed | 
| 型宣言 | |
FIRMessagingFCMTokenFetchCompletion | MessagingFCMTokenFetchCompletion | 
FIRMessagingDeleteFCMTokenCompletion | MessagingDeleteFCMTokenCompletion | 
| 列挙型 | |
FIRMessagingError | MessagingError | 
FIRMessagingMessageStatus | MessagingMessageStatus | 
FIRMessagingAPNSTokenType | MessagingAPNSTokenType | 
| プロトコル | |
FIRMessagingDelegate | MessagingDelegate | 
Remote Config
| 旧 | 新 | 
|---|---|
| 関数 | |
| FIRRemoteConfig | |
setDefaultsFromPlistFileName(_:) | setDefaults(fromPlist:) | 
setDefaultsFromPlistFileName(_:namespace) | setDefaults(fromPlist:namespace) | 
| クラス | |
FIRRemoteConfigValue | RemoteConfigValue | 
FIRRemoteConfigSettings | RemoteConfigSettings | 
FIRRemoteConfig | RemoteConfig | 
| 定数 | |
FIRNamespaceGoogleMobilePlatform | NamespaceGoogleMobilePlatform | 
FIRRemoteConfigThrottledEndTimeInSecondsKey | RemoteConfigThrottledEndTimeInSecondsKey | 
FIRRemoteConfigErrorDomain | RemoteConfigErrorDomain | 
| 型宣言 | |
FIRRemoteConfigFetchCompletion | RemoteConfigFetchCompletion | 
| 列挙型 | |
FIRRemoteConfigFetchStatus | RemoteConfigFetchStatus | 
FIRRemoteConfigError | RemoteConfigError | 
FIRRemoteConfigSource | RemoteConfigSource | 
ストレージ
| 旧 | 新 | 
|---|---|
| 関数 | |
| FIRStorageReference | |
put(_:) | putData(_:) | 
put(_:metadata:) | putData(_:metadata:) | 
put(_:metadata:completion:) | putData(_:metadata:completion:) | 
putFile(_:) | putFile(from:) | 
putFile(_:metadata:) | putFile(from:metadata:) | 
putFile(_:metadata:completion:) | putFile(from:metadata:completion:) | 
data(withMaxSize:completion:) | getData(maxSize:completion:) | 
metadata(completion:) | getMetadata(completion:) | 
update(_:completion:) | updateMetadata(_:completion:) | 
| クラス | |
FIRStorage | Storage | 
FIRStorageDownloadTask | StorageDownloadTask | 
FIRStorageMetadata | StorageMetadata | 
FIRStorageObservableTask | StorageObservableTask | 
FIRStorageReference | StorageReference | 
FIRStorageTask | StorageTask | 
FIRStorageTaskSnapshot | StorageTaskSnapshot | 
FIRStorageUploadTask | StorageUploadTask | 
| 定数 | |
FIRStorageErrorDomain | StorageErrorDomain | 
| 列挙型 | |
FIRStorageTaskStatus | StorageTaskStatus | 
FIRStorageErrorCode | StorageErrorCode | 
| プロトコル | |
FIRStorageTaskManagement | StorageTaskManagement | 
| 型宣言 | |
FIRStorageHandle | StorageHandle | 
FIRStorageVoidDataError | StorageVoidDataError | 
FIRStorageVoidError | StorageVoidError | 
FIRStorageVoidMetadata | StorageVoidMetadata | 
FIRStorageVoidMetadataError | StorageVoidMetadataError | 
FIRStorageVoidSnapshot | StorageVoidSnapshot | 
FIRStorageVoidURLError | StorageVoidURLError |