I have an app in the App Store with APNS.
Now, my distribution profile is broken and I can't add my device to the distribution profile. It is a generated profile by apple with the prefix XC:.
So one solution is to create a new distribution profile for a new version of my app and submit it to the App Store.
But do I then also need to create a new APNS certificate? Or will this also work with the new distribution profile?
Perhaps my actual question is: is there a relationship between the distribution profile and the APNS certificate? Or is it the app ID that is important to let the APNS work?
As outlined in the push notification guide, the SSL certificate used for push notifications is independent from the distribution provisioning profile used by your app.
However, you need to ensure that your new provisioning profile provides the correct entitlements for using push notifications and their production/development environment, as described here. Good luck.
Related
I've tried to send push notification using "Development SSL Certificate" or the sandbox .p12 cert the iphone is able to receive notification sent from MobileFirst Operations Console.
However, when I replace the sandbox .p12 cert with the production one, I couldn't receive push notification. I even deleted the device app, remove the device from the registered list and re-register the device. But I'm still getting the same result.
Are there any additional settings needed?
MFP server version is "Product version: 8.0.0.00-20170220-1900"
Update:
From this MobileFirst tutorial Link
"The APNS production certificate can only be tested once the application that utilizes it has been successfully submitted to the Apple App Store."
What about in house distribution app/"save for Enterprise Deployment" outside of the app store?
Please make sure the push notification capability is enabled from the capabilities tab of the project target if you are deploying your application from xcode 8.0 or later.
This should be on if you deploy your application from xcode 8 or later.
For push notifications to be sent, the following servers must be accessible from a MobileFirst Server instance:
Sandbox servers:
gateway.sandbox.push.apple.com:2195
feedback.sandbox.push.apple.com:2196
Production servers:
gateway.push.apple.com:2195
Feedback.push.apple.com:2196
1-courier.push.apple.com 5223
During the development phase, use the apns-certificate-sandbox.p12 sandbox certificate file.
During the production phase, use the apns-certificate-production.p12 production certificate file.
Reference : https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/notifications/sending-notifications/#apple-push-notifications-service
I have 3 apps in Appstore with different production certificate, Is there any possibility to have those three apps with single production cerlificatae.
To clarify on the previous answer, you can sign all your app store apps with a single iOS Distribution certificate. You will need to create 3 separate Distribution provisioning profiles, all tied to the same certificate, but each assigned to the Application ID for their specific app. If you have an existing app store distribution certificate, you can simply use it when creating your new provisioning profiles - simply check the box next to your certificate when you create or edit the profile.
So you will have one cert (e.g. App Store Cert), and three profiles like this:
App One:
App One Provisioning Profile (App Store Distribution)
Cert: App Store Cert
App Id: com.example.appOne
App Two:
App Two Provisioning Profile (App Store Distribution)
Cert: App Store Cert
App Id: com.example.appTwo
App Three
App Three Provisioning Profile (App Store Distribution)
Cert: App Store Cert
App Id: com.example.appThree
Unless something has changed, I do not believe Apple will even allow you to have more than 2 active Distribution certificates at any given time. They allow two only so that you can create a second when your current cert is about to expire. This gives you time to ensure all your developer have the new cert prior to the old expiring, but the old will still work in the transition.
You need to have different profiles for each application. Else certificate does not matter in terms of number i.e., you can have same certificate for multiple apps only catch is you need to have different provisioning profiles for each application.
We are using the development APN pem currently.
We are about to submit app to the apple store for review for distribution
Shall we change the APN pem to distribution one now or only after apple's approval?
Currently for beta testing, we are using the build that uses development APN pem
You should not change the Push Notification Cert on your server, instead you should provide one for each environment (development, production). You can create one certificate per environment for your app in the Developer Portal. This approach allows you to test your push notification code and setup from Debug-Builds as well as from AdHoc-, TestFlight- or AppStore-Builds.
I'm building an app that uses Parse to send push notifications. Currently I am in beta and have uploaded both a development and production push certificates. Client side, I add a bool to the Installation object to designate if the client is running a beta version.
When I send a push notification with Cloud Code how do I specify which certificate to use? Is it automatically selected for me? What happens when my app is in production simultaneously with my beta?
I don't use Parse, but I found this in their tutorial :
Note that once you have uploaded a production push certificate to Parse, you will only be able to target devices using a distribution provisioning profile. Devices running an app signed with a development provisioning profile will need to install the newly provisioned build again.
Based on this quote, you can't use Parse simultaneously for both development and production push notifications.
I am using the APNS for my app in development mode. I integrated with the Urban Airship as per the getting started document they provided on their portal:
Created the certificate in Apple provisioning portal. Imported the .p12 file to Urban Airship app(in dev mode with debug enabled)
Now when I open the application, it shows me the alert and asks me for the permission to enable notification. Once that is done and I try to test push a message from the Urban Airship portal to my device using the device token generated, I get the common error:
Apple Push service rejected device token "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
I searched on google and found this to be a very common problem; however with no solution. Most answers mention that the prod and dev environment conflict is the cause, however that is not the case in my case as I did not create the prod app in Urban Airship nor in the APNS dev certificate. The settings in my AirshipConfig.plist are:
APP_STORE_OR_AD_HOC_BUILD : NO
Development_App_Key: XXXXXXXXXXX
Development_App_secret: XXXXXXXXXX
(not master secret, just the dev app secret.)
Nowhere did I find the response from any user who asked the question and later got it resolved. So, I am not sure how people resolved it when they got stuck. All suggests to recheck the environment conflicts, which is not there in my case.
If anyone has any idea, please suggest the possible solutions as this is a blocker for our release. Pls also respond if this is a generic error which almost everyone gets with Urban Airship, and if Free UA account is not a feasible service for testing.
I've been fighting with these issues the last few days. The thing that fixed it for me was creating a non-wildcard identifier that was using a development provisioning profile.
Until I did this I was only able to have APP_STORE_OR_AD_HOC_BUILD : YES
Things worth checking:
Provisioning profile is set to development
Application bundle ID matches the Urban Airship bundle Id.
You can check the Urban Airship bundle Id that is used by going to:
Settings
API Keys
(See the right hand side and there should be a box that contains the iOS Bundle ID.)
Finally make sure your keys in the plist all match.
Also as you probably know, you cannot test push notifications with the simulator. I Hope this helps.