Reputation: 1693
Hey Apple developers, I'm pulling my hair out trying to figure out how iOS provisioning profiles, certificates and app IDs work with push notifications. I thought I was close to getting this to work, but maybe not.
When I run my app and attempt to register push notifications, I get this error in the console:
2012-06-26 17:52:29.380 Grouped[1732:707] badgeNumber: 0
2012-06-26 17:52:30.089 Grouped[1732:707] [INFO] device is ready
2012-06-26 17:52:32.654 Grouped[1732:707] JSLOG: Registering with APNS via the App Delegate
2012-06-26 17:52:32.655 Grouped[1732:707] Register success callback set
2012-06-26 17:52:32.661 Grouped[1732:707] didFailToRegisterForRemoteNotificationsWithError:Error
Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for
application" UserInfo=0x18a0c0 {NSLocalizedDescription=no valid 'aps-environment'
entitlement string found for application}
I've done several hours of research now and can't figure out what I'm doing wrong. I've created a new provisioning profile that is linked to my app ID. I can see it on my phone.
Any ideas?
Bonus question: Why on earth is it so complicated to properly provision an iOS app for push notifications?
Upvotes: 3
Views: 2621
Reputation: 1713
Be sure to create new adhoc/appstore profiles AFTER you created push certificates for your app. The distribution profiles change after enabling the App for push messages.
Upvotes: 1
Reputation: 1458
"no valid 'aps-environment' entitlement string found for
application"
Your provision profile doesn't have push notifications enabled. Make sure you enabled them in the provisioning portal, generate a new profile, but more importantly make sure you actually installed it in Xcode and are signing your app with that profile. That last part has bitten me a couple times.
Upvotes: 1
Reputation: 57168
A couple things to check:
If you haven't already found it, Apple has a good FAQ about this:
http://developer.apple.com/library/ios/#technotes/tn2265/_index.html
Upvotes: 7