Got this message from the apple review of my OS X desktop app.
Anyone can translate this into what i need to do in regards to the corona setup?
Cheers,
Tommy
2.31
This app uses one or more entitlements which do not have matching functionality within the app. Apps should have only the minimum set of entitlements necessary for the app to function properly. Please remove all entitlements that are not needed by your app and submit an updated binary for review, including the following:
com.apple.security.personal-information.location
See App Sandboxing for links to essential video and documentation to learn how to sandbox your application.
We ask for the “location” entitlement because we can’t know if you’re actually going to use the user’s location but the facility exists in CoronaSDK to do so. I will remove that default and figure out another way to allow people to specify the entitlements they actually need.
Hi Tommy, we got a rejection for exact the same reason today. I expect you also did the sandboxing with the new Corona functionality in the daily builds? I don’t know where these entitlements can be set. Perhaps there is an external list somewhere. Cheers, Tobias
The solution is to give Engineering time to solve the problem. It just got reported early this morning. Corona for OS-X is still a BETA product. The reason it’s in beta is to find problems like this. Hopefully we can find a solution and will get it out in a daily build.
I am not sure if other entitlements need to be listed and what they are or if I should have made the “location” entitlement false. Also when creating the App ID I am not sure what I should include because I am not sure what the Corona SDK supports. I had originally picked “Game Center” and “Push Notifications” so I could use them in the future but I don’t know if that is creating problems or not.
This is what I received from Apple this time but the first one I received only had info about “com.apple.security.personal-information.location”:
2.31 - Apps that are not sandboxed appropriately may be rejected
2.31
This app uses one or more entitlements which do not have matching functionality within the app. Apps should have only the minimum set of entitlements necessary for the app to function properly. Please remove all entitlements that are not needed by your app and submit an updated binary for review, including the following:
See App Sandboxing for links to essential video and documentation to learn how to sandbox your application.
Commonly added entitlements that many apps don’t need include:
“com.apple.security.network.server”
Apps that initiate outgoing connections (for example, to download new content from your server) only need to include “com.apple.security.network.client”. The server entitlement is only necessary for apps that listen for and respond to incoming network connections (such as web or FTP servers).
“com.apple.security.device.usb”
Apps that interact with non-standard USB devices, including HID accessories such as joysticks, may need to include this entitlement. It is not necessary for accessing keyboards, mice, trackpads, printers or external drives such as thumb drives.
Are you using location services in your application? If not, then remove the entitlements section from your build.settings
The recent fix was to stop Corona from always asking for the location entitlement and the change you made to your app just made it do it again.
If you are using location services in your OS X app then you may need to respond to the review explaining to the reviewer how they are used and what steps to perform in the app to make them apparent.
I am not using Location services but I kept it set to “true” because that is what the example code was on the “https://docs.coronalabs.com/daily/guide/distribution/osxBuild/#entitlements” page and I did not understand that it was not enabled on OS-X yet. I would suggest that you put a little blurb by that code that says it is not enabled on OS X yet or set it to “false” in the example code.
What is your reco for what to enable when creating an App ID? Is there any issues if “Game Center” and “Push Notifications” are enabled for when these become available in the future and if these are enabled does that affect entitlements?
What is your reco for what to enable when creating an App ID? Is there any issues if “Game Center” and “Push Notifications” are enabled for when these become available in the future and if these are enabled but not used in the app does that affect entitlements?
I don’t know about push, but I know Game Center is not supported yet. Apple will likely reject your app if you have those on and are not using them. You can always turn them on later.
Are there any entitlements needed for creating and writing files via a OS X app (i.e… a file that gets created and updated for new high score)? Also is it the same code for creating and writing files via a OS X app as for iOS app?
No, so long as you are writing to your app’s “sandbox” using system.DocumentsDirectory or
system.TemporaryDirectory and not trying to write somewhere else (like the user’s home directory, for instance) the “sandbox” entitlement which is applied automatically for App Store builds will suffice. The code would be the same for OS X as it is for iOS.