Am I allowed to use FFMPEG and FFPROBE binaries in Mac App Store?

I have built an app that does audio analysis. I have stripped the GPL files from these binaries regarding license issues. The binnaries are in the root folder of ny build next to the .app file MacOs/

I can not run this in sandbox mode. Everything works except for the audio analysis. Can I still submit this to the AppStore and get accepted? Will users whom download the app be able to run the audio analysis?

I aaked this on Apple support but they gave me a general answer to appstore documentation

Hope someone here has experience with this.

Answered by DTS Engineer in 852340022

There are two parts to questions like this:

  • What’s technically feasible?
  • What’s required by App Review?

I don’t work for App Review, so I can’t offer definitive advice on their policies. I recommend that you review their published guidelines.

I’m happy to wade into technical questions. And on that front, you wrote:

I can not run this in sandbox mode.

Why not?

In general, sandboxed apps are allowed to:

  • Play and record audio
  • Have embedded helper executables
  • Spawn child processes

Given that, I can’t see any fundamental reason why this won’t work. So I recommend that you dig further into the failure, because that’s likely to be a lot more fun than the alternatives.

Note It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits.


you can have your users download the command-line tool and install it on their own.

That’s unlikely to work. There are two potential problems. First, the user would have to place the tool in a directory that’s within your app’s static sandbox, and that’s not the default for tools like Homebrew.

IMPORTANT You can’t use a dynamic sandbox extension, like the one created by the open panel, to run a tool. Such extensions only allow read and write, not execute. I talk about that more in On File System Permissions.

Additionally, when a sandbox app spawns a tool, the tool inherits the app’s sandbox. So if the tool has sandboxing problems, it won’t work no matter how your app starts it.

Which brings me back to my initial advice: Explore why the tool isn’t working when sandboxed.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I kind of remember that I had several applications running an FFMPEG command-line app submitted to Mac App Store some 14 years ago. In the meantime, you are not specific about your development platform, making ambiguous statements like "MacOs" and "AppStore." So which is it? Is it an iOS app or macOS application?

Anyway, if you are not sure if your macOS submission does not abide by Mac App Store review guidelines, you can have your users download the command-line tool and install it on their own. I would search for 'DVD rip' at Mac App Store.

There are two parts to questions like this:

  • What’s technically feasible?
  • What’s required by App Review?

I don’t work for App Review, so I can’t offer definitive advice on their policies. I recommend that you review their published guidelines.

I’m happy to wade into technical questions. And on that front, you wrote:

I can not run this in sandbox mode.

Why not?

In general, sandboxed apps are allowed to:

  • Play and record audio
  • Have embedded helper executables
  • Spawn child processes

Given that, I can’t see any fundamental reason why this won’t work. So I recommend that you dig further into the failure, because that’s likely to be a lot more fun than the alternatives.

Note It’s better to reply as a reply, rather than in the comments; see Quinn’s Top Ten DevForums Tips for this and other titbits.


you can have your users download the command-line tool and install it on their own.

That’s unlikely to work. There are two potential problems. First, the user would have to place the tool in a directory that’s within your app’s static sandbox, and that’s not the default for tools like Homebrew.

IMPORTANT You can’t use a dynamic sandbox extension, like the one created by the open panel, to run a tool. Such extensions only allow read and write, not execute. I talk about that more in On File System Permissions.

Additionally, when a sandbox app spawns a tool, the tool inherits the app’s sandbox. So if the tool has sandboxing problems, it won’t work no matter how your app starts it.

Which brings me back to my initial advice: Explore why the tool isn’t working when sandboxed.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Am I allowed to use FFMPEG and FFPROBE binaries in Mac App Store?
 
 
Q