ย้ายข้อมูลไปยัง Firebase SDK for Swift เวอร์ชันล่าสุด (เวอร์ชัน 4.0.0)

ในเวอร์ชัน 4.0.0 ของ Firebase iOS SDK สำหรับ Swift เราได้รวมการเปลี่ยนแปลงเพื่อให้เป็นไปตาม ในมิติข้อมูล หลักเกณฑ์การออกแบบของ Swift API เพื่อแก้ไขข้อผิดพลาดหรือคำเตือนที่คุณอาจได้รับเมื่ออัปเดตแอป Firebase iOS SDK เวอร์ชันเดิม โดยทำตามขั้นตอนในคำแนะนำในการย้ายข้อมูลนี้

การเปลี่ยนแปลงในเวอร์ชันใหม่

มีการเปลี่ยนแปลงต่อไปนี้กับ Swift SDK ในผลิตภัณฑ์ Firebase ทั้งหมด

  • นำคำนำหน้า FIR ออกจากชื่อสำหรับค่าคงที่ โปรโตคอล คลาส enum และคำจำกัดความของประเภท
  • กำลังเปลี่ยนชื่อ FIRApp เป็น FirebaseApp
  • กำลังเปลี่ยนชื่อ FIROptions เป็น FirebaseOptions

ดูรายการการเปลี่ยนแปลงทั้งหมดได้ที่ส่วนรายการการเปลี่ยนแปลงโดยละเอียด

แก้ไขข้อผิดพลาด

วิธีที่ดีที่สุดในการแก้ไขข้อผิดพลาดที่เกิดจากการเปลี่ยนแปลงเหล่านี้คือการใช้เครื่องมือแก้ไข ในกล่องโต้ตอบ Xcode

  1. เมื่อคุณเปิดโปรเจ็กต์ที่อัปเดตแล้วในพื้นที่ทำงาน Xcode ข้อผิดพลาดที่เกิดขึ้น จากการเปลี่ยนชื่อจะปรากฏในตัวนำทางปัญหา
  2. คลิกข้อผิดพลาดและแก้ไขข้อผิดพลาดด้วยคำแนะนำใน กล่องโต้ตอบแก้ไข

แก้ไขข้อขัดแย้งในการตั้งชื่อ

หากต้องการแก้ไขข้อขัดแย้งในการตั้งชื่อ ให้ใช้เนมสเปซที่โมดูลระบุไว้ สำหรับ ตัวอย่างเช่น ในกรณีของ FIRUser ซึ่งปัจจุบันเปลี่ยนเป็น User คุณอาจต้องการ ให้แยกความแตกต่างระหว่างคลาส/โครงสร้าง User และคลาส Firebase User

