-
[iOS] Firebase 7.0.0 ์ ๋ฐ์ดํธ ํธ๋ฌ๋ธ ์ํ๐ iOS/๊ฐ๋ฐ 2023. 2. 9. 10:41
ํ๋ก์ ํธ์ ์ ์ฉ๋์ด ์๋ Firebase ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ 6๋ฒ์ ๋์์ 7๋ฒ์ ๋(7.0.0~)๋ก ์ ๋ฐ์ดํธํ๋ฉด์ ๋ฐ์ํ ์ด์๋ค์ ๋ํ ๊ธฐ๋ก์ ๋๋ค.
Error 1
๐ ์๋ฌ ๋ฉ์ธ์ง
Parameter of 'messaging(_:didReceiveRegistrationToken:)' has different optionality than required by protocol 'MessagingDelegate'
๐ ์๋ฌ ์์ธ
FirebaseMessaging 7.0.0์์ ํ ํฐ ์ญ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ต์ ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ญ์ ๋ ํ ํฐ์ ๋ํด ์ด ๋ฉ์๋๋ fcmToken๊ฐ nil๋ก ํธ์ถ๋ฉ๋๋ค.
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
BEFORE
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) { print("Firebase registration token: \(String(describing: fcmToken))") let dataDict:[String: String] = ["token": fcmToken] }
AFTER
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) { print("Firebase registration token: \(String(describing: fcmToken))") let dataDict:[String: String] = ["token": fcmToken ?? ""] }
- fcmToken์ ํ์ ์ String์์ String?์ผ๋ก ์์
- dataDict nil๊ฐ ์ฒ๋ฆฌ (?? "" ์ถ๊ฐ)
Error 2
๐ ์๋ฌ ๋ฉ์ธ์ง
Cannot find type 'MessagingRemoteMessage' in scope
๐ ์๋ฌ ์์ธ
FirebaseMessaging 7.0.0์์ ๋ฉ์๋ ํ์ ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
BEFORE
func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) { print("Received data message: \(remoteMessage.appData)") }
AFTER
func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingDelegate) { print("Received data message: \(remoteMessage.description)") }
- remoteMessage์ ํ์ ์ MessagingRemoteMessage์์ MessagingDelegate๋ก ์์
- appData๋ฅผ description์ผ๋ก ์์
Error 3
๐ ์๋ฌ ๋ฉ์ธ์ง
Framework not found FIRAnalyticsConnector
Framework not found Protobuf
๐ ์๋ฌ ์์ธ
FirebaseAnalytics๊ฐ ์์กด์ฑ์ ๊ฐ๊ณ ์๋ FIRAnalyticsConnector์ FirebaseMessaging์ด ์์กด์ฑ์ ๊ฐ๊ณ ์๋ Protobuf๊ฐ Firebase7.0.0 ์ ๋ฐ์ดํธ์ ํจ๊ป ์์กด์ฑ์ด ์ ๊ฑฐ๋๋ฉด์ ๊ธฐ์กด ํ๋ก์ ํธ์ Linker Flag์์๋ ์ ๊ฑฐ๊ฐ ํ์ํด์ก์ต๋๋ค.
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
Target > Build Settings > FIRAnalyticsConnector / Protobuf ๊ฒ์ > Other Linker Flags์์ ๋ค์ ๋ผ์ธ ์ญ์
-framework "FIRAnalyticsConnector" -framework "Protobuf"
* Other Linker Flag๋?
Xcode ํ๋ก์ ํธ์์ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋, ์ปดํ์ผ ํ์์ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋งํฌํ๊ธฐ ์ํด ์ค์ ํด์ฃผ์ด์ผ ํ๋ ํ๋๊ทธ์ ๋๋ค. ๊ทธ ์ค์์๋ -Objc ํ๋๊ทธ๋ ๋ง์ปค๊ฐ Objective-C ํด๋์ค๋ ์นดํ ๊ณ ๋ฆฌ๋ก ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํ ๊ฐ์ฒด ํ์ผ๋ค์ ๋ชจ๋ ์ ์ฌํ๊ฒ ํด ์ฃผ๋ ํ๋๊ทธ๋ก, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ๋๊ทธ ์ค ํ๋์ ๋๋ค.
'๐ iOS > ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