Search Issue Tracker
Fixed in 5.4.2
Votes
1
Found in
5.4.0f3
Issue ID
830528
Regression
Yes
[iOS] NotificationServices.RegisterForNotifications does not return the device token from Apple Push Service
When using NotificationServices.RegisterForNotifications to receive the device token from Apple Push Service, the value returned by NotificationServices.deviceToken is always 'null'. This happens because UNITY_USES_REMOTE_NOTIFICATIONS is not set to 1 in Preprocessor.h in Xcode project.
Steps to reproduce:
1) Open the attached project (NotificationToken.zip).
2) Build the 'Test' scene for iOS.
3) Run on a device via Xcode.
4) When prompted to allow push notifications, press 'OK'.
When the app launches, messages are logged in the Xcode console, saying that the device token was not received; the value of NotificationServices.deviceToken is 'null'. With Unity 5.3 and older, the device token is returned and printed in the console.
Workaround - declare an instance of RemoteNotification class before registering for remote notifications:
var unused = typeof(UnityEngine.iOS.RemoteNotification);
OR
Set UNITY_USES_REMOTE_NOTIFICATIONS to 1 in Preprocessor.h script in Xcode project.
Reproduced on:
5.5.0b4, 5.4.1p1
Did not reproduce:
5.3.6p5, 5.3.6p3, 5.2.4f1
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Shader warning after building a project with URP Sample
- MissingReferenceException after clicking "Fix now" on NormalMap settings
- The "UniversalRenderPipelineGlobalSettings.asset" is creating noise in the git diff when building a Player
- Scene is marked as dirty when opening the project with Vertical Layout Group added as a Component
- Crash on UnityEngine::Animation::SetGenericFloatPropertyValues when keyframing the RigBuilder component to Enabled and Disabled
ratmat2002
Jan 06, 2017 00:40
I'm still seeing this same problem of deviceToken being null on Unity 5.5.0p3. I have tried everything.
UNITY_USES_REMOTE_NOTIFICATIONS is set to 1 in Preprocessor.h but it still doesn't work.
Has anyone gotten this to work on Unity 5.5?
DukeZagarth
Oct 12, 2016 22:07
Currently the last release of Unity is 5.4.1 and I can reproduce this bug in Unity 5.4.1f1 and 5.4.1p3, how can I get a Unity version that fix this issue?