我想在我的应用程序中使用诸如 lightspark / gnash / swfdec 之类的库来播放/执行 swf(任何 swf,从 Internet 加载)。
我想将此我的应用程序提交到应用商店。Apple 会拒绝我的应用程序播放 Flash 吗?
1 回答
Yes, your application will be rejected, but not for the reasons you're thinking:
Many Flash applications are intended to be run from within a web browser, and will not function correctly outside of one. (For instance, they may load data from relative URLs, or attempt to interact with the browser Javascript context.)
Most of the open-source Flash runtimes are incomplete. For instance, Gnash does not fully support SWF versions beyond SWF7, nor all of ActionScript 2.0.
Many SWF files found online (especially games) will assume a keyboard and mouse are available, and will likely not be usable with a touchscreen alone.
These three issues will cause many SWF files found online to either not run, or to not be usable, under your app. This alone would lead to your app being rejected, as it will likely be unable to function reliably as described.
Additionally, Lightspark and Gnash are both licensed under the GNU Public License, which (roughly speaking) does not permit the use of their code in proprietary applications, or applications which the user cannot inspect and modify. This means that using them in an iOS application will constitute a copyright violation. If Apple does not identify this issue and reject your application, selling it through the App Store may subject you to significant financial liability.
To be clear, Apple does not have any issue with Flash in general. (Indeed, a number of popular iOS games, such as Super Hexagon, were created using Adobe's Flash tools.) The issues I'm calling out here are specific to what you're trying to do, and how you're trying to do it.