So I sent the new version of dFenz through. When I created the App ID in the iOS Developer portal I was able to unselect push notification entitlements (Application Services). When I uploaded the binary I immediately got an email warning me that the binary delivery was successful, but I may want to correct the missing entitlement in my next delivery. So they're picking up that push is in one of the libraries used. Probably the agk library.
Here's a copy of the email:
Quote: "Dear developer,
We have discovered one or more issues with your recent delivery for "dFenz AE". Your delivery was successful, but you may wish to correct the following issues in your next delivery:
Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.
If you would like to update your binary for this app, you can reject this binary from the Binary Details page in iTunes Connect. Note that rejecting your binary will remove your app from the review queue and the review process will start over from the beginning when you resubmit your binary.
Regards,
The App Store team"
I looked through the
IDE/platform/apple/lib folder and there is a ReleaseLite folder which contains an AppGameKit library which should have Facebook, Twitter, and Push stripped from it. It's called
libAGKiOS.a just like the other interpreter library. If you want to use the lite interpreter you should make sure that the library linked is indeed this one. If it is the one in the Release folder then it likely contains the API for push. Furthermore, I wonder if it is also necessary to remove
didRegisterForRemoteNotificationsWithDeviceToken and
didFailToRegisterForRemoteNotificationsWithError methods from
Core.m because these 2 methods are what makes calls to agk:: PNToken() to get the actual push token for you. I'm not sure if they need be removed, but it seems like they should be.
@Gekko - I see where you commented out the
didReceiveLocalNotification method, but you still have
didRegisterForRemoteNotificationsWithDeviceToken and
didFailToRegisterForRemoteNotificationsWithError are you including push services in your apps when you make your App ID on the Developer Portals? Because this is the area Braj is having trouble with. If the AppGameKit library still contains push API then they will still complain if you don't have the entitlement/service set up with the App ID. I also see where you commented out the entire method for the accelerometer, but I don't see where you've replaced it with anything from CoreMotion. Also, can you take a look a
this thread and let me know if you can help out? You're the most experienced iOS dev here so maybe you know how to do what I'm looking for.
@Braj - I'd let the submission go through this time, actually. I'm trying it out with dFenz to see what happens, but the next time you should either try making sure the ReleaseLite/libAGKiOS.lib is the one that is truly linked to the project OR simply go in to the Apple Dev Portal and in your App ID section you can add the push entitlement. I'm not sure if they care if you are actually using push when you include the API and the entitlement. They are really just warning you that you have the push API in, but you didn't include the entitlement. They don't say that they will reject you for this, but they do retain that right. And you'll likely continue to get this warning whenever you upload a new binary. With Shape Time I have the entitlement in and the API, but I never make use of it, I'll let you know if they reject because of that.