Oracle Help Center | Oracle Push Cloud Service (Standalone) title

iOS FAQs

General Questions

I received an email about PEM file expiration. What should I do?

Follow the instructions in one of the following topics, depending on the type of PEM file you need to update:

 

Troubleshooting

Enabling Push Notification Capability

Error:[PushIOManager] Push token error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo={NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

Solution: Enable Push Notifications from Capabilities tab.

Adding linker flags

Error: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString isBlank]: unrecognized selector sent to instance 0x10010d780'

Solution: Add other linker flags: -ObjC -all_load (in build settings)

Application Deployment Target Setting

Warning: object file (/../PushIOManager.framework/PushIOManager) was built for newer iOS version (8.0) than being linked (7.0)

Solution: SDK supports only iOS 8.0 onwards. Please update the application deployment target (8.0 minimum) to avoid this warning.

Media Attachment

Error:Undefined symbols for architecture arm64: "OBJC_METACLASS$PIOMediaAttachmentServiceExtension", referenced from: _OBJC_METACLASS$NotificationService in NotificationService.o "_OBJC_CLASS$PIOMediaAttachmentServiceExtension", referenced from: _OBJC_CLASS$_NotificationService in NotificationService.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Solution:Build Error :Select the target from the 'Target Panel'.Select the extension target.Click the general tab. Under linked frameworks and binaries check if the ‘PIOMediaAttachmentExtensionFramework’ is added. If not, drag the framework under the ‘linked frameworks and binaries’ heading.

Media Attachment

Error:Application build is successful but crashes at launch. Debug log shows :

dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications Referenced from: /var/containers/Bundle/Application/.../HelloMediaNotifications.app/HelloMediaNotifications Reason: image not found (lldb)

Solution:This issue is encountered in devices running iOS versions below iOS 10.

Select the application target from the 'Target Panel'.Click the general tab. Remove the ‘PIOMediaAttachmentExtensionFramework’ from the ‘linked frameworks and binaries’ section to resolve the issue.

Media Attachment

Error:/Users/………/Applications/HelloMediaNotifications.app/Frameworks/PIOMediaAttachmentExtension.framework: bundle format unrecognized, invalid, or unsuitable

Solution:This issue is encountered in devices running iOS versions below iOS 10.

Select the application target from the 'Target Panel'. Remove the ‘PIOMediaAttachmentExtensionFramework’ from the ‘embedded binaries’ section to resolve the issue.

Registration Completion Handler

Issue:Completion handler for 'registerForAllRemoteNotificationTypes' is not being called.

Solution:Ensure that PushIOManager Callbacks are implemented as follows in the AppDelegate.m file:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:
    (NSData *)deviceToken
{
[[PushIOManager sharedInstance]  didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
[[PushIOManager sharedInstance]  didFailToRegisterForRemoteNotificationsWithError:error];
}
        
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    PushIOManager.sharedInstance().didRegisterForRemoteNotifications(withDeviceToken: deviceToken)
}
        
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
    PushIOManager.sharedInstance().didFailToRegisterForRemoteNotificationsWithError(error)
}
        

Displaying Alerts While the App Is Running

Issue: When testing the mobile app on iOS, the push notification does not display while the app is running.

Solution: This is the expected default behavior. If you would like push notifications to display while the app is running, modify your mobile app as described in Displaying Alerts While App Is Running.