判断你的Flex应用是调试还是发布版
How to identify at runtime if the swf is in debug or release mode/build
如何识别swf文件是测试版的还是正式发布版的
It may be interesting to know at runtime whether an application is running from a debug or release SWF file. It allows the application to automatically execute debug specific code when the file is a debug SWF file and ignore this code when it is published as a release file. Also, it should be nice to know if you have a debug flash player just for the same reasons. But for the last one, there is a function in the Capabilities class called isDebugger.
One solution would be to use conditional compilation. The other solution is in the following code (hack).
- 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
- {
- return new Error().getStackTrace().search(/:[0-9]+]$/m) > -1;
- }
- /**
- * Returns true if the swf is built in release mode
- **/
- public static function isReleaseBuild() : Boolean
- {
- return !isDebugBuild();
- }
- }
- }
This code simply searches for line numbers of errors in StackTrace result. Only StackTrace result of a debug SWF file contains line numbers. Then we know that we are running a debug or release SWF file.
This class is also available in the Components Pack at Runtime subpackage
- 上一篇:flex制作swc文件
- 下一篇:Flex ArrayCollection详解



