Migrar para o SDK do Firebase mais recente para Swift (v4.0.0)

Na versão 4.0.0 do SDK do Firebase para iOS para Swift, incluímos alterações para seguir convenções de nomenclatura nas Diretrizes de design da API Swift. Para corrigir erros ou avisos que você receber ao atualizar a versão do SDK do Firebase para iOS do seu app, siga as etapas deste guia de migração.

Mudanças na nova versão

As seguintes mudanças foram feitas no SDK do Swift em todos os produtos do Firebase:

  • O prefixo FIR foi removido dos nomes de todas as constantes, protocolos, classes, enums e definições de tipo.
  • Renomear FIRApp como FirebaseApp.
  • Renomear FIROptions como FirebaseOptions.

Para conferir uma lista completa das mudanças, consulte a seção da lista detalhada de mudanças.

corrigir erros.

A melhor forma de resolver os erros resultantes dessas alterações é usar a ferramenta "Fix-it" no Xcode.

  1. Ao abrir o projeto atualizado no espaço de trabalho do Xcode, os erros resultantes das mudanças de nome aparecem no Issue Navigator.
  2. Clique no erro e resolva-o com a sugestão na Caixa de diálogo de correção.

Resolver conflitos de nomenclatura

Para resolver conflitos de nomenclatura, use o namespace fornecido pelo módulo. Para exemplo, no caso de FIRUser, que agora é User, recomendamos diferencie entre a classe/struct User e a classe User do Firebase.

@import Firebase
...
var firebaseUser: Firebase.User?

Lista detalhada de mudanças

