Question: How to change default text when changing multiple PKPASS fields

Good day) Colleagues, please tell me how can I change the notification on the locked screen "pass changed" in PKPASS when changing several fields? Thank you very much for your answer

Answered by DTS Engineer in 893487022

Hi @IlyaSlesarenokS,

You wrote:

Colleagues, please tell me how can I change the notification on the locked screen "pass changed" in PKPASS when changing several fields?

@FIFTY2 is correct. When a pass is updated, the lock screen notification is controlled by the changeMessage key in each filed of your pass.json.

  1. Add a changeMessage key to each field you want to customize. Use %@ as the placeholder for the new value.
{
  "primaryFields": [
    {
      "key": "status",
      "label": "Status",
      "value": "Active",
      "changeMessage": "Status updated to %@"
    }
  ],
  "secondaryFields": [
    {
      "key": "gate",
      "label": "Gate",
      "value": "B12",
      "changeMessage": "Gate changed to %@"
    },
    {
      "key": "seat",
      "label": "Seat",
      "value": "14A",
      "changeMessage": "Seat changed to %@"
    }
  ]
}
  1. Understand the behavior when multiple field change at once. When only one field changes, the lock screen shows that field's changeMessage. However, when multiple fields change, iOS shows the first change field's changeMessage (by field order in the JSON). Lastly, when no changeMessage is defined, the lock screen shows a generic "Pass changed" message.
  2. Adopt a unified message strategy for multi-field updates. If you want a single, unified message when multiple fields change simultaneously, the best approach is to use a dedicated summary field (e.g., in auxiliaryFields or backFields) that summarizes all changes, and put your custom changeMessage on that field while leaving others without one.
{
  "auxiliaryFields": [
    {
      "key": "updateSummary",
      "label": "Last Update",
      "value": "Gate B12, Seat 14A, Status Active",
      "changeMessage": "Your pass has been updated: %@"
    }
  ]
}

This way, you control exactly what message appears on the lock screen regardless of how many fields change.

Key Considerations:

  • %@ is required in the string—omitting it will cause the placeholder to be empty.
  • The changeMessage string should be localized if your pass supports multiple languages (via the .lproj folders in your .pkpass bundle).
  • The notification is only shown if the pass date is delivered via APNs push notification (using your push token from PushToken in the registration endpoint).

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

You should configure the "changeMessage" for each of the fields you are changing

Hi @IlyaSlesarenokS,

You wrote:

Colleagues, please tell me how can I change the notification on the locked screen "pass changed" in PKPASS when changing several fields?

@FIFTY2 is correct. When a pass is updated, the lock screen notification is controlled by the changeMessage key in each filed of your pass.json.

  1. Add a changeMessage key to each field you want to customize. Use %@ as the placeholder for the new value.
{
  "primaryFields": [
    {
      "key": "status",
      "label": "Status",
      "value": "Active",
      "changeMessage": "Status updated to %@"
    }
  ],
  "secondaryFields": [
    {
      "key": "gate",
      "label": "Gate",
      "value": "B12",
      "changeMessage": "Gate changed to %@"
    },
    {
      "key": "seat",
      "label": "Seat",
      "value": "14A",
      "changeMessage": "Seat changed to %@"
    }
  ]
}
  1. Understand the behavior when multiple field change at once. When only one field changes, the lock screen shows that field's changeMessage. However, when multiple fields change, iOS shows the first change field's changeMessage (by field order in the JSON). Lastly, when no changeMessage is defined, the lock screen shows a generic "Pass changed" message.
  2. Adopt a unified message strategy for multi-field updates. If you want a single, unified message when multiple fields change simultaneously, the best approach is to use a dedicated summary field (e.g., in auxiliaryFields or backFields) that summarizes all changes, and put your custom changeMessage on that field while leaving others without one.
{
  "auxiliaryFields": [
    {
      "key": "updateSummary",
      "label": "Last Update",
      "value": "Gate B12, Seat 14A, Status Active",
      "changeMessage": "Your pass has been updated: %@"
    }
  ]
}

This way, you control exactly what message appears on the lock screen regardless of how many fields change.

Key Considerations:

  • %@ is required in the string—omitting it will cause the placeholder to be empty.
  • The changeMessage string should be localized if your pass supports multiple languages (via the .lproj folders in your .pkpass bundle).
  • The notification is only shown if the pass date is delivered via APNs push notification (using your push token from PushToken in the registration endpoint).

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

Question: How to change default text when changing multiple PKPASS fields
 
 
Q