Xcode 시뮬레이터에서 원격 푸시 시험하기

2022년 11월 7일 수정

Xcode 시뮬레이터로 원격 푸시 알림(Remote Push Notification)을 시험해 볼 수 있다. 터미널에서 커맨드를 이용할 수도 있고 특정 payload 파일을 끌어다 놓는 방식도 있다.

셸 커맨드로 시뮬레이터에 푸시 보내기

우선은 payload 내용을 별도의 파일로 작성해두자. 아래는 간단한 payload 예제다.

{
  "aps": {
    "alert": {
      "title": "제목",
      "body": "내용"
    },
    "badge": 2
  },
}

위 내용을 별도의 파일로 저장한 후 아래의 명령으로 푸시를 보낼 수 있다.

xcrun simctl push booted APP_BUNDLE_ID PAYLOAD_FILE

APP_BUNDLE_ID 는 말 그대로 앱의 번들 Identifier다. 그리고 PAYLOAD_FILE 은 payload를 기록한 파일의 경로나 이름이다.

만약 시뮬레이터를 여러 대 띄운 상태라면 booted 대신 해당 시뮬레이터의 고유 코드를 입력해야 한다. 이 코드는 list 명령으로 구할 수 있다.

xcrun simctl list

고유 코드는 GUID 형식으로 굉장히 길기 때문에 쉽게 이해할 수 있을 것이다.

끌어다 놓기로 시뮬레이터에 푸시 보내기

끌어다 놓기(Drag and Drop)으로 푸시를 보내기 위해서는 payload에 어떤 앱에 보낼 것인지에 대한 내용(Simulator Target BUndle)이 하나 더 추가되어야 한다.

{
  "aps": {
    "alert": {
      "title": "제목",
      "body": "내용"
    },
    "badge": 2
  },
  // 끌어다 놓기를 위한 정보
  "Simulator Target Bundle": "foo.bar.app"
}

위 내용을 저장해놓고 필요할 때마다 해당 파일을 시뮬레이터에 끌어다 놓으면 푸시가 동작한다.