Проверьте этот класс http://blog.another -d-mention.ro /рограммирование / как-идентифицировать во время выполнения-если-swf-is-in-in-debug-or-release-mode-build /
Этот класс предоставляет две соответствующие (и разные) части информации:
- Был ли SWF собран с ключом -debug (скомпилированы символы отладки)?
- Является ли Flash player отладчиком (имеет возможность отображать ошибки и т. Д.)?
Capabilities.isDebugger отвечает только на второй вопрос - пользователь запускает проигрыватель Flash Debug. В вашем случае, чтобы разместить части вашего приложения в отладочной сборке, вам нужна проверка сборки -debug (а затем не доставлять сборки -debug в производство).
Обратите внимание, что обе эти проверки являются проверками во время выполнения. Использование условной компиляции (также известной как CONFIG :: debug) вокруг вашего кода отладки все еще является хорошей идеей, так как она гарантирует, что возможно уязвимый код отладки НЕ будет доставлен в окончательном SWF, делая его настолько маленьким и безопасным, насколько это возможно.
Я воспроизвожу здесь ссылочный код на случай, если ссылка на блог когда-нибудь выйдет из строя:
package org.adm.runtime
{
import flash.system.Capabilities;
public class ModeCheck
{
/**
* Returns true if the user is running the app on a Debug Flash Player.
* Uses the Capabilities class
**/
public static function isDebugPlayer() : Boolean
{
return Capabilities.isDebugger;
}
/**
* Returns true if the swf is built in debug mode
**/
public static function isDebugBuild() : Boolean
{
var stackTrace:String = new Error().getStackTrace();
return (stackTrace && stackTrace.search(/:[0-9]+]$/m) > -1);
}
/**
* Returns true if the swf is built in release mode
**/
public static function isReleaseBuild() : Boolean
{
return !isDebugBuild();
}
}
}