1

I have just attempted to convert an OSX app to a sandboxed app. The app supports 10.5 onwards and has manual memory management. After converting, I have tested it by running it in Xcode 4.3.

The console shows no violations now. Is it sufficient to conclude that app has no sandbox violations, or is there any other process to find out sandbox violations before submitting the app to the Mac App Store? Also, is it OK to leave manual memory management as it is, or should ARC must be enabled?

Thank you.

mklement0
  • 382,024
  • 64
  • 607
  • 775
Ahmed
  • 14,503
  • 22
  • 92
  • 150

1 Answers1

0

To check that the app binary is sandboxed:

codesign -dvvv --entitlements :- executable_path

To observe sandbox violations during testing:

  1. Open the Console application (available in /Applications/Utilities/) and ensure that All Messages is selected in the sidebar.

  2. In the filter field of the Console window, enter sandboxd to display only App Sandbox violations.

  3. sandboxd is the name of the App Sandbox daemon that reports on sandbox violations. The relevant messages, as displayed in Console, look similar to the following:

sandboxd console logs

You can also use the Xcode Organizer's validation wizard to perform App Store validation checks without submitting the app to the Mac App Store. This may perform some sandbox checks.

Product > Archive > Organizer > "Validate..."

Also, is it OK to leave manual memory management as it is, or should ARC must be enabled?

Yes, it's fine to release a new app using "manual retain-release" (MRR) rather than automatic reference counting (ARC).

pkamb
  • 33,281
  • 23
  • 160
  • 191