Migrieren Sie zum neuesten Firebase SDK for Swift (Version 4.0.0)

In Version 4.0.0 des Firebase iOS SDK für Swift haben wir Änderungen vorgenommen, um die Namenskonventionen in den Swift API-Designrichtlinien Um Fehler oder Warnungen zu beheben, die beim Aktualisieren der App Version des Firebase iOS SDK verwenden, folgen Sie den Schritten in dieser Migrationsanleitung.

Änderungen in der neuen Version

Die folgenden Änderungen am Swift SDK wurden in allen Firebase-Produkten vorgenommen:

  • Das Präfix FIR aus den Namen aller Konstanten, Protokolle, Klassen Enums und Typdefinitionen.
  • FIRApp“ wird in „FirebaseApp“ umbenannt.
  • FIROptions“ wird in „FirebaseOptions“ umbenannt.

Eine vollständige Liste der Änderungen finden Sie in der detaillierten Liste der Änderungen.

Fehler beheben.

Fehler, die aus diesen Änderungen resultieren, können am besten mit der Funktion „Korrektur in Xcode ändern.

  1. Wenn Sie Ihr aktualisiertes Projekt in Ihrem Xcode-Arbeitsbereich öffnen, werden Fehler der Namensänderungen werden in der Problemnavigation angezeigt.
  2. Klicken Sie auf den Fehler und beheben Sie ihn mit dem Vorschlag im Dialogfeld „Problem beheben“.

Namenskonflikte lösen

Verwenden Sie den vom Modul bereitgestellten Namespace, um Namenskonflikte zu lösen. Für Im Fall von FIRUser, das jetzt User ist, möchten Sie vielleicht zwischen der Klasse User und der Firebase User-Klasse zu unterscheiden.

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

Detaillierte Liste der Änderungen

Zurück Neu
Funktionen
FIRAnalytics
logEvent(withName:parameters:) logEvent(_:parameters:)
Vorherige Verwendung:
FIRAnalytics.logEvent(withName: "com.myapp.appStart", parameters: nil)
Neue Nutzung:
Analytics.logEvent("com.myapp.appStart", parameters: nil)
setUserPropertyString(_:forName:)setUserProperty(_:forName:)
Bisherige Nutzung:
FIRAnalytics.setUserPropertyString("mechanic", forName: "job")
Neue Verwendung:
Analytics.setUserProperty("mechanic", forName: "job")
Klassen
FIRAnalyticsAnalytics
Konstanten
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
Zurück Neu
Funktionen
FIRAuth.h
init?(app:)auth(app:)
Bisherige Nutzung:
let auth = FIRAuth(app: myApp)
Neue Verwendung:
let auth = Auth.auth(app: myApp)
FIRUser.h
updateEmail(_:completion:)updateEmail(to:completion:)
Bisherige Nutzung:
user.updateEmail("firebase_rox42@gmail.com") { error in
  // Check for error
}
Neue Verwendung:
user.updateEmail(to: "firebase_rox42@gmail.com") { error in
  // Check for error
}
updatePassword(_:completion:) updatePassword(to:completion:)
Bisherige Nutzung:
user.updatePassword("hunter2") { error in
  // Check for error
}
Neue Verwendung:
user.updatePassword(to: "hunter2") { error in
  // Check for error
}
profileChangeRequest() createProfileChangeRequest()
Vorherige Verwendung:
let request = user.profileChangeRequest()
Neue Verwendung:
let request = user.createProfileChangeRequest()
getTokenWithCompletion(_:) getToken(completion:)
Vorherige Verwendung:
user.getTokenWithCompletion() { token, error in
  // Handle token or error here
}
Neue Verwendung:
user.getToken() { token, error in
  // Handle token or error here
}
Klassen
FIRAdditionalUserInfoAdditionalUserInfo
FIRActionCodeInfoActionCodeInfo
FIRAuthAuth
FIRAuthCredentialAuthCredential
FIRAuthDataResultAuthDataResult
FIRAuthErrorsAuthErrors
FIRSecureTokenServiceSecureTokenService
FIRUserUser
FIRUserProfileChangeRequestUserProfileChangeRequest
FIRUserInfoUserInfo
FIREmailAuthProviderEmailAuthProvider
FIRFacebookAuthProviderFacebookAuthProvider
FIRGitHubAuthProviderGitHubAuthProvider
FIRGoogleAuthProviderGoogleAuthProvider
FIROAuthProviderOAuthProvider
FIRTwitterAuthProviderTwitterAuthProvider
Konstanten
FIRAuthErrorDomainAuthErrorDomain
FIRAuthErrorNameKeyAuthErrorNameKey
FIREmailAuthProviderIDEmailAuthProviderID
FIRFacebookAuthProviderIDFacebookAuthProviderID
FIRGitHubAuthProviderIDGitHubAuthProviderID
FIRGoogleAuthProviderIDGoogleAuthProviderID
FIRTwitterAuthProviderIDTwitterAuthProviderID
FIRAuthStateDidChangeAuthStateDidChange
Typdeklarationen
FIRAuthStateDidChangeListenerHandleAuthStateDidChangeListenerHandle
FIRAuthStateDidChangeListenerBlockAuthStateDidChangeListenerBlock
FIRAuthDataResultCallbackAuthDataResultCallback
FIRAuthResultCallbackAuthResultCallback
FIRProviderQueryCallbackProviderQueryCallback
FIRSendPasswordResetCallbackSendPasswordResetCallback
FIRConfirmPasswordResetCallbackConfirmPasswordResetCallback
FIRVerifyPasswordResetCodeCallbackVerifyPasswordResetCodeCallback
FIRApplyActionCodeCallbackApplyActionCodeCallback
FIRVerificationResultCallbackVerificationResultCallback
Enums
FIRActionDataKeyActionDataKey
FIRActionCodeOperationActionCodeOperation
FIRAuthErrorCodeAuthErrorCode
Zurück Neu
Funktionen
FIRAnalyticsConfiguration.sharedInstance()AnalyticsConfiguration.shared()
FIRApp.configure(withName:options:) FirebaseApp.configure(name:options:)
Bisherige Nutzung:
FIRApp.configure(withName: "myCustomApp", options: customOptions)
Neue Verwendung:
FirebaseApp.configure(name: "myCustomApp", options: customOptions)
FIRApp.defaultApp() FirebaseApp.app()
FIRApp.init?(named:) FirebaseApp.app(name:)
Bisherige Nutzung:
let app = FIRApp(named: "myCustomApp")
Neue Verwendung:
let app = FirebaseApp.app(name: "myCustomApp")
FIRApp.allApps() FirebaseApp.allApps
Bisherige Nutzung:
for app in FIRApp.allApps() {
  print("App name: \(app.name)")
}
Neue Verwendung:
for app in FirebaseApp.allApps {
  print("App name: \(app.name)")
}
FIRConfiguration.sharedInstance()FirebaseConfiguration.shared()
FIROptions.default()FirebaseOptions.defaultOptions()
Attribute
FIR-Optionen
GCMSenderIDgcmSenderID
Klassen
FIRAnalyticsConfigurationAnalyticsConfiguration
FIRAppFirebaseApp
FIRConfigurationFirebaseConfiguration
FIROptionsFirebaseOptions
Typdeklarationen
FIRAppVoidBoolCallbackFirebaseAppVoidBoolCallback
Enums
FIRLoggerLevelFirebaseLoggerLevel
Zurück Neu
Funktionen
FIRCrashMessage(_:) FirebaseCrashMessage(_:)
Zurück Neu
Attribute
FIRDatabase.h
persistenceEnabledisPersistenceEnabled
Klassen
FIRDataSnapshotDataSnapshot
FIRDatabaseDatabase
FIRDatabaseQueryDatabaseQuery
FIRDatabaseReferenceDatabaseReference
FIRMutableDataMutableData
FIRServerValueServerValue
FIRTransactionResultTransactionResult
Typdeklarationen
FIRDatabaseHandleDatabaseHandle
Enums
FIRDataEventTypeDataEventType
Zurück Neu
Funktionen
// FIRDynamicLinks.h
dynamicLink(fromUniversalLinkURL:)dynamicLink(fromUniversalLink:)
Klassen
FIRDynamicLinkDynamicLink
FIRDLRetrievalDelegateDLRetrievalDelegate
FIRDynamicLinksDynamicLinks
FIRDynamicLinkGoogleAnalyticsParametersDynamicLinkGoogleAnalyticsParameters
FIRDynamicLinkIOSParametersDynamicLinkIOSParameters
FIRDynamicLinkItunesConnectAnalyticsParametersDynamicLinkItunesConnectAnalyticsParameters
FIRDynamicLinkAndroidParametersDynamicLinkAndroidParameters
FIRDynamicLinkSocialMetaTagParametersDynamicLinkSocialMetaTagParameters
FIRDynamicLinkNavigationInfoParametersDynamicLinkNavigationInfoParameters
FIRDynamicLinkComponentsOptionsDynamicLinkComponentsOptions
FIRDynamicLinkComponentsDynamicLinkComponents
Typdeklarationen
FIRDynamicLinkResolverHandlerDynamicLinkResolverHandler
FIRDynamicLinkUniversalLinkHandlerDynamicLinkUniversalLinkHandler
FIRDynamicLinkShortenerCompletionDynamicLinkShortenerCompletion
Enums
FIRDynamicLinkMatchConfidenceDynamicLinkMatchConfidence
FIRDLRequiredMatchConfidenceDLRequiredMatchConfidence
FIRDLRetrieveResultDLRetrieveResult
FIRShortDynamicLinkPathLengthShortDynamicLinkPathLength
Zurück Neu
Funktionen
FIRInstanceID.h
getWithHandler() getIDWithHandler()
Bisherige Nutzung:
FIRInstanceID.instanceID().get { identity, error in
 // Check identity and error
}
Neue Verwendung:
instanceID.instanceID().getID { identity, error in
  // Check identity and error
}
deleteWithHandler() deleteIDWithHandler()
Bisherige Nutzung:
FIRInstanceID.instanceID().delete { error in
  // Check error
}
Neue Nutzung:
instanceID.instanceID().deleteID { error in
  // Check error
}
Klassen
FIRInstanceIDInstanceID
Konstanten
FIRInstanceIDScopeFirebaseMessagingInstanceIDScopeFirebaseMessaging
FIRInstanceIDTokenRefreshInstanceIDTokenRefresh
Typdeklarationen
FIRInstanceIDTokenHandlerInstanceIDTokenHandler
FIRInstanceIDDeleteTokenHandlerInstanceIDDeleteTokenHandler
FIRInstanceIDHandlerInstanceIDHandler
FIRInstanceIDDeleteHandlerInstanceIDDeleteHandler
Enums
FIRInstanceIDErrorInstanceIDError
FIRInstanceIDAPNSTokenTypeInstanceIDAPNSTokenType
Zurück Neu
Klassen
FIRInvitesInvites
FIRInvitesTargetApplicationInvitesTargetApplication
FIRReceivedInviteReceivedInvite
Konstanten
FIRInvitesErrorDomainInvitesErrorDomain
Enums
FIRInvitesErrorCodeInvitesErrorCode
FIRReceivedInviteMatchTypeReceivedInviteMatchType
Protokolle
FIRInviteBuilderInviteBuilder
FIRInviteDelegateInviteDelegate
Zurück Neu
Funktionen
FIRMessaging
connect(completion:)connect(handler:)
Klassen
FIRMessagingMessageInfoMessagingMessageInfo
FIRMessagingRemoteMessageMessagingRemoteMessage
FIRMessagingMessaging
Konstanten
FIRMessagingSendSuccessMessagingSendSuccess
FIRMessagingSendErrorMessagingSendError
FIRMessagingMessagesDeletedMessagingMessagesDeleted
FIRMessagingConnectionStateChangedMessagingConnectionStateChanged
FIRMessagingRegistrationTokenRefreshedMessagingRegistrationTokenRefreshed
Typdeklarationen
FIRMessagingFCMTokenFetchCompletionMessagingFCMTokenFetchCompletion
FIRMessagingDeleteFCMTokenCompletionMessagingDeleteFCMTokenCompletion
Enums
FIRMessagingErrorMessagingError
FIRMessagingMessageStatusMessagingMessageStatus
FIRMessagingAPNSTokenTypeMessagingAPNSTokenType
Protokolle
FIRMessagingDelegateMessagingDelegate
Zurück Neu
Funktionen
FIRRemoteConfig
setDefaultsFromPlistFileName(_:)setDefaults(fromPlist:)
setDefaultsFromPlistFileName(_:namespace)setDefaults(fromPlist:namespace)
Klassen
FIRRemoteConfigValueRemoteConfigValue
FIRRemoteConfigSettingsRemoteConfigSettings
FIRRemoteConfigRemoteConfig
Konstanten
FIRNamespaceGoogleMobilePlatformNamespaceGoogleMobilePlatform
FIRRemoteConfigThrottledEndTimeInSecondsKeyRemoteConfigThrottledEndTimeInSecondsKey
FIRRemoteConfigErrorDomainRemoteConfigErrorDomain
Typdeklarationen
FIRRemoteConfigFetchCompletionRemoteConfigFetchCompletion
Enums
FIRRemoteConfigFetchStatusRemoteConfigFetchStatus
FIRRemoteConfigErrorRemoteConfigError
FIRRemoteConfigSourceRemoteConfigSource
Zurück Neu
Funktionen
FIRStorage-Referenz
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:)
Klassen
FIRStorageStorage
FIRStorageDownloadTaskStorageDownloadTask
FIRStorageMetadataStorageMetadata
FIRStorageObservableTaskStorageObservableTask
FIRStorageReferenceStorageReference
FIRStorageTaskStorageTask
FIRStorageTaskSnapshotStorageTaskSnapshot
FIRStorageUploadTaskStorageUploadTask
Konstanten
FIRStorageErrorDomainStorageErrorDomain
Enums
FIRStorageTaskStatusStorageTaskStatus
FIRStorageErrorCodeStorageErrorCode
Protokolle
FIRStorageTaskManagementStorageTaskManagement
Typdeklarationen
FIRStorageHandleStorageHandle
FIRStorageVoidDataErrorStorageVoidDataError
FIRStorageVoidErrorStorageVoidError
FIRStorageVoidMetadataStorageVoidMetadata
FIRStorageVoidMetadataErrorStorageVoidMetadataError
FIRStorageVoidSnapshotStorageVoidSnapshot
FIRStorageVoidURLErrorStorageVoidURLError