Перейдите на последнюю версию Firebase SDK для Swift (v4.0.0).

В версию 4.0.0 Firebase iOS SDK для Swift мы включили изменения, соответствующие соглашениям об именах, указанным в Руководстве по проектированию API Swift . Чтобы исправить любые ошибки или предупреждения, которые могут возникнуть при обновлении версии Firebase iOS SDK вашего приложения, выполните действия, описанные в этом руководстве по миграции.

Изменения в новой версии

Следующие изменения были внесены в Swift SDK во всех продуктах Firebase:

  • Удаление префикса FIR в именах всех констант, протоколов, классов, перечислений и определений типов.
  • Переименование FIRApp в FirebaseApp .
  • Переименование FIROptions в FirebaseOptions .

Полный список изменений смотрите в разделе подробный список изменений .

Устранение ошибок

Лучший способ устранить ошибки, возникающие в результате этих изменений, — использовать диалоговое окно Fix-it в Xcode.

  1. Когда вы открываете обновленный проект в рабочей области Xcode, в навигаторе проблем появляются ошибки, возникающие в результате изменений именования.
  2. Нажмите на ошибку и устраните ее, используя предложение в диалоговом окне «Исправить» .

Разрешение конфликтов именования

Чтобы разрешить конфликты имен, используйте пространство имен, предоставляемое модулем. Например, в случае с FIRUser , который теперь называется User , вы можете захотеть различать свой класс/структуру User и класс User Firebase.

@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
Предыдущий Новый
Функции
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()
Характеристики
FIRОпции
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
Предыдущий Новый
Функции
// 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
Предыдущий Новый
Функции
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
Предыдущий Новый
Функции
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