Migrer vers le dernier SDK Firebase pour Swift (v4.0.0)

Dans la version 4.0.0 du SDK Firebase pour iOS pour Swift, nous avons inclus des modifications afin de respecter de nommage de fichier dans Consignes de conception de l'API Swift Pour corriger les erreurs ou avertissements que vous pourriez recevoir lorsque vous mettez à jour la version du SDK Firebase pour iOS de votre application, suivez les étapes de ce guide de migration.

Modifications apportées à la nouvelle version

Les modifications suivantes ont été apportées au SDK Swift dans tous les produits Firebase:

  • Supprimer le préfixe FIR dans les noms de toutes les constantes, tous les protocoles, toutes les classes les énumérations et les définitions de type.
  • Remplacement du nom de FIRApp par FirebaseApp.
  • Remplacement du nom de FIROptions par FirebaseOptions.

Pour obtenir la liste complète des modifications, consultez la section Liste détaillée des modifications.

Corriger les erreurs

Le meilleur moyen de résoudre les erreurs résultant de ces modifications est d'utiliser la dans Xcode.

  1. Lorsque vous ouvrez votre projet mis à jour dans votre espace de travail Xcode, les erreurs résultant des modifications de dénomination apparaissent dans le navigateur de problèmes.
  2. Cliquez sur l'erreur et corrigez-la à l'aide de la suggestion fournie dans le Boîte de dialogue de correction

Résoudre les conflits de noms

Pour résoudre les conflits de noms, utilisez l'espace de noms fourni par le module. Pour Par exemple, dans le cas de FIRUser, qui est désormais User, vous pouvez différenciez votre classe/struct User de celle de Firebase User.

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

Liste détaillée des modifications

