Ermitteln Sie, ob swf in einem Debug-Player oder -Modus ist

8

Gibt es eine Möglichkeit, mit Flash (CS3 + AS3) festzustellen, ob das veröffentlichte SWF in einem Debug-Player oder im Debug-Modus von Flash ausgeführt wird?

Ich bin mir bewusst, dass Flex die Möglichkeit bietet, verschiedene Build-Ziele einzurichten (release / debug) und dass Sie so etwas wie CONFIG::debug für #ifdef style Code-Einfügung zur Kompilierzeit verwenden können.

Ich stelle mir etwas wie System.isDebug() vor, kann aber nichts finden. Ich möchte das verwenden, weil es in meiner App Debug-Funktionen gibt, die ich definitiv in einer Produktionsumgebung nicht verfügbar sein möchte.

    
aaaidan 09.10.2008, 00:25
quelle

1 Antwort

19

Sehen Sie sich diese Klasse an Ссылка

Diese Klasse enthält zwei relevante (und unterschiedliche) Informationen:

  • Wurde die SWF-Datei mit der Option -debug erstellt (enthält Debug-Symbole)?
  • Ist der Flash-Player ein Debug-Player (kann Fehler anzeigen usw.)?

Der Capabilities.isDebugger beantwortet nur die zweite Frage - ist der Benutzer, der den Flash Debug-Player ausführt. In Ihrem Fall möchten Sie, um Teile Ihrer Anwendung in einem Debug-Build zu portieren, die Build-Prüfung -debug (und dann -debug-Builds nicht in die Produktion liefern).

Beachten Sie jedoch, dass diese beiden Prüfungen Laufzeitprüfungen sind. Die Verwendung von bedingter Kompilierung (auch bekannt als CONFIG :: debug) um Ihren Debug-Code herum ist immer noch eine gute Idee, da dadurch sichergestellt wird, dass möglicherweise sensibler Debug-Code NICHT in der endgültigen SWF-Datei bereitgestellt wird und so klein und sicher wie möglich ist.

Ich repliziere den referenzierten Code hier, falls der Bloglink jemals untergeht:

%Vor%     
TheBrain 07.07.2009, 11:46
quelle

Tags und Links