Hello,
we have a problem with fake call on iPhone device for incoming calls.
When I leave the iPhone in idle state for 30, 40 seconds and dialed voip app number the iPhone rings and there is no problem.
When I leave it in idle for longer time one minute or two minutes I get "Call Failed to Connect" on iPhone's display and after this fake call I get second call with real calling number displays on iPhone.
This first fake call is triggered by wake up push notification type 'voip'.
If I switched off this wake up push notification type 'voip' and device's token has not expired yet I don't get fake call and iPhone's directly displays calling number.
But in this situation we need to use wake up push notification type 'voip' on during a certain time to keep the device's token in our database and continuing to receive calling number without fake call.
If we switched off the wake up push notification type 'voip' on certain time we need to activate again wake up push notification type 'voip' for incoming calls to wake up the iPhone.
And in this way every time on every incoming call the iPhone's will display first fake call "Call Failed to connect" and after that the call with Calling number.
How we can eliminate this fake call and use only one wake up push notification only for incoming calls not use second type wake up push on certain time?
Thank you,
I paste here our code for this:
public ApnClient(IOptions settings)
{
var httpHandler = new HttpClientHandler()
{
ClientCertificates = { new X509Certificate2(certificate.Export(X509ContentType.Pfx)) },
};
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13;
this.httpClient = new HttpClient(httpHandler)
{
DefaultRequestVersion = HttpVersion.Version20,
DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher,
BaseAddress = new Uri(settings.Value.ApnProdBaseUri),
DefaultRequestHeaders =
{
{
"apns-topic", ApnsTopic
},
},
};
}
public async Task<bool> WakeUpDevice(string deviceToken, string callId)
{
this.requestContent = new StringContent(
$"{{\"aps\":{{\"content-available\":\"1\"}}}}",
System.Text.Encoding.UTF8,
"application/json");
var res = await this.httpClient.PostAsync($"/3/device/{deviceToken}", this.requestContent);
return res.IsSuccessStatusCode;
}
Notifications
RSS for tagLearn about the technical aspects of notification delivery on device, including notification types, priorities, and notification center management.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
The app will be wake up from killed status by silent notification or not?
This is a question for years, from my test. It will wake up.
Here the wake up means it will call the "didFinishLaunchingWithOptions" method. But we can not see the app in the "recent apps" list after switching home-screen up.
So any Apple dev can give me a detailed explain for this?
Hello Everyone,
We have some doubts regarding the apple notification alert update received in Oct 2024 for APNS server certificate update.
Does this change is already live for sandbox environment?
As we have checked on sandbox environment without changing any certificate its working and we are able to get push notification.
Does that means our system does not need any change for production as well?
If required where we should add https://www.sectigo.com/knowledge-base/detail/Sectigo-Intermediate-Certificates/kA01N000000rfBO. This certificate.
For FYI we are using python library called django-push-notifications which internally call to the APNS server for push notifications.
Hello Team,
We are working on a requirement where the business wants to track the delivery of push notifications on iOS devices. Specifically, they want to capture the moment when the device receives the notification and it appears as a badge in the Notification Center—regardless of whether the app is in the background or not—and then send that delivery status back to APNs.
We have explored multiple approaches, but so far, we are only able to capture events when the user interacts with the notification banner.
We would like to understand:
Is it technically possible to send an event to APNs or another service upon receipt of the notification on the device without requiring user interaction?
Any guidance or recommendations would be greatly appreciated.
I received the email from Apple: “Action Required: Apple Push Notification Service Server Certificate Update”.
I'm not quite clear on what exactly I need to do.
In my case, I have my own APN service on a DigitalOcean server and I have both .pem and .p12 certificate there.
Can anyone help me?
Dear Apple Team,
I hope this message finds you well. I wanted to share a playful and innovative idea that could enhance the iPhone experience—particularly when viewing content in full-screen mode through apps like Apple TV or YouTube.
Feature Concept: Hands-Free Dismissal of Notifications
When the iPhone is in landscape mode, incoming notifications can interrupt the viewing experience. While Focus Mode and swipe gestures help, I thought of a more intuitive and hands-free interaction: using a light puff of air directed toward the screen to dismiss a notification.
This interaction could use the microphone or other onboard sensors to detect a brief burst of air, providing a fun and natural way to maintain immersion without touching the device.
If this isn’t feasible with current hardware, here are a few alternative concepts that align with the same goal:
Blink to Dismiss: Using Face ID sensors to detect a quick blink as a hands-free gesture.
Shake to Dismiss: A gentle shake gesture when holding the iPhone in one hand.
Gaze-Based Dismissal: Notifications automatically disappear after a brief moment of eye contact.
These ideas could offer both accessibility benefits and a touch of delight—making the iPhone feel even more magical and responsive.
Thank you for your time and for considering this suggestion!
Warm regards,
Badhan Baidya
Hi,
Regarding the announcement about the Apple Push Notification Service (APNs) Server Certificate Update, I wanted to clarify whether it will impact my app’s push notification setup.
I use Firebase Cloud Messaging (FCM) to send push notifications to iOS devices, and in my Firebase project settings, I have configured an APNs Authentication Key under the Apple app configuration tab (Firebase Console > Project Settings > Cloud Messaging > iOS app configuration).
The authentication key I am using was generated from Apple Developer > Certificates, Identifiers & Profiles > Keys.
Since I am using this authentication method instead of APNs certificates, are there any changes I need to be aware of due to the APNs server certificate update, and do I need to update anything in my current configuration to ensure push notifications continue to work?
Thanks in advance!
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
App Store Server Notifications
Notification Center
User Notifications
Hello,
I am working on a project that involves using external device to connect over BLE with users iPhone. I would like to be able to notify users on our device about eg. incoming calls, messages etc. I have been succesfull in using ANCS to achieve that but I am a little worried around consistency of this solution, especially taking into account following line from documentation:
Due to the nature of iOS, the ANCS is not guaranteed to always be present. As a result, the NC should look for and subscribe to the Service Changed characteristic of the GATT service in order to monitor for the potential publishing and unpublishing of the ANCS at any time.
I have not been able (yet?) to find or identify circumstances when ANCS would not be avilable or would be "removed in runtime", hence would it be possible to request some guidance and clarification on the conditions when ANCS can be unavailable or removed?
Thank you!
We would like to better understand the discrepancy between a Push To Start and the subsequent Updates where I see a number of recipients drop greatly.
Our assumption is that this is a result of the end user not clicking the "Allow" prompt when a push to start widget is shown on the screen for the first time, but we currently do not have a way to listen to the user's choice when prompted.
Is there any way of tapping into this, to determine if this is in fact where the variance is coming from, or if there is actually just a problem with the request to retrieve the update token from our end?
It seems our company server is sending to Apple push service the push notifications that are supposed to be transferred to devices our app is installed on – but you it seems you are blocking the request
We can see traffic going out from our server side towards the apple gateway notification server using port 2195 and we can see that the traffic gets "server-rst" meaning that the apple gateway server kills the connection
You might need to whitelist our external IP's
iOS push notification is not working for in App since 03-Apr-2025. We are pushing the message to APNS from our application, but message is not delivered to iOS device.
We have performed tests on both PROD and QA environment and following are the observations:
PROD
successfully pushing the notification to APNS but not receiving the notification on iOS device (100% failure).
QA
received notification on iOS device always (100% success).
Analyzed PROD notification server log at our end and we do not observe any error and it is showing successful also when message is pushed to APNS all the time. Need to check from APNS why push messages are not delivered to iOS devices.
Validated the PROD APNS certificate at our end which we are using during call to APNS - it is valid till Oct 2025.
Please suggest me any possible solution because I don't have any clue where it is failing and what to do
Topic:
App & System Services
SubTopic:
Notifications
Hi Apple engineering team,
I contacted Developer Support regarding the status of our entitlements request, and they recommended that I post here for visibility.
It’s been just over two weeks since we submitted the request, and we haven’t received any updates yet. We understand these requests can take time, but it’s unclear what the typical timeline looks like or if there’s any way to check on the progress.
Is there a way to get an update or better understand where we are in the process? We’re trying to plan our release and would really appreciate any guidance on what to expect.
Thanks in advance for your help.
Can I using AudioServicesPlaySystemSound for play sound os system on NotificationService?
Hi,
I'm working on an IOS app using capacitor. I'm trying to receive push notifications on my downloaded app from testflight. I tried with FCM and it's working on my android app but not on ios and the logs show no error.
This is how I retreive the FCM token:
const fcmToken = await FCM.getToken()
sendSubscriptionToBackEnd({
fcm_token: fcmToken.token,
device: platform
})
Then I have a job on my backend to send the push notifications:
def perform
fcm = FCM.new(
StringIO.new(Rails.application.credentials.google_application_credentials),
Rails.application.credentials.firebase_project_id
)
NotificationSubscription.find_each(batch_size: 100) do |subscription|
begin
response = fcm.send_v1({
token: subscription.fcm_token,
notification: {
title: 'Un nouveau signal a été publié',
body: 'Un nouveau signal a été publié, cliquez ici pour le voir'
},
android: {
priority: 'high'
},
apns: {
payload: {
aps: {
# alert: {
# title: 'Un nouveau signal a été publié',
# body: 'Un nouveau signal a été publié, cliquez ici pour le voir'
# },
sound: 'default'
}
},
headers: {
"apns-priority": "10",
"apns-push-type": "alert"
}
}
})
if response[:status_code] == 200
Rails.logger.info "Notification sent successfully to #{subscription.id} on device #{subscription.device}"
else
Rails.logger.error "Failed to send notification to #{subscription.id} body: #{response[:body]}"
# subscription.destroy
end
rescue StandardError => e
Rails.logger.error "Error while sending notification to #{subscription.device}: #{e.message}"
subscription.destroy
end
end
end
and the logs show that it's successful but i dont receive the notification. When I test from firebase console I receive the push notification on both ios and android capacitor apps. I also added this in the apple delegate:
Messaging.messaging().apnsToken = deviceToken
Messaging.messaging().token(completion: { (token, error) in
if let error = error {
NotificationCenter.default.post(name: .capacitorDidFailToRegisterForRemoteNotifications, object: error)
} else if let token = token {
NotificationCenter.default.post(name: .capacitorDidRegisterForRemoteNotifications, object: token)
}
})
}
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
NotificationCenter.default.post(name: .capacitorDidFailToRegisterForRemoteNotifications, object: error)
}
I also tried using apns tokens and ther apnotic gem:
console.log('APNs Token:', token.value)
if (platform === 'ios') {
sendSubscriptionToBackEnd({
apns_token: token.value,
device: platform
}).then(() => {
displaySnackbar(`APNs token: ${token.value}`, 'success')
})
}
})
# Create the APNs connection outside the loop
connection = Apnotic::Connection.new(
auth_method: :token,
cert_path: StringIO.new(Rails.application.credentials.apns_key_path),
key_id: Rails.application.credentials.apn_key_id,
team_id: Rails.application.credentials.apple_team_id
)
NotificationSubscription.find_each(batch_size: 100) do |subscription|
if subscription.device == 'ios'
begin
# Create the notification for the current device token
notification = Apnotic::Notification.new(subscription.apns_token)
notification.alert = "Un nouveau signal a été publié"
notification.topic = Rails.application.credentials.apple_bundle_id
# Prepare and send the push
push = connection.prepare_push(notification)
push.on(:response) do |response|
if response.ok?
Rails.logger.info "Notification sent successfully to #{subscription.id} on device #{subscription.device}"
else
Rails.logger.error "Failed to send notification to #{subscription.id} body: #{response.status} - #{response.body}"
end
end
connection.push_async(push)
rescue StandardError => e
Rails.logger.error "Error while sending notification to #{subscription.device}: #{e.message}"
subscription.destroy
end
end
end
connection.join(timeout: 5)
connection.close
end
but i have a bad token error:
Failed to send notification to 223 body: 400 - {"reason"=>"BadDeviceToken"}
I, [2025-01-23T02:23:59.013407 #104] INFO -- : [ActiveJob] [ApnsNotificationJob]
I checked my aps entitlement env and its production, have all the certificates, keys.. so I dont understand why i can receive push notifications from firebase console but not from my app
How to create a Notifications Settings button in the Notification Settings similar to Facebook Notification Settings that will lead users to the app's internal settings page?
Topic:
App & System Services
SubTopic:
Notifications
Hello,
I have a couple of questions regarding the change of the Certification Authority (CA) for Apple Push Notification service (APNs) and I will be grateful for any answers.
Does it require only making sure the server machine has the SHA-2 Root: USERTrust RSA Certification Authority certificate included in Trust Store (/etc/ssl/certs/USERTrust_RSA_Certification_Authority.pem with SHA256: 8a3dbcb92ab1c6277647fe2ab8536b5c982abbfdb1f1df5728e01b906aba953a) ?
Should the Certificate Signing Request be updated (that one that is uploaded to https://identity.apple.com/pushcert/) ?
Does it have any connection with the certificates that are created on https://identity.apple.com/pushcert/ ?
Is the push type "mdm" affected too?
Which certificate should be added and where specifically? Is it for Certificate Signing Request to https://identity.apple.com/pushcert/ or the certificate that is generated on https://developer.apple.com/account/resources/certificates/list or like mentioned in the first question?
Can a certificate for sandbox environment be created on https://identity.apple.com/pushcert/ ?
Thank you for any help.
Our team also received this email regarding the APNS. I don't know if I need to do something or not, since I haven't found any information in SAP Forums either.
Our app uses the SAP Mobile Services push notifications.
If any of you know any information about this, please let me know.
I have been working on adding a badge number count to my app, but have run into a really weird edge case. If I have a badge number on my app, delete the application and then re-install it, the badge number still persists on the app icon until I first open the app. I tried looking to see if there is a lifecycle method that is triggered upon uninstalling an app as well as if there is a specific userDefaults attribute to check in order to clear the badge, but I can't find any clear solutions. Does anyone know of a fix to this issue?
Currently, our provider server uses token-based authentication with APNs.
In addition, to establish a connection with APNs, we have installed the "AAACertificateServices 5/12/2020" certificate from the "Sectigo KnowledgeBase website" on the provider server.
Question 1
Do I need to update the server certificate of the Apple Push Notification Service at the following URL for the above provider server?
URL
https://developer.apple.com/jp/news/?id=09za8wzy
Question 2
If registration is required, how long will it be valid for?
Root certificate
https://developer.apple.com/documentation/usernotifications/setting-up-a-remote-notification-server
Token-based authentication
https://developer.apple.com/documentation/usernotifications/establishing-a-token-based-connection-to-apns
Hi Apple Team,
we reiceved the following message.
Hello, We’re reaching out with a final reminder that the Certification Authority (CA) for Apple Push Notification service (APNs) is changing. APNs updated the server certificates in sandbox on January 21, 2025. APNs production server certificates will be updated on February 24, 2025. To continue using APNs without interruption, you’ll need to update your application’s Trust Store to include the new server certificate: SHA-2 Root: USERTrust RSA Certification Authority certificate.
Our web service sends token-based push notifications directly to the Apple Push server.
For testing: https://api.development.push.apple.com:443
In production: https://api.push.apple.com:443
We have never installed any certificates for using APNs.
Do we need to take any action regarding this message, or can we ignore it?