0

MP3 encoding is burdened by patents and requires licensing. Actually, it is disputed if a license is required. However, if you do not license your MP3 encoding software, you risk a lawsuit which can be costly, even if you win it.

Many desktop applications get around this with a technical solution rather than a legal one. They achieve this by not bundling the MP3 encoder library (usually LAME) with their software, but instead allowing the user to download the encoder after installation. This does not only get around the MP3 licensing, but also makes it easy to comply with the LGPL under which the LAME encoder is licensed.

I would like to use the same concept of this technical solution in iOS.

Is there a similar concept for iOS? Specifically, is there a way to download something like a dynamically linked library in an iOS app on the fly and use it in the app?

Daniel S.
  • 6,458
  • 4
  • 35
  • 78
  • 1
    Its not possible and allowable under iOS or else it would incur a security threat to the system. Think of an app that downloads a dynamic lib at runtime containing malware codes. How are you gonna prevent that from loading once downloaded. So iOS takes the simple approach of not allowing codes to load at runtime. Only static binding with static libs are possible. – Ayan Sengupta Nov 21 '13 at 12:02
  • @AyanSengupta, I agree with you about the security threat. Just a thought crossing my mind: Wouldn't an interpreter for an interpreted language like javascript, which can be used to download a source file of the interpreted language and execute it, impose just the same threat, provided that the app grants it the same permissions as the app itself has? – Daniel S. Nov 21 '13 at 16:10
  • You are right to some extent. Not only JS but any app can make a request to download anything and even an interpretable script. But this is guaranteed that it does not allowed to run on its own without user intervention and if user allows to run it, hardly anybody can do much about it. But even if anything is downloaded, it can never be linked to the app dynamically and run in the same sandbox, the app runs in. And for dynamic codec download, it requires some similar functionality, as such.:( – Ayan Sengupta Nov 21 '13 at 17:28

1 Answers1

0

you cannot do this in iOS.. think of bundling your codec with your app as Static lib instead of downloading after installation.

Dinesh
  • 929
  • 7
  • 25
  • I've specifically talked about bundling in the questions, which incurs the licensing issues described. Do you know how other iOS app developing companies handle this topic? – Daniel S. Nov 21 '13 at 12:13
  • AFAIK i know you can develop your own codec or use some third party codec and use them in iOS using Audio queue. you can find some Codec which doesn't requires a licensing and try to use them in your app after some modification.. You can bundle them as a static lib with your app.. – Dinesh Nov 21 '13 at 12:20
  • You are confusing the software license with the patent license. Even when using free software like the LAME encoder, you still have to pay patent royalty fees to Thomson/Technicolor. See http://mp3licensing.com/help/developers.html#55 "I have my own/third party mp3 software. Do I need a license? - Yes. ..." and http://mp3licensing.com/royalty/software.html > "mp3 patent-only license". – Daniel S. Nov 27 '13 at 12:05