@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")
ชั้นเรียน
FIRAnalyticsAnalytics
ค่าคงที่
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
ก่อนหน้า ใหม่
ฟังก์ชัน
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
}
ชั้นเรียน
FIRAdditionalUserInfoAdditionalUserInfo
FIRActionCodeInfoActionCodeInfo
FIRAuthAuth
FIRAuthCredentialAuthCredential
FIRAuthDataResultAuthDataResult
FIRAuthErrorsAuthErrors
FIRSecureTokenServiceSecureTokenService
FIRUserUser
FIRUserProfileChangeRequestUserProfileChangeRequest
FIRUserInfoUserInfo
FIREmailAuthProviderEmailAuthProvider
FIRFacebookAuthProviderFacebookAuthProvider
FIRGitHubAuthProviderGitHubAuthProvider
FIRGoogleAuthProviderGoogleAuthProvider
FIROAuthProviderOAuthProvider
FIRTwitterAuthProviderTwitterAuthProvider
ค่าคงที่
FIRAuthErrorDomainAuthErrorDomain
FIRAuthErrorNameKeyAuthErrorNameKey
FIREmailAuthProviderIDEmailAuthProviderID
FIRFacebookAuthProviderIDFacebookAuthProviderID
FIRGitHubAuthProviderIDGitHubAuthProviderID
FIRGoogleAuthProviderIDGoogleAuthProviderID
FIRTwitterAuthProviderIDTwitterAuthProviderID
FIRAuthStateDidChangeAuthStateDidChange
ประเภทการประกาศ
FIRAuthStateDidChangeListenerHandleAuthStateDidChangeListenerHandle
FIRAuthStateDidChangeListenerBlockAuthStateDidChangeListenerBlock
FIRAuthDataResultCallbackAuthDataResultCallback
FIRAuthResultCallbackAuthResultCallback
FIRProviderQueryCallbackProviderQueryCallback
FIRSendPasswordResetCallbackSendPasswordResetCallback
FIRConfirmPasswordResetCallbackConfirmPasswordResetCallback
FIRVerifyPasswordResetCodeCallbackVerifyPasswordResetCodeCallback
FIRApplyActionCodeCallbackApplyActionCodeCallback
FIRVerificationResultCallbackVerificationResultCallback
Enum
FIRActionDataKeyActionDataKey
FIRActionCodeOperationActionCodeOperation
FIRAuthErrorCodeAuthErrorCode
ก่อนหน้า ใหม่
ฟังก์ชัน
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()
พร็อพเพอร์ตี้
FIROptions
GCMSenderIDgcmSenderID
ชั้นเรียน
FIRAnalyticsConfigurationAnalyticsConfiguration
FIRAppFirebaseApp
FIRConfigurationFirebaseConfiguration
FIROptionsFirebaseOptions
ประเภทการประกาศ
FIRAppVoidBoolCallbackFirebaseAppVoidBoolCallback
Enum
FIRLoggerLevelFirebaseLoggerLevel
ก่อนหน้า ใหม่
ฟังก์ชัน
FIRCrashMessage(_:) FirebaseCrashMessage(_:)
ก่อนหน้า ใหม่
พร็อพเพอร์ตี้
FIRDatabase.h
persistenceEnabledisPersistenceEnabled
ชั้นเรียน
FIRDataSnapshotDataSnapshot
FIRDatabaseDatabase
FIRDatabaseQueryDatabaseQuery
FIRDatabaseReferenceDatabaseReference
FIRMutableDataMutableData
FIRServerValueServerValue
FIRTransactionResultTransactionResult
ประเภทการประกาศ
FIRDatabaseHandleDatabaseHandle
Enum
FIRDataEventTypeDataEventType
ก่อนหน้า ใหม่
ฟังก์ชัน
// FIRDynamicLinks.h
dynamicLink(fromUniversalLinkURL:)dynamicLink(fromUniversalLink:)
ชั้นเรียน
FIRDynamicLinkDynamicLink
FIRDLRetrievalDelegateDLRetrievalDelegate
FIRDynamicLinksDynamicLinks
FIRDynamicLinkGoogleAnalyticsParametersDynamicLinkGoogleAnalyticsParameters
FIRDynamicLinkIOSParametersDynamicLinkIOSParameters
FIRDynamicLinkItunesConnectAnalyticsParametersDynamicLinkItunesConnectAnalyticsParameters
FIRDynamicLinkAndroidParametersDynamicLinkAndroidParameters
FIRDynamicLinkSocialMetaTagParametersDynamicLinkSocialMetaTagParameters
FIRDynamicLinkNavigationInfoParametersDynamicLinkNavigationInfoParameters
FIRDynamicLinkComponentsOptionsDynamicLinkComponentsOptions
FIRDynamicLinkComponentsDynamicLinkComponents
ประเภทการประกาศ
FIRDynamicLinkResolverHandlerDynamicLinkResolverHandler
FIRDynamicLinkUniversalLinkHandlerDynamicLinkUniversalLinkHandler
FIRDynamicLinkShortenerCompletionDynamicLinkShortenerCompletion
Enum
FIRDynamicLinkMatchConfidenceDynamicLinkMatchConfidence
FIRDLRequiredMatchConfidenceDLRequiredMatchConfidence
FIRDLRetrieveResultDLRetrieveResult
FIRShortDynamicLinkPathLengthShortDynamicLinkPathLength
ก่อนหน้า ใหม่
ฟังก์ชัน
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
}
ชั้นเรียน
FIRInstanceIDInstanceID
ค่าคงที่
FIRInstanceIDScopeFirebaseMessagingInstanceIDScopeFirebaseMessaging
FIRInstanceIDTokenRefreshInstanceIDTokenRefresh
ประเภทการประกาศ
FIRInstanceIDTokenHandlerInstanceIDTokenHandler
FIRInstanceIDDeleteTokenHandlerInstanceIDDeleteTokenHandler
FIRInstanceIDHandlerInstanceIDHandler
FIRInstanceIDDeleteHandlerInstanceIDDeleteHandler
Enum
FIRInstanceIDErrorInstanceIDError
FIRInstanceIDAPNSTokenTypeInstanceIDAPNSTokenType
ก่อนหน้า ใหม่
ชั้นเรียน
FIRInvitesInvites
FIRInvitesTargetApplicationInvitesTargetApplication
FIRReceivedInviteReceivedInvite
ค่าคงที่
FIRInvitesErrorDomainInvitesErrorDomain
Enum
FIRInvitesErrorCodeInvitesErrorCode
FIRReceivedInviteMatchTypeReceivedInviteMatchType
โปรโตคอล
FIRInviteBuilderInviteBuilder
FIRInviteDelegateInviteDelegate
ก่อนหน้า ใหม่
ฟังก์ชัน
การส่งข้อความ FIR
connect(completion:)connect(handler:)
ชั้นเรียน
FIRMessagingMessageInfoMessagingMessageInfo
FIRMessagingRemoteMessageMessagingRemoteMessage
FIRMessagingMessaging
ค่าคงที่
FIRMessagingSendSuccessMessagingSendSuccess
FIRMessagingSendErrorMessagingSendError
FIRMessagingMessagesDeletedMessagingMessagesDeleted
FIRMessagingConnectionStateChangedMessagingConnectionStateChanged
FIRMessagingRegistrationTokenRefreshedMessagingRegistrationTokenRefreshed
ประเภทการประกาศ
FIRMessagingFCMTokenFetchCompletionMessagingFCMTokenFetchCompletion
FIRMessagingDeleteFCMTokenCompletionMessagingDeleteFCMTokenCompletion
Enum
FIRMessagingErrorMessagingError
FIRMessagingMessageStatusMessagingMessageStatus
FIRMessagingAPNSTokenTypeMessagingAPNSTokenType
โปรโตคอล
FIRMessagingDelegateMessagingDelegate
ก่อนหน้า ใหม่
ฟังก์ชัน
FIRRemoteConfig
setDefaultsFromPlistFileName(_:)setDefaults(fromPlist:)
setDefaultsFromPlistFileName(_:namespace)setDefaults(fromPlist:namespace)
ชั้นเรียน
FIRRemoteConfigValueRemoteConfigValue
FIRRemoteConfigSettingsRemoteConfigSettings
FIRRemoteConfigRemoteConfig
ค่าคงที่
FIRNamespaceGoogleMobilePlatformNamespaceGoogleMobilePlatform
FIRRemoteConfigThrottledEndTimeInSecondsKeyRemoteConfigThrottledEndTimeInSecondsKey
FIRRemoteConfigErrorDomainRemoteConfigErrorDomain
ประเภทการประกาศ
FIRRemoteConfigFetchCompletionRemoteConfigFetchCompletion
Enum
FIRRemoteConfigFetchStatusRemoteConfigFetchStatus
FIRRemoteConfigErrorRemoteConfigError
FIRRemoteConfigSourceRemoteConfigSource
ก่อนหน้า ใหม่
ฟังก์ชัน
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:)
ชั้นเรียน
FIRStorageStorage
FIRStorageDownloadTaskStorageDownloadTask
FIRStorageMetadataStorageMetadata
FIRStorageObservableTaskStorageObservableTask
FIRStorageReferenceStorageReference
FIRStorageTaskStorageTask
FIRStorageTaskSnapshotStorageTaskSnapshot
FIRStorageUploadTaskStorageUploadTask
ค่าคงที่
FIRStorageErrorDomainStorageErrorDomain
Enum
FIRStorageTaskStatusStorageTaskStatus
FIRStorageErrorCodeStorageErrorCode
โปรโตคอล
FIRStorageTaskManagementStorageTaskManagement
ประเภทการประกาศ
FIRStorageHandleStorageHandle
FIRStorageVoidDataErrorStorageVoidDataError
FIRStorageVoidErrorStorageVoidError
FIRStorageVoidMetadataStorageVoidMetadata
FIRStorageVoidMetadataErrorStorageVoidMetadataError
FIRStorageVoidSnapshotStorageVoidSnapshot
FIRStorageVoidURLErrorStorageVoidURLError