인프런 커뮤니티 질문&답변

Juntae Hwang님의 프로필 이미지
Juntae Hwang

작성한 질문수

배달앱 클론코딩 [with React Native]

No APNS token specified before fetching FCM Token

작성

·

1.8K

0

현재 실제 ios 기기에서 테스트 중입니다.

2일 전에 푸시 알림 기능 구현 후 푸시 알림이 잘 오는 것 까지 모두 확인했습니다.

이후 스플래시 화면 포함한 몇 가지 기능 구현 후 배포 전에 다시 푸시 알림 기능을 다시 테스트해봤는데

No APNS token specified before fetching FCM Token이라는 에러가 뜹니다.

혹시 어디서 잘못됐는지 알 수 있을까요?

IMG_8845.PNG

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

xcode에서 signing&capability에서 push notification 추가하셨나요?

아까 질문에서 토큰 관련해서 수정하신 게 있나요?

Juntae Hwang님의 프로필 이미지
Juntae Hwang
질문자

Push Notification과 Background Modes의 Remote notifications 모두 추가되어있습니다.

Juntae Hwang님의 프로필 이미지
Juntae Hwang
질문자

<key>FirebaseAppDelegateProxyEnabled</key> <true />

이것도 시도해봤었는데 해결이 안 됐습니다.


구글링으로 나오는 웬만한 해결법은 거의 다 시도해봤습니다.

 

이전으로 롤백해서 차근차근 보는 것 외에는 방법이 없을까요..?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아래 있는 것도 해보셨나요? 시뮬레이터에서만 발생하는 문제일수도 있고요.

일단 잘 되던 때로 돌아가는게 제일 좋습니다. 그래서 리액트네이티브를 할 때는 깃 같은거 잘 저장해두는 습관이 중요합니다.

Juntae Hwang님의 프로필 이미지
Juntae Hwang
질문자

현재 시뮬레이터가 아닌 실제 iOS 디바이스에서 테스트 중입니다.


추가로 시뮬레이터에서는 오히려 두 토큰에 대한 콘솔이 잘찍힙니다.

  1. 시뮬레이터 환경

PushNotification.configure({
  onRegister: function (token: any) {
    console.log('TOKEN:', token); // 토큰 잘 찍힘
  },

  // ...
}

const token = await messaging().getToken() // 토큰 잘 찍힘
  1. 실제 iOS 디바이스

     

    PushNotification.configure({
      onRegister: function (token: any) {
        console.log('TOKEN:', token); // 토큰 잘 찍힘
      },
    
      // ...
    }
    
    const token = await messaging().getToken() // getToken함수 내에서 resolve되지 않음.(해당 line 밑으로의 코드들이 실행되지 않음)
제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

getToken 위치가 firebase 연결이 되기도 전에 받아오려고 하시는 것 같은데요. 앱 시작 후에 받아오세요.

Juntae Hwang님의 프로필 이미지
Juntae Hwang
질문자

아 죄송합니다. 실제 코드에서는 useEffect 내에서 실행되고 있어요. 어떤 토큰인지 보여드리고자 psuedo 코드로 작성했습니다ㅜ

Juntae Hwang님의 프로필 이미지
Juntae Hwang

작성한 질문수

질문하기