Trong phiên bản 4.0.0 của SDK iOS Firebase dành cho Swift, chúng tôi đã đưa vào các thay đổi để tuân theo quy ước đặt tên trong Nguyên tắc thiết kế API Swift . Để khắc phục mọi lỗi hoặc cảnh báo mà bạn có thể nhận được khi cập nhật phiên bản SDK Firebase iOS của ứng dụng, hãy làm theo các bước trong hướng dẫn di chuyển này.
Những thay đổi trong phiên bản mới
Những thay đổi sau đã được thực hiện đối với Swift SDK trên tất cả các sản phẩm Firebase:
- Xóa tiền tố
FIR
trên các tên của tất cả các hằng số, giao thức, lớp, enum và định nghĩa kiểu. - Đổi tên
FIRApp
thànhFirebaseApp
. - Đổi tên
FIROptions
thànhFirebaseOptions
.
Để biết danh sách đầy đủ các thay đổi, hãy xem phần danh sách chi tiết các thay đổi .
Giải quyết lỗi
Cách tốt nhất để giải quyết lỗi do những thay đổi này là sử dụng hộp thoại Fix-it trong Xcode.
- Khi bạn mở dự án đã cập nhật trong không gian làm việc Xcode của mình, các lỗi do thay đổi cách đặt tên sẽ xuất hiện trong trình điều hướng sự cố .
- Nhấp vào lỗi và giải quyết bằng gợi ý trong hộp thoại Fix-it .
Giải quyết xung đột đặt tên
Để giải quyết xung đột đặt tên, hãy sử dụng không gian tên do mô-đun cung cấp. Ví dụ: trong trường hợp FIRUser
, hiện là User
, bạn có thể muốn phân biệt giữa lớp/cấu trúc User
của mình và lớp User
Firebase.
@import Firebase ... var firebaseUser: Firebase.User?
Danh sách chi tiết các thay đổi
phân tích
Trước | Mới |
---|---|
Chức năng | |
FIRAnalytics | |
logEvent(withName:parameters:) | logEvent(_:parameters:) |
Cách sử dụng trước đây:FIRAnalytics.logEvent(withName: "com.myapp.appStart", parameters: nil)Cách sử dụng mới: Analytics.logEvent("com.myapp.appStart", parameters: nil) | |
setUserPropertyString(_:forName:) | setUserProperty(_:forName:) |
Cách sử dụng trước đây:FIRAnalytics.setUserPropertyString("mechanic", forName: "job")Cách sử dụng mới: Analytics.setUserProperty("mechanic", forName: "job") | |
Các lớp học | |
FIRAnalytics | Analytics |
Hằng số | |
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 |
Xác thực
Trước | Mới |
---|---|
Chức năng | |
FIRAuth.h | |
init?(app:) | auth(app:) |
Cách sử dụng trước đây:let auth = FIRAuth(app: myApp)Cách sử dụng mới: let auth = Auth.auth(app: myApp) | |
FIRUser.h | |
updateEmail(_:completion:) | updateEmail(to:completion:) |
Cách sử dụng trước đây:user.updateEmail("firebase_rox42@gmail.com") { error in // Check for error }Cách sử dụng mới: user.updateEmail(to: "firebase_rox42@gmail.com") { error in // Check for error } | |
updatePassword(_:completion:) | updatePassword(to:completion:) |
Cách sử dụng trước đây:user.updatePassword("hunter2") { error in // Check for error }Cách sử dụng mới: user.updatePassword(to: "hunter2") { error in // Check for error } | |
profileChangeRequest() | createProfileChangeRequest() |
Cách sử dụng trước đây:let request = user.profileChangeRequest()Cách sử dụng mới: let request = user.createProfileChangeRequest() | |
getTokenWithCompletion(_:) | getToken(completion:) |
Cách sử dụng trước đây:user.getTokenWithCompletion() { token, error in // Handle token or error here }Cách sử dụng mới: user.getToken() { token, error in // Handle token or error here } | |
Các lớp học | |
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 |
Hằng số | |
FIRAuthErrorDomain | AuthErrorDomain |
FIRAuthErrorNameKey | AuthErrorNameKey |
FIREmailAuthProviderID | EmailAuthProviderID |
FIRFacebookAuthProviderID | FacebookAuthProviderID |
FIRGitHubAuthProviderID | GitHubAuthProviderID |
FIRGoogleAuthProviderID | GoogleAuthProviderID |
FIRTwitterAuthProviderID | TwitterAuthProviderID |
FIRAuthStateDidChange | AuthStateDidChange |
Khai báo kiểu | |
FIRAuthStateDidChangeListenerHandle | AuthStateDidChangeListenerHandle |
FIRAuthStateDidChangeListenerBlock | AuthStateDidChangeListenerBlock |
FIRAuthDataResultCallback | AuthDataResultCallback |
FIRAuthResultCallback | AuthResultCallback |
FIRProviderQueryCallback | ProviderQueryCallback |
FIRSendPasswordResetCallback | SendPasswordResetCallback |
FIRConfirmPasswordResetCallback | ConfirmPasswordResetCallback |
FIRVerifyPasswordResetCodeCallback | VerifyPasswordResetCodeCallback |
FIRApplyActionCodeCallback | ApplyActionCodeCallback |
FIRVerificationResultCallback | VerificationResultCallback |
Enum | |
FIRActionDataKey | ActionDataKey |
FIRActionCodeOperation | ActionCodeOperation |
FIRAuthErrorCode | AuthErrorCode |
Cốt lõi
Trước | Mới |
---|---|
Chức năng | |
FIRAnalyticsConfiguration.sharedInstance() | AnalyticsConfiguration.shared() |
FIRApp.configure(withName:options:) | FirebaseApp.configure(name:options:) |
Cách sử dụng trước đây:FIRApp.configure(withName: "myCustomApp", options: customOptions)Cách sử dụng mới: FirebaseApp.configure(name: "myCustomApp", options: customOptions) | |
FIRApp.defaultApp() | FirebaseApp.app() |
FIRApp.init?(named:) | FirebaseApp.app(name:) |
Cách sử dụng trước đây:let app = FIRApp(named: "myCustomApp")Cách sử dụng mới: let app = FirebaseApp.app(name: "myCustomApp") | |
FIRApp.allApps() | FirebaseApp.allApps |
Cách sử dụng trước đây:for app in FIRApp.allApps() { print("App name: \(app.name)") }Cách sử dụng mới: for app in FirebaseApp.allApps { print("App name: \(app.name)") } | |
FIRConfiguration.sharedInstance() | FirebaseConfiguration.shared() |
FIROptions.default() | FirebaseOptions.defaultOptions() |
Của cải | |
Tùy chọn FIR | |
GCMSenderID | gcmSenderID |
Các lớp học | |
FIRAnalyticsConfiguration | AnalyticsConfiguration |
FIRApp | FirebaseApp |
FIRConfiguration | FirebaseConfiguration |
FIROptions | FirebaseOptions |
Khai báo kiểu | |
FIRAppVoidBoolCallback | FirebaseAppVoidBoolCallback |
Enum | |
FIRLoggerLevel | FirebaseLoggerLevel |
Tai nạn
Trước | Mới |
---|---|
Chức năng | |
FIRCrashMessage(_:) | FirebaseCrashMessage(_:) |
Cơ sở dữ liệu
Trước | Mới |
---|---|
Của cải | |
FIRDatabase.h | |
persistenceEnabled | isPersistenceEnabled |
Các lớp học | |
FIRDataSnapshot | DataSnapshot |
FIRDatabase | Database |
FIRDatabaseQuery | DatabaseQuery |
FIRDatabaseReference | DatabaseReference |
FIRMutableData | MutableData |
FIRServerValue | ServerValue |
FIRTransactionResult | TransactionResult |
Khai báo kiểu | |
FIRDatabaseHandle | DatabaseHandle |
Enum | |
FIRDataEventType | DataEventType |
Liên kết động
Trước | Mới |
---|---|
Chức năng | |
// FIRDynamicLinks.h | |
dynamicLink(fromUniversalLinkURL:) | dynamicLink(fromUniversalLink:) |
Các lớp học | |
FIRDynamicLink | DynamicLink |
FIRDLRetrievalDelegate | DLRetrievalDelegate |
FIRDynamicLinks | DynamicLinks |
FIRDynamicLinkGoogleAnalyticsParameters | DynamicLinkGoogleAnalyticsParameters |
FIRDynamicLinkIOSParameters | DynamicLinkIOSParameters |
FIRDynamicLinkItunesConnectAnalyticsParameters | DynamicLinkItunesConnectAnalyticsParameters |
FIRDynamicLinkAndroidParameters | DynamicLinkAndroidParameters |
FIRDynamicLinkSocialMetaTagParameters | DynamicLinkSocialMetaTagParameters |
FIRDynamicLinkNavigationInfoParameters | DynamicLinkNavigationInfoParameters |
FIRDynamicLinkComponentsOptions | DynamicLinkComponentsOptions |
FIRDynamicLinkComponents | DynamicLinkComponents |
Khai báo kiểu | |
FIRDynamicLinkResolverHandler | DynamicLinkResolverHandler |
FIRDynamicLinkUniversalLinkHandler | DynamicLinkUniversalLinkHandler |
FIRDynamicLinkShortenerCompletion | DynamicLinkShortenerCompletion |
Enum | |
FIRDynamicLinkMatchConfidence | DynamicLinkMatchConfidence |
FIRDLRequiredMatchConfidence | DLRequiredMatchConfidence |
FIRDLRetrieveResult | DLRetrieveResult |
FIRShortDynamicLinkPathLength | ShortDynamicLinkPathLength |
ID phiên bản
Trước | Mới |
---|---|
Chức năng | |
FIRInstanceID.h | |
getWithHandler() | getIDWithHandler() |
Cách sử dụng trước đây:FIRInstanceID.instanceID().get { identity, error in // Check identity and error }Cách sử dụng mới: instanceID.instanceID().getID { identity, error in // Check identity and error } | |
deleteWithHandler() | deleteIDWithHandler() |
Cách sử dụng trước đây:FIRInstanceID.instanceID().delete { error in // Check error }Cách sử dụng mới: instanceID.instanceID().deleteID { error in // Check error } | |
Các lớp học | |
FIRInstanceID | InstanceID |
Hằng số | |
FIRInstanceIDScopeFirebaseMessaging | InstanceIDScopeFirebaseMessaging |
FIRInstanceIDTokenRefresh | InstanceIDTokenRefresh |
Khai báo kiểu | |
FIRInstanceIDTokenHandler | InstanceIDTokenHandler |
FIRInstanceIDDeleteTokenHandler | InstanceIDDeleteTokenHandler |
FIRInstanceIDHandler | InstanceIDHandler |
FIRInstanceIDDeleteHandler | InstanceIDDeleteHandler |
Enum | |
FIRInstanceIDError | InstanceIDError |
FIRInstanceIDAPNSTokenType | InstanceIDAPNSTokenType |
Mời
Trước | Mới |
---|---|
Các lớp học | |
FIRInvites | Invites |
FIRInvitesTargetApplication | InvitesTargetApplication |
FIRReceivedInvite | ReceivedInvite |
Hằng số | |
FIRInvitesErrorDomain | InvitesErrorDomain |
Enum | |
FIRInvitesErrorCode | InvitesErrorCode |
FIRReceivedInviteMatchType | ReceivedInviteMatchType |
Giao thức | |
FIRInviteBuilder | InviteBuilder |
FIRInviteDelegate | InviteDelegate |
Nhắn tin
Trước | Mới |
---|---|
Chức năng | |
FIRMTin nhắn | |
connect(completion:) | connect(handler:) |
Các lớp học | |
FIRMessagingMessageInfo | MessagingMessageInfo |
FIRMessagingRemoteMessage | MessagingRemoteMessage |
FIRMessaging | Messaging |
Hằng số | |
FIRMessagingSendSuccess | MessagingSendSuccess |
FIRMessagingSendError | MessagingSendError |
FIRMessagingMessagesDeleted | MessagingMessagesDeleted |
FIRMessagingConnectionStateChanged | MessagingConnectionStateChanged |
FIRMessagingRegistrationTokenRefreshed | MessagingRegistrationTokenRefreshed |
Khai báo kiểu | |
FIRMessagingFCMTokenFetchCompletion | MessagingFCMTokenFetchCompletion |
FIRMessagingDeleteFCMTokenCompletion | MessagingDeleteFCMTokenCompletion |
Enum | |
FIRMessagingError | MessagingError |
FIRMessagingMessageStatus | MessagingMessageStatus |
FIRMessagingAPNSTokenType | MessagingAPNSTokenType |
Giao thức | |
FIRMessagingDelegate | MessagingDelegate |
Cấu hình từ xa
Trước | Mới |
---|---|
Chức năng | |
FIRRemoteConfig | |
setDefaultsFromPlistFileName(_:) | setDefaults(fromPlist:) |
setDefaultsFromPlistFileName(_:namespace) | setDefaults(fromPlist:namespace) |
Các lớp học | |
FIRRemoteConfigValue | RemoteConfigValue |
FIRRemoteConfigSettings | RemoteConfigSettings |
FIRRemoteConfig | RemoteConfig |
Hằng số | |
FIRNamespaceGoogleMobilePlatform | NamespaceGoogleMobilePlatform |
FIRRemoteConfigThrottledEndTimeInSecondsKey | RemoteConfigThrottledEndTimeInSecondsKey |
FIRRemoteConfigErrorDomain | RemoteConfigErrorDomain |
Khai báo kiểu | |
FIRRemoteConfigFetchCompletion | RemoteConfigFetchCompletion |
Enum | |
FIRRemoteConfigFetchStatus | RemoteConfigFetchStatus |
FIRRemoteConfigError | RemoteConfigError |
FIRRemoteConfigSource | RemoteConfigSource |
Kho
Trước | Mới |
---|---|
Chức năng | |
FIRLưu trữTham khảo | |
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:) |
Các lớp học | |
FIRStorage | Storage |
FIRStorageDownloadTask | StorageDownloadTask |
FIRStorageMetadata | StorageMetadata |
FIRStorageObservableTask | StorageObservableTask |
FIRStorageReference | StorageReference |
FIRStorageTask | StorageTask |
FIRStorageTaskSnapshot | StorageTaskSnapshot |
FIRStorageUploadTask | StorageUploadTask |
Hằng số | |
FIRStorageErrorDomain | StorageErrorDomain |
Enum | |
FIRStorageTaskStatus | StorageTaskStatus |
FIRStorageErrorCode | StorageErrorCode |
Giao thức | |
FIRStorageTaskManagement | StorageTaskManagement |
Khai báo kiểu | |
FIRStorageHandle | StorageHandle |
FIRStorageVoidDataError | StorageVoidDataError |
FIRStorageVoidError | StorageVoidError |
FIRStorageVoidMetadata | StorageVoidMetadata |
FIRStorageVoidMetadataError | StorageVoidMetadataError |
FIRStorageVoidSnapshot | StorageVoidSnapshot |
FIRStorageVoidURLError | StorageVoidURLError |