개발 환경
---------------------------------
OS : Mac
개발 툴 : android studio
개발 언어 : dart
개발 프레임워크 : flutter
---------------------------------
---------------------------------
OS : Mac
개발 툴 : xcode
개발 언어 : Swift
xcode version : 14.2
min iOS version : 13.0
---------------------------------
이 글은 xcode 프로젝트에서 fcm 관련 셋팅을 다 해두었다는 전제하에 작성한다.
fcm 토큰 발급은 아래 코드로 발급되어진다.
var fcmToken = await FirebaseMessaging.instance.getToken();
Flutter에서 Fcm을 셋팅하고 IOS 기기에서 실행하는데 Fcm Token을 발급하는 코드에서 에러가 난다.
[에러]
FLTFirebaseMessaging: An error occurred while calling method Messaging#getToken, errorOrNil => {
NSLocalizedFailureReason = "No APNS token specified before fetching FCM Token";
}
[해결방법]
위 오류 메세지는 FCM(Firebase Cloud Messaging) 토큰을 가져오기 전에 APNS(Apple Push Notification Service) 토큰이 지정되지 않았다는 에러다.
APNS는 iOS 및 macOS 기기에 푸시 알림을 보내는데 사용되고, FCMdms Android, iOS 및 웹 기기에 푸시 알림을 보내는데 사용된다.
iOS 기기에서 FCM을 사용하려면 먼저 APNS 통해 원격 알림을 등록하고 APNS 토큰을 받아야한다.
final String? apnsToken = await FirebaseMessaging.instance.getAPNSToken();
var fcmToken = await FirebaseMessaging.instance.getToken();
print(fcmToken);
>>> 추가로 iOS 기기에서 push 알림을 수신하기 위한 셋팅도 하겠다.
1. Xocde에서 [TARGET] -> [Singing & Capabilieties] -> Background Modes
- 아래 화면서처럼 Background Modes가 없을 때는 좌측 상단에 Capability를 클릭하여 Background Modes 추가
2. Remote notifications, Background processing 체크.
3. Push Notifications도 추가해주자.
여기까지 하면 이렇게 Runner.entitlements 라는 파일이 생긴다.
만약 이게 안생기고 같은 오류만 뱉는다면 앱을 삭제하고 다시 시도해보면 정상 동작 될거다.
저 파일이 생성되면서 여기저기 셋팅을 해서 저 파일 삭제하면 동작 안된다.
'개발노트 > Flutter' 카테고리의 다른 글
[Flutter] koltin gradle plugin version 오류 해결하기 (0) | 2023.07.26 |
---|---|
[Flutter] Download Dart SDK 해결기 (0) | 2023.07.25 |
[Flutter] FIRMessaging Remote Notifications proxy enabled (0) | 2023.06.13 |
[Android] 루팅 앱 탐지하기 (0) | 2023.06.12 |
[Android] INSTALL_PARSE_FAILED_MANIFEST_MALFORMED (0) | 2023.06.11 |
댓글