If an application is installed in the Xcode development environment, and development environment messages are pushed through TPNS, the following error messages are reported:
Error message reported when you query the token using the push troubleshooting tool in the TPNS console
Error log recorded when you debug the TPNS SDK in Xcode
Missing Provisioning Profile - iOS Apps must contain a provisioning profile named embedded.mobileprovision.
Error cause: the application package does not contain the
embedded.mobileprovision configuration file, making the token environment unknown.
bundle idconfigured in the Xcode project matches the configured
Provision Profilefile and whether the
Provision Profilefile corresponding to the application has been configured with the message push capability.
aps-environmentfield in the
embedded.mobileprovisionfile is correct.
building for iOS Simulator, but linking in object file built for iOSis reported when the Xcode 12 simulator integrates with the notification extension plugin during the build?
You need to find the extension plugin target, click Build Settings > Excluded Architectures, and add the ARM64 instruction set, as shown in the following figure:
Convert the .p12 file of the push certificate into a .pem file and troubleshoot as follows:
apns-dev-certis the name of the sample push certificate, which should be replaced with the name of your certificate).
content field cannot be empty if the RESTful API is called for push; otherwise, the notification will not pop up on devices on iOS 10 or below.
A .p8 certificate has security risks. Although it is valid longer than a .p12 certificate, it has a wider push permission and scope. If leaked, it may cause more severe consequences. TPNS recommends you use .p12 certificates to manage the push services of your applications separately.
Message push involves various associated modules, and exception in any steps can lead to message delivery failure. If message delivery failures occur, you are recommended to use the Toolbox for troubleshooting. Below are the most common issues:
If the device is not connected to the Internet, it cannot receive the message, even if the client has correctly obtained the token, registered it with the TPNS backend, and the TPNS server has successfully delivered the message. The message might be received if the device reconnects to the Internet within a short time, as APNs will retain the message for some time and deliver it again.
Check the SDK integration. After the SDK is integrated, please make sure that it can get the device token used to receive messages. For more information, please see iOS SDK Integration Guide.
Push certificate troubleshooting
When the TPNS server requests APNs to deliver the message, it needs to use two required parameters: the message push certificate and the device token. When pushing the message, please make sure that the message push certificate is valid. For more information on how to configure the message push certificate, please see Acquisition of Push Certificate.
no valid 'aps-environment' entitlement string found for applicationis reported in terminal?
Check whether the bundle ID configured in the Xcode project matches the configured provisioning profile, and whether the provisioning profile corresponding to the app has been configured with the message push capability.
First, on the device development side, put the audio file in the
soundparameter to the name of the audio file (the full path of the audio file is not required).
No. When the TPNS server sends a message to APNs, if APNs finds that the device is not online, it will retain the message for a while. However, the duration of the retention is not clear.
1 and do not use
DeviceTokenis not returned occasionally for registration or APNs' request for token fails in the development environment of iOS?
This problem is caused by instability of APNs. You can fix it in the following ways:
When creating a push, you can use the API to specify the notification bar message type, leave the title empty, and only set
badge_type. For more information, please see Push API.
Crash: you can't call -sendResponse: twice nor after encoding it?
If your application integrates TPNS SDK for iOS (184.108.40.206–220.127.116.11), uses the Recall feature of TPNS, and implements the following system callback:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Then you may encounter this error. You can use the override feature to process sent messages.
Error Domain=NSCocoaErrorDomain Code=1001. APNs' request for a token failedis reported during Xcode debugging?
The following error is reported during Xcode debugging: "Error Domain=NSCocoaErrorDomain Code=1001. APNs' request for a token failed during Xcode debugging. -> Please resolve the problem as follows: use 4G network and restart the phone. If the problem persists after the phone is restarted for multiple times, you are recommended to use another phone for testing." However, the problem persists after I fixed the problem as instructed.