Anterior Novo
Funções
FIRAnalytics
logEvent(withName:parameters:) logEvent(_:parameters:)
Uso anterior:
FIRAnalytics.logEvent(withName: "com.myapp.appStart", parameters: nil)
Novo uso:
Analytics.logEvent("com.myapp.appStart", parameters: nil)
setUserPropertyString(_:forName:)setUserProperty(_:forName:)
Uso anterior:
FIRAnalytics.setUserPropertyString("mechanic", forName: "job")
Novo uso:
Analytics.setUserProperty("mechanic", forName: "job")
Classes
FIRAnalyticsAnalytics
Constantes
FIRAnalyticsEventAddPaymentInfoAnalyticsEventAddPaymentInfo
FIRAnalyticsEventAddToCartAnalyticsEventAddToCart
FIRAnalyticsEventAddToWishlistAnalyticsEventAddToWishlist
FIRAnalyticsEventAppOpenAnalyticsEventAppOpen
FIRAnalyticsEventBeginCheckoutAnalyticsEventBeginCheckout
FIRAnalyticsEventCampaignDetailsAnalyticsEventCampaignDetails
FIRAnalyticsEventCheckoutProgressAnalyticsEventCheckoutProgress
FIRAnalyticsEventEarnVirtualCurrencyAnalyticsEventEarnVirtualCurrency
FIRAnalyticsEventEcommercePurchaseAnalyticsEventEcommercePurchase
FIRAnalyticsEventGenerateLeadAnalyticsEventGenerateLead
FIRAnalyticsEventJoinGroupAnalyticsEventJoinGroup
FIRAnalyticsEventLevelUpAnalyticsEventLevelUp
FIRAnalyticsEventLoginAnalyticsEventLogin
FIRAnalyticsEventPostScoreAnalyticsEventPostScore
FIRAnalyticsEventPresentOfferAnalyticsEventPresentOffer
FIRAnalyticsEventPurchaseRefundAnalyticsEventPurchaseRefund
FIRAnalyticsEventRemoveFromCartAnalyticsEventRemoveFromCart
FIRAnalyticsEventSearchAnalyticsEventSearch
FIRAnalyticsEventSelectContentAnalyticsEventSelectContent
FIRAnalyticsEventSetCheckoutOptionAnalyticsEventSetCheckoutOption
FIRAnalyticsEventShareAnalyticsEventShare
FIRAnalyticsEventSignUpAnalyticsEventSignUp
FIRAnalyticsEventSpendVirtualCurrencyAnalyticsEventSpendVirtualCurrency
FIRAnalyticsEventTutorialBeginAnalyticsEventTutorialBegin
FIRAnalyticsEventTutorialCompleteAnalyticsEventTutorialComplete
FIRAnalyticsEventUnlockAchievementAnalyticsEventUnlockAchievement
FIRAnalyticsEventViewItemAnalyticsEventViewItem
FIRAnalyticsEventViewItemListAnalyticsEventViewItemList
FIRAnalyticsEventViewSearchResultsAnalyticsEventViewSearchResults
FIRAnalyticsParameterAchievementIDAnalyticsParameterAchievementID
FIRAnalyticsParameterAdNetworkClickIDAnalyticsParameterAdNetworkClickID
FIRAnalyticsParameterAffiliationAnalyticsParameterAffiliation
FIRAnalyticsParameterCampaignAnalyticsParameterCampaign
FIRAnalyticsParameterCharacterAnalyticsParameterCharacter
FIRAnalyticsParameterCheckoutStepAnalyticsParameterCheckoutStep
FIRAnalyticsParameterCheckoutOptionAnalyticsParameterCheckoutOption
FIRAnalyticsParameterContentAnalyticsParameterContent
FIRAnalyticsParameterContentTypeAnalyticsParameterContentType
FIRAnalyticsParameterCouponAnalyticsParameterCoupon
FIRAnalyticsParameterCreativeNameAnalyticsParameterCreativeName
FIRAnalyticsParameterCreativeSlotAnalyticsParameterCreativeSlot
FIRAnalyticsParameterCurrencyAnalyticsParameterCurrency
FIRAnalyticsParameterDestinationAnalyticsParameterDestination
FIRAnalyticsParameterEndDateAnalyticsParameterEndDate
FIRAnalyticsParameterFlightNumberAnalyticsParameterFlightNumber
FIRAnalyticsParameterGroupIDAnalyticsParameterGroupID
FIRAnalyticsParameterIndexAnalyticsParameterIndex
FIRAnalyticsParameterItemBrandAnalyticsParameterItemBrand
FIRAnalyticsParameterItemCategoryAnalyticsParameterItemCategory
FIRAnalyticsParameterItemIDAnalyticsParameterItemID
FIRAnalyticsParameterItemLocationIDAnalyticsParameterItemLocationID
FIRAnalyticsParameterItemNameAnalyticsParameterItemName
FIRAnalyticsParameterItemListAnalyticsParameterItemList
FIRAnalyticsParameterItemVariantAnalyticsParameterItemVariant
FIRAnalyticsParameterLevelAnalyticsParameterLevel
FIRAnalyticsParameterLocationAnalyticsParameterLocation
FIRAnalyticsParameterMediumAnalyticsParameterMedium
FIRAnalyticsParameterNumberOfNightsAnalyticsParameterNumberOfNights
FIRAnalyticsParameterNumberOfPassengersAnalyticsParameterNumberOfPassengers
FIRAnalyticsParameterNumberOfRoomsAnalyticsParameterNumberOfRooms
FIRAnalyticsParameterOriginAnalyticsParameterOrigin
FIRAnalyticsParameterPriceAnalyticsParameterPrice
FIRAnalyticsParameterQuantityAnalyticsParameterQuantity
FIRAnalyticsParameterScoreAnalyticsParameterScore
FIRAnalyticsParameterSearchTermAnalyticsParameterSearchTerm
FIRAnalyticsParameterShippingAnalyticsParameterShipping
FIRAnalyticsParameterSignUpMethodAnalyticsParameterSignUpMethod
FIRAnalyticsParameterSourceAnalyticsParameterSource
FIRAnalyticsParameterStartDateAnalyticsParameterStartDate
FIRAnalyticsParameterTaxAnalyticsParameterTax
FIRAnalyticsParameterTermAnalyticsParameterTerm
FIRAnalyticsParameterTransactionIDAnalyticsParameterTransactionID
FIRAnalyticsParameterTravelClassAnalyticsParameterTravelClass
FIRAnalyticsParameterValueAnalyticsParameterValue
FIRAnalyticsParameterVirtualCurrencyNameAnalyticsParameterVirtualCurrencyName
FIRAnalyticsUserPropertySignUpMethodAnalyticsUserPropertySignUpMethod
Anterior Novo
Funções
FIRAuth.h
init?(app:)auth(app:)
Uso anterior:
let auth = FIRAuth(app: myApp)
Novo uso:
let auth = Auth.auth(app: myApp)
FIRUser.h
updateEmail(_:completion:)updateEmail(to:completion:)
Uso anterior:
user.updateEmail("firebase_rox42@gmail.com") { error in
  // Check for error
}
Novo uso:
user.updateEmail(to: "firebase_rox42@gmail.com") { error in
  // Check for error
}
updatePassword(_:completion:) updatePassword(to:completion:)
Uso anterior:
user.updatePassword("hunter2") { error in
  // Check for error
}
Novo uso:
user.updatePassword(to: "hunter2") { error in
  // Check for error
}
profileChangeRequest() createProfileChangeRequest()
Uso anterior:
let request = user.profileChangeRequest()
Novo uso:
let request = user.createProfileChangeRequest()
getTokenWithCompletion(_:) getToken(completion:)
Uso anterior:
user.getTokenWithCompletion() { token, error in
  // Handle token or error here
}
Novo uso:
user.getToken() { token, error in
  // Handle token or error here
}
Classes
FIRAdditionalUserInfoAdditionalUserInfo
FIRActionCodeInfoActionCodeInfo
FIRAuthAuth
FIRAuthCredentialAuthCredential
FIRAuthDataResultAuthDataResult
FIRAuthErrorsAuthErrors
FIRSecureTokenServiceSecureTokenService
FIRUserUser
FIRUserProfileChangeRequestUserProfileChangeRequest
FIRUserInfoUserInfo
FIREmailAuthProviderEmailAuthProvider
FIRFacebookAuthProviderFacebookAuthProvider
FIRGitHubAuthProviderGitHubAuthProvider
FIRGoogleAuthProviderGoogleAuthProvider
FIROAuthProviderOAuthProvider
FIRTwitterAuthProviderTwitterAuthProvider
Constantes
FIRAuthErrorDomainAuthErrorDomain
FIRAuthErrorNameKeyAuthErrorNameKey
FIREmailAuthProviderIDEmailAuthProviderID
FIRFacebookAuthProviderIDFacebookAuthProviderID
FIRGitHubAuthProviderIDGitHubAuthProviderID
FIRGoogleAuthProviderIDGoogleAuthProviderID
FIRTwitterAuthProviderIDTwitterAuthProviderID
FIRAuthStateDidChangeAuthStateDidChange
Declarações de tipo
FIRAuthStateDidChangeListenerHandleAuthStateDidChangeListenerHandle
FIRAuthStateDidChangeListenerBlockAuthStateDidChangeListenerBlock
FIRAuthDataResultCallbackAuthDataResultCallback
FIRAuthResultCallbackAuthResultCallback
FIRProviderQueryCallbackProviderQueryCallback
FIRSendPasswordResetCallbackSendPasswordResetCallback
FIRConfirmPasswordResetCallbackConfirmPasswordResetCallback
FIRVerifyPasswordResetCodeCallbackVerifyPasswordResetCodeCallback
FIRApplyActionCodeCallbackApplyActionCodeCallback
FIRVerificationResultCallbackVerificationResultCallback
Enums
FIRActionDataKeyActionDataKey
FIRActionCodeOperationActionCodeOperation
FIRAuthErrorCodeAuthErrorCode
Anterior Novo
Funções
FIRAnalyticsConfiguration.sharedInstance()AnalyticsConfiguration.shared()
FIRApp.configure(withName:options:) FirebaseApp.configure(name:options:)
Uso anterior:
FIRApp.configure(withName: "myCustomApp", options: customOptions)
Novo uso:
FirebaseApp.configure(name: "myCustomApp", options: customOptions)
FIRApp.defaultApp() FirebaseApp.app()
FIRApp.init?(named:) FirebaseApp.app(name:)
Uso anterior:
let app = FIRApp(named: "myCustomApp")
Novo uso:
let app = FirebaseApp.app(name: "myCustomApp")
FIRApp.allApps() FirebaseApp.allApps
Uso anterior:
for app in FIRApp.allApps() {
  print("App name: \(app.name)")
}
Novo uso:
for app in FirebaseApp.allApps {
  print("App name: \(app.name)")
}
FIRConfiguration.sharedInstance()FirebaseConfiguration.shared()
FIROptions.default()FirebaseOptions.defaultOptions()
Propriedades
FIROptions
GCMSenderIDgcmSenderID
Classes
FIRAnalyticsConfigurationAnalyticsConfiguration
FIRAppFirebaseApp
FIRConfigurationFirebaseConfiguration
FIROptionsFirebaseOptions
Declarações de tipo
FIRAppVoidBoolCallbackFirebaseAppVoidBoolCallback
Enums
FIRLoggerLevelFirebaseLoggerLevel
Anterior Novo
Funções
FIRCrashMessage(_:) FirebaseCrashMessage(_:)
Anterior Novo
Propriedades
FIRDatabase.h
persistenceEnabledisPersistenceEnabled
Classes
FIRDataSnapshotDataSnapshot
FIRDatabaseDatabase
FIRDatabaseQueryDatabaseQuery
FIRDatabaseReferenceDatabaseReference
FIRMutableDataMutableData
FIRServerValueServerValue
FIRTransactionResultTransactionResult
Declarações de tipo
FIRDatabaseHandleDatabaseHandle
Enums
FIRDataEventTypeDataEventType
Anterior Novo
Funções
// FIRDynamicLinks.h
dynamicLink(fromUniversalLinkURL:)dynamicLink(fromUniversalLink:)
Classes
FIRDynamicLinkDynamicLink
FIRDLRetrievalDelegateDLRetrievalDelegate
FIRDynamicLinksDynamicLinks
FIRDynamicLinkGoogleAnalyticsParametersDynamicLinkGoogleAnalyticsParameters
FIRDynamicLinkIOSParametersDynamicLinkIOSParameters
FIRDynamicLinkItunesConnectAnalyticsParametersDynamicLinkItunesConnectAnalyticsParameters
FIRDynamicLinkAndroidParametersDynamicLinkAndroidParameters
FIRDynamicLinkSocialMetaTagParametersDynamicLinkSocialMetaTagParameters
FIRDynamicLinkNavigationInfoParametersDynamicLinkNavigationInfoParameters
FIRDynamicLinkComponentsOptionsDynamicLinkComponentsOptions
FIRDynamicLinkComponentsDynamicLinkComponents
Declarações de tipo
FIRDynamicLinkResolverHandlerDynamicLinkResolverHandler
FIRDynamicLinkUniversalLinkHandlerDynamicLinkUniversalLinkHandler
FIRDynamicLinkShortenerCompletionDynamicLinkShortenerCompletion
Enums
FIRDynamicLinkMatchConfidenceDynamicLinkMatchConfidence
FIRDLRequiredMatchConfidenceDLRequiredMatchConfidence
FIRDLRetrieveResultDLRetrieveResult
FIRShortDynamicLinkPathLengthShortDynamicLinkPathLength
Anterior Novo
Funções
FIRInstanceID.h
getWithHandler() getIDWithHandler()
Uso anterior:
FIRInstanceID.instanceID().get { identity, error in
 // Check identity and error
}
Novo uso:
instanceID.instanceID().getID { identity, error in
  // Check identity and error
}
deleteWithHandler() deleteIDWithHandler()
Uso anterior:
FIRInstanceID.instanceID().delete { error in
  // Check error
}
Novo uso:
instanceID.instanceID().deleteID { error in
  // Check error
}
Classes
FIRInstanceIDInstanceID
Constantes
FIRInstanceIDScopeFirebaseMessagingInstanceIDScopeFirebaseMessaging
FIRInstanceIDTokenRefreshInstanceIDTokenRefresh
Declarações de tipo
FIRInstanceIDTokenHandlerInstanceIDTokenHandler
FIRInstanceIDDeleteTokenHandlerInstanceIDDeleteTokenHandler
FIRInstanceIDHandlerInstanceIDHandler
FIRInstanceIDDeleteHandlerInstanceIDDeleteHandler
Enums
FIRInstanceIDErrorInstanceIDError
FIRInstanceIDAPNSTokenTypeInstanceIDAPNSTokenType
Anterior Novo
Classes
FIRInvitesInvites
FIRInvitesTargetApplicationInvitesTargetApplication
FIRReceivedInviteReceivedInvite
Constantes
FIRInvitesErrorDomainInvitesErrorDomain
Enums
FIRInvitesErrorCodeInvitesErrorCode
FIRReceivedInviteMatchTypeReceivedInviteMatchType
Protocolos
FIRInviteBuilderInviteBuilder
FIRInviteDelegateInviteDelegate
Anterior Novo
Funções
FIRMessaging
connect(completion:)connect(handler:)
Classes
FIRMessagingMessageInfoMessagingMessageInfo
FIRMessagingRemoteMessageMessagingRemoteMessage
FIRMessagingMessaging
Constantes
FIRMessagingSendSuccessMessagingSendSuccess
FIRMessagingSendErrorMessagingSendError
FIRMessagingMessagesDeletedMessagingMessagesDeleted
FIRMessagingConnectionStateChangedMessagingConnectionStateChanged
FIRMessagingRegistrationTokenRefreshedMessagingRegistrationTokenRefreshed
Declarações de tipo
FIRMessagingFCMTokenFetchCompletionMessagingFCMTokenFetchCompletion
FIRMessagingDeleteFCMTokenCompletionMessagingDeleteFCMTokenCompletion
Enums
FIRMessagingErrorMessagingError
FIRMessagingMessageStatusMessagingMessageStatus
FIRMessagingAPNSTokenTypeMessagingAPNSTokenType
Protocolos
FIRMessagingDelegateMessagingDelegate
Anterior Novo
Funções
FIRRemoteConfig
setDefaultsFromPlistFileName(_:)setDefaults(fromPlist:)
setDefaultsFromPlistFileName(_:namespace)setDefaults(fromPlist:namespace)
Classes
FIRRemoteConfigValueRemoteConfigValue
FIRRemoteConfigSettingsRemoteConfigSettings
FIRRemoteConfigRemoteConfig
Constantes
FIRNamespaceGoogleMobilePlatformNamespaceGoogleMobilePlatform
FIRRemoteConfigThrottledEndTimeInSecondsKeyRemoteConfigThrottledEndTimeInSecondsKey
FIRRemoteConfigErrorDomainRemoteConfigErrorDomain
Declarações de tipo
FIRRemoteConfigFetchCompletionRemoteConfigFetchCompletion
Enums
FIRRemoteConfigFetchStatusRemoteConfigFetchStatus
FIRRemoteConfigErrorRemoteConfigError
FIRRemoteConfigSourceRemoteConfigSource
Anterior Novo
Funções
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:)
Classes
FIRStorageStorage
FIRStorageDownloadTaskStorageDownloadTask
FIRStorageMetadataStorageMetadata
FIRStorageObservableTaskStorageObservableTask
FIRStorageReferenceStorageReference
FIRStorageTaskStorageTask
FIRStorageTaskSnapshotStorageTaskSnapshot
FIRStorageUploadTaskStorageUploadTask
Constantes
FIRStorageErrorDomainStorageErrorDomain
Enums
FIRStorageTaskStatusStorageTaskStatus
FIRStorageErrorCodeStorageErrorCode
Protocolos
FIRStorageTaskManagementStorageTaskManagement
Declarações de tipo
FIRStorageHandleStorageHandle
FIRStorageVoidDataErrorStorageVoidDataError
FIRStorageVoidErrorStorageVoidError
FIRStorageVoidMetadataStorageVoidMetadata
FIRStorageVoidMetadataErrorStorageVoidMetadataError
FIRStorageVoidSnapshotStorageVoidSnapshot
FIRStorageVoidURLErrorStorageVoidURLError