Search code examples
androidiosgenexusgenexus-sd

NotificationsRegistrationHandler is not being called on iOS


I have an app working and published in the Apple's app store. We are developing an update with new features and I noticed that the NotificationsRegistrationHandler is not being called anymore on iOS when the user accepts to receive notification (in Android is working fine). Which means the application is not getting the "DeviceToken", so we are unable to send notification. The proc. is very simple, and doesn't look like the issue because it's working for Android devices:

for each
    where DeviceType = &DeviceType  // enum domain SmartDeviceType
    where DeviceId   = &DeviceId    // Character(128)

    DeviceToken  = &DeviceToken // Character(255)
    DeviceName   = &DeviceName  // Character(128)

when none

    new
        DeviceType  = &DeviceType
        DeviceId    = &DeviceId
        DeviceToken = &DeviceToken
        DeviceName  = &DeviceName      
    endnew

endfor

What I have tried so far:

  1. Generate and install new distribuition certificates and provision profiles.
  2. Rebuild All, Build With This Only, etc.
  3. Tested in "TestFlight" also.
  4. Tested in different devices.

The published app right now is working, however I fear to publish this upgrade and screw up the notification.

I'm using GeneXus Evo 3 U2, .NET generator and Oracle.

Any suggestion how to fix this?

EDIT: Tested with distribuition certificate and sandbox=false, builded for distribuition and sended to testflight, same problem. =/


Solution

  • I fixed, here is what I did:

    Updated from "U2" to "U8". Since "U8" have some OSX and XCode version requirements I updated both to the lastest versions.

    Now "NotificationRegistrationHadler" is being called as normal.