Przejdź na najnowszy pakiet SDK Firebase dla Swift (wersja 4.0.0)

W wersji 4.0.0 pakietu SDK Firebase na iOS dla aplikacji Swift wprowadziliśmy zmiany konwencji nazewnictwa w Wytyczne dotyczące projektowania interfejsów API Swift. Aby naprawić błędy i ostrzeżenia, które możesz otrzymać po zaktualizowaniu pakietu SDK Firebase na iOS, wykonaj czynności opisane w tym przewodniku po migracji.

Zmiany w nowej wersji

W pakiecie SDK Swift wprowadziliśmy te zmiany we wszystkich usługach Firebase:

  • Usunięcie prefiksu FIR z nazw wszystkich stałych, protokołów, klas wyliczenia i definicje typów.
  • Zmieniam nazwę FIRApp na FirebaseApp.
  • Zmieniam nazwę FIROptions na FirebaseOptions.

Pełną listę zmian znajdziesz w sekcji ze szczegółową listą zmian.

Napraw błędy

Najlepszym sposobem na naprawienie błędów spowodowanych tymi zmianami jest użycie narzędzia w Xcode.

  1. Po otwarciu zaktualizowanego projektu w obszarze roboczym Xcode pojawią się błędy po zmianie nazw pojawią się w nawigatorze problemów.
  2. Kliknij błąd i usuń go, korzystając z sugestii w Okno naprawy.

Rozwiąż konflikty dotyczące nazw

Aby rozwiązać konflikty dotyczące nazw, użyj przestrzeni nazw dostępnej w module. Dla: na przykład w przypadku adresu FIRUser, który obecnie jest User, warto rozróżnić klasę/strukturę User od klasy Firebase User.

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

Szczegółowa lista zmian

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