Précédent Nouveau
Fonctions
FIRAnalytics
logEvent(withName:parameters:) logEvent(_:parameters:)
Ancienne utilisation:
FIRAnalytics.logEvent(withName: "com.myapp.appStart", parameters: nil)
Nouvelle utilisation :
Analytics.logEvent("com.myapp.appStart", parameters: nil)
setUserPropertyString(_:forName:)setUserProperty(_:forName:)
Ancienne utilisation:
FIRAnalytics.setUserPropertyString("mechanic", forName: "job")
Nouvelle utilisation :
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
Précédent Nouveau
Fonctions
FIRAuth.h
init?(app:)auth(app:)
Ancienne utilisation:
let auth = FIRAuth(app: myApp)
Nouvelle utilisation :
let auth = Auth.auth(app: myApp)
FIRUser.h
updateEmail(_:completion:)updateEmail(to:completion:)
Ancienne utilisation:
user.updateEmail("firebase_rox42@gmail.com") { error in
  // Check for error
}
Nouvelle utilisation :
user.updateEmail(to: "firebase_rox42@gmail.com") { error in
  // Check for error
}
updatePassword(_:completion:) updatePassword(to:completion:)
Ancienne utilisation:
user.updatePassword("hunter2") { error in
  // Check for error
}
Nouvelle utilisation :
user.updatePassword(to: "hunter2") { error in
  // Check for error
}
profileChangeRequest() createProfileChangeRequest()
Ancienne utilisation:
let request = user.profileChangeRequest()
Nouvelle utilisation :
let request = user.createProfileChangeRequest()
getTokenWithCompletion(_:) getToken(completion:)
Utilisation précédente :
user.getTokenWithCompletion() { token, error in
  // Handle token or error here
}
Nouvelle utilisation :
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
Déclarations de type
FIRAuthStateDidChangeListenerHandleAuthStateDidChangeListenerHandle
FIRAuthStateDidChangeListenerBlockAuthStateDidChangeListenerBlock
FIRAuthDataResultCallbackAuthDataResultCallback
FIRAuthResultCallbackAuthResultCallback
FIRProviderQueryCallbackProviderQueryCallback
FIRSendPasswordResetCallbackSendPasswordResetCallback
FIRConfirmPasswordResetCallbackConfirmPasswordResetCallback
FIRVerifyPasswordResetCodeCallbackVerifyPasswordResetCodeCallback
FIRApplyActionCodeCallbackApplyActionCodeCallback
FIRVerificationResultCallbackVerificationResultCallback
Enums
FIRActionDataKeyActionDataKey
FIRActionCodeOperationActionCodeOperation
FIRAuthErrorCodeAuthErrorCode
Précédent Nouveau
Fonctions
FIRAnalyticsConfiguration.sharedInstance()AnalyticsConfiguration.shared()
FIRApp.configure(withName:options:) FirebaseApp.configure(name:options:)
Ancienne utilisation:
FIRApp.configure(withName: "myCustomApp", options: customOptions)
Nouvelle utilisation :
FirebaseApp.configure(name: "myCustomApp", options: customOptions)
FIRApp.defaultApp() FirebaseApp.app()
FIRApp.init?(named:) FirebaseApp.app(name:)
Ancienne utilisation:
let app = FIRApp(named: "myCustomApp")
Nouvelle utilisation :
let app = FirebaseApp.app(name: "myCustomApp")
FIRApp.allApps() FirebaseApp.allApps
Ancienne utilisation:
for app in FIRApp.allApps() {
  print("App name: \(app.name)")
}
Nouvelle utilisation :
for app in FirebaseApp.allApps {
  print("App name: \(app.name)")
}
FIRConfiguration.sharedInstance()FirebaseConfiguration.shared()
FIROptions.default()FirebaseOptions.defaultOptions()
Propriétés
FIROptions
GCMSenderIDgcmSenderID
Classes
FIRAnalyticsConfigurationAnalyticsConfiguration
FIRAppFirebaseApp
FIRConfigurationFirebaseConfiguration
FIROptionsFirebaseOptions
Déclarations de type
FIRAppVoidBoolCallbackFirebaseAppVoidBoolCallback
Enums
FIRLoggerLevelFirebaseLoggerLevel
Précédent Nouveau
Fonctions
FIRCrashMessage(_:) FirebaseCrashMessage(_:)
Précédent Nouveau
Propriétés
FIRDatabase.h
persistenceEnabledisPersistenceEnabled
Classes
FIRDataSnapshotDataSnapshot
FIRDatabaseDatabase
FIRDatabaseQueryDatabaseQuery
FIRDatabaseReferenceDatabaseReference
FIRMutableDataMutableData
FIRServerValueServerValue
FIRTransactionResultTransactionResult
Déclarations de type
FIRDatabaseHandleDatabaseHandle
Enums
FIRDataEventTypeDataEventType
Précédent Nouveau
Fonctions
// FIRDynamicLinks.h
dynamicLink(fromUniversalLinkURL:)dynamicLink(fromUniversalLink:)
Classes
FIRDynamicLinkDynamicLink
FIRDLRetrievalDelegateDLRetrievalDelegate
FIRDynamicLinksDynamicLinks
FIRDynamicLinkGoogleAnalyticsParametersDynamicLinkGoogleAnalyticsParameters
FIRDynamicLinkIOSParametersDynamicLinkIOSParameters
FIRDynamicLinkItunesConnectAnalyticsParametersDynamicLinkItunesConnectAnalyticsParameters
FIRDynamicLinkAndroidParametersDynamicLinkAndroidParameters
FIRDynamicLinkSocialMetaTagParametersDynamicLinkSocialMetaTagParameters
FIRDynamicLinkNavigationInfoParametersDynamicLinkNavigationInfoParameters
FIRDynamicLinkComponentsOptionsDynamicLinkComponentsOptions
FIRDynamicLinkComponentsDynamicLinkComponents
Déclarations de type
FIRDynamicLinkResolverHandlerDynamicLinkResolverHandler
FIRDynamicLinkUniversalLinkHandlerDynamicLinkUniversalLinkHandler
FIRDynamicLinkShortenerCompletionDynamicLinkShortenerCompletion
Enums
FIRDynamicLinkMatchConfidenceDynamicLinkMatchConfidence
FIRDLRequiredMatchConfidenceDLRequiredMatchConfidence
FIRDLRetrieveResultDLRetrieveResult
FIRShortDynamicLinkPathLengthShortDynamicLinkPathLength
Précédent Nouveau
Fonctions
FIRInstanceID.h
getWithHandler() getIDWithHandler()
Ancienne utilisation:
FIRInstanceID.instanceID().get { identity, error in
 // Check identity and error
}
Nouvelle utilisation :
instanceID.instanceID().getID { identity, error in
  // Check identity and error
}
deleteWithHandler() deleteIDWithHandler()
Ancienne utilisation:
FIRInstanceID.instanceID().delete { error in
  // Check error
}
Nouvelle utilisation :
instanceID.instanceID().deleteID { error in
  // Check error
}
Classes
FIRInstanceIDInstanceID
Constantes
FIRInstanceIDScopeFirebaseMessagingInstanceIDScopeFirebaseMessaging
FIRInstanceIDTokenRefreshInstanceIDTokenRefresh
Déclarations de type
FIRInstanceIDTokenHandlerInstanceIDTokenHandler
FIRInstanceIDDeleteTokenHandlerInstanceIDDeleteTokenHandler
FIRInstanceIDHandlerInstanceIDHandler
FIRInstanceIDDeleteHandlerInstanceIDDeleteHandler
Enums
FIRInstanceIDErrorInstanceIDError
FIRInstanceIDAPNSTokenTypeInstanceIDAPNSTokenType
Précédent Nouveau
Classes
FIRInvitesInvites
FIRInvitesTargetApplicationInvitesTargetApplication
FIRReceivedInviteReceivedInvite
Constantes
FIRInvitesErrorDomainInvitesErrorDomain
Enums
FIRInvitesErrorCodeInvitesErrorCode
FIRReceivedInviteMatchTypeReceivedInviteMatchType
Protocoles
FIRInviteBuilderInviteBuilder
FIRInviteDelegateInviteDelegate
Précédent Nouveau
Fonctions
FIRMessaging
connect(completion:)connect(handler:)
Classes
FIRMessagingMessageInfoMessagingMessageInfo
FIRMessagingRemoteMessageMessagingRemoteMessage
FIRMessagingMessaging
Constantes
FIRMessagingSendSuccessMessagingSendSuccess
FIRMessagingSendErrorMessagingSendError
FIRMessagingMessagesDeletedMessagingMessagesDeleted
FIRMessagingConnectionStateChangedMessagingConnectionStateChanged
FIRMessagingRegistrationTokenRefreshedMessagingRegistrationTokenRefreshed
Déclarations de type
FIRMessagingFCMTokenFetchCompletionMessagingFCMTokenFetchCompletion
FIRMessagingDeleteFCMTokenCompletionMessagingDeleteFCMTokenCompletion
Enums
FIRMessagingErrorMessagingError
FIRMessagingMessageStatusMessagingMessageStatus
FIRMessagingAPNSTokenTypeMessagingAPNSTokenType
Protocoles
FIRMessagingDelegateMessagingDelegate
Précédent Nouveau
Fonctions
FIRRemoteConfig
setDefaultsFromPlistFileName(_:)setDefaults(fromPlist:)
setDefaultsFromPlistFileName(_:namespace)setDefaults(fromPlist:namespace)
Classes
FIRRemoteConfigValueRemoteConfigValue
FIRRemoteConfigSettingsRemoteConfigSettings
FIRRemoteConfigRemoteConfig
Constantes
FIRNamespaceGoogleMobilePlatformNamespaceGoogleMobilePlatform
FIRRemoteConfigThrottledEndTimeInSecondsKeyRemoteConfigThrottledEndTimeInSecondsKey
FIRRemoteConfigErrorDomainRemoteConfigErrorDomain
Déclarations de type
FIRRemoteConfigFetchCompletionRemoteConfigFetchCompletion
Enums
FIRRemoteConfigFetchStatusRemoteConfigFetchStatus
FIRRemoteConfigErrorRemoteConfigError
FIRRemoteConfigSourceRemoteConfigSource
Précédent Nouveau
Fonctions
Référence de stockage FIR
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
Protocoles
FIRStorageTaskManagementStorageTaskManagement
Déclarations de type
FIRStorageHandleStorageHandle
FIRStorageVoidDataErrorStorageVoidDataError
FIRStorageVoidErrorStorageVoidError
FIRStorageVoidMetadataStorageVoidMetadata
FIRStorageVoidMetadataErrorStorageVoidMetadataError
FIRStorageVoidSnapshotStorageVoidSnapshot
FIRStorageVoidURLErrorStorageVoidURLError