entitlement woe!
Posted: Tue Sep 04, 2012 7:51 pm
Ok, so I updated Sprite Monkey and sent it to iTunes Connect for approval. I was surprised today to see in my email that it was rejected. I logged in to iTunes to find out why. It appears that even if you follow Apple's sandboxing, you may still get rejected.
My app uses the following entitlement in order to write the coordinates files, com.apple.security.temporary-exception.files.home-relative-path.read-write /. It was noted that this entitlement was not appropriate for my app. But of course, I've done testing with sandboxing with my app and will not work without it.
Here's an example why. When your app writes files to a users Mac, you have to create an entitlement for the SaveFileRequester(). Well, this only lets you export a single file. But my app also creates coordinates files, if the user chooses to. He or she selects one of the OptionGadget's for this but if your app is sandboxed, it will not export since it wasn't listed in the SaveFileRequester() and needs the temporary entitlement.
So it appears that Apple isn't letting anyone just use this temporary entitlement even though I followed their rules on this whole sandboxing method. I'm now left with two apps that I can no longer update on the Mac App Store. The other is because sandboxing doesn't allow keyboard emulation for my other app.
So what should I do? I don't like the thought of not selling my apps on their store as it's good advertisement. And even if I do sell my apps else where, the people who previously purchased them don't get free updates as I have no idea who they are, since Apple controlled this through their store. I may end up with angry customers because they would then have to repurchase the update.
My app uses the following entitlement in order to write the coordinates files, com.apple.security.temporary-exception.files.home-relative-path.read-write /. It was noted that this entitlement was not appropriate for my app. But of course, I've done testing with sandboxing with my app and will not work without it.
Here's an example why. When your app writes files to a users Mac, you have to create an entitlement for the SaveFileRequester(). Well, this only lets you export a single file. But my app also creates coordinates files, if the user chooses to. He or she selects one of the OptionGadget's for this but if your app is sandboxed, it will not export since it wasn't listed in the SaveFileRequester() and needs the temporary entitlement.
So it appears that Apple isn't letting anyone just use this temporary entitlement even though I followed their rules on this whole sandboxing method. I'm now left with two apps that I can no longer update on the Mac App Store. The other is because sandboxing doesn't allow keyboard emulation for my other app.
So what should I do? I don't like the thought of not selling my apps on their store as it's good advertisement. And even if I do sell my apps else where, the people who previously purchased them don't get free updates as I have no idea who they are, since Apple controlled this through their store. I may end up with angry customers because they would then have to repurchase the update.