24
edits
(Add pointers to apps using com.apple.developer.usernotifications.filtering entitlement) |
|||
Line 6: | Line 6: | ||
* VoIP pushes: MUST always make the device ring via CallKit | * VoIP pushes: MUST always make the device ring via CallKit | ||
* Low priority pushes: can prevent display, but Apple may drop or arbitrarily delay them | * Low priority pushes: can prevent display, but Apple may drop or arbitrarily delay them | ||
* High priority pushes: MUST show a notification unless being a chat app. Chat apps are granted an extra entitlement by Apple to suppress the notification. | * High priority pushes: MUST show a notification unless being a chat app. Chat apps are granted an extra entitlement by Apple to suppress the notification (this entitlement is available since iOS 13.3 released on December 10, 2019). | ||
** citing the apple introduction on the "com.apple.developer.usernotifications.filtering" entitlement application page: | ** citing the apple introduction on the "com.apple.developer.usernotifications.filtering" entitlement application page: | ||
**: <blockquote>This entitlement is intended for certain types of apps — such as messaging apps or location sharing apps — that use notification service extensions to receive push notifications without delivering notifications to the user.</blockquote> | **: <blockquote>This entitlement is intended for certain types of apps — such as messaging apps or location sharing apps — that use notification service extensions to receive push notifications without delivering notifications to the user.</blockquote> | ||
** https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_usernotifications_filtering?language=objc | ** https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_usernotifications_filtering?language=objc | ||
** Other popular messenger apps use this entitlement, too | ** Other popular messenger apps use this entitlement, too | ||
*** WhatsApp: https://www.reddit.com/r/TweakBounty/comments/z9oyf7/comment/iyirqor/?utm_source=reddit&utm_medium=web2x&context=3 | |||
*** Signal: https://github.com/signalapp/Signal-iOS/blob/main/SignalNSE/SignalNSE-AppStore.entitlements#L7 | |||
*** Threema: https://github.com/threema-ch/threema-ios/blob/main/ThreemaNotificationExtension/SupportingFiles/ThreemaForWorkRedNotificationExtension.entitlements#L7 | |||
*** Telegram: https://github.com/TelegramMessenger/Telegram-iOS/blob/master/build-system/fake-codesigning/profiles/NotificationService.mobileprovision (binary) | |||
** Using this entitlement apps can even fetch/decrypt incoming call information and trigger a local "voip push" | ** Using this entitlement apps can even fetch/decrypt incoming call information and trigger a local "voip push" | ||
*** Apple documentation: https://developer.apple.com/documentation/callkit/cxprovider/3727263-reportnewincomingvoippushpayload?language=objc | *** Apple documentation: https://developer.apple.com/documentation/callkit/cxprovider/3727263-reportnewincomingvoippushpayload?language=objc |
edits