OS_ACTIVITY_MODE n'a pas fonctionné pour moi (il peut Je ne sais pas si c'est parce que j'ai fait une faute de frappe. disable
comme disabled
(mais n'est-ce pas plus naturel ? !?), ou du moins n'a pas empêché la diffusion d'un grand nombre de messages. Voici donc le vrai problème avec les variables d'environnement.
https://llvm.org/svn/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
lldb_private::Error
PlatformDarwin::LaunchProcess(lldb_private::ProcessLaunchInfo &launch_info) {
// Starting in Fall 2016 OSes, NSLog messages only get mirrored to stderr
// if the OS_ACTIVITY_DT_MODE environment variable is set. (It doesn't
// require any specific value; rather, it just needs to exist).
// We will set it here as long as the IDE_DISABLED_OS_ACTIVITY_DT_MODE flag
// is not set. Xcode makes use of IDE_DISABLED_OS_ACTIVITY_DT_MODE to tell
// LLDB *not* to muck with the OS_ACTIVITY_DT_MODE flag when they
// specifically want it unset.
const char *disable_env_var = "IDE_DISABLED_OS_ACTIVITY_DT_MODE";
auto &env_vars = launch_info.GetEnvironmentEntries();
if (!env_vars.ContainsEnvironmentVariable(disable_env_var)) {
// We want to make sure that OS_ACTIVITY_DT_MODE is set so that
// we get os_log and NSLog messages mirrored to the target process
// stderr.
if (!env_vars.ContainsEnvironmentVariable("OS_ACTIVITY_DT_MODE"))
env_vars.AppendArgument(llvm::StringRef("OS_ACTIVITY_DT_MODE=enable"));
}
// Let our parent class do the real launching.
return PlatformPOSIX::LaunchProcess(launch_info);
}
Ainsi, le réglage OS_ACTIVITY_DT_MODE
à "NO" dans les variables d'environnement (méthode GUI expliquée dans la capture d'écran Schemes dans la réponse principale) fonctionne pour moi.
En ce qui concerne NSLog
être le point de chute des messages du système, des erreurs et de votre propre débogage : une véritable approche de journalisation est probablement nécessaire de toute façon, par exemple https://github.com/fpillet/NSLogger .
OU
Buvez le nouveau Kool-Aid : http://asciiwwdc.com/2016/sessions/721 https://developer.apple.com/videos/play/wwdc2016/721/ Il n'est pas surprenant qu'il y ait quelques problèmes après la révision de l'ensemble de l'API de journalisation.
ADDENDUM
Quoi qu'il en soit, NSLog
n'est qu'une cale :
https://developer.apple.com/library/content/releasenotes/Miscellaneous/RN-Foundation-OSX10.12/
NSLog / CFLog
NSLog n'est plus qu'un complément à os_log dans la plupart des cas.
Il n'y a plus qu'à citer la source pour l'autre variable env. Un endroit assez disparate, cette fois-ci des internes d'Apple. Je ne sais pas trop pourquoi ils se chevauchent. [Commentaire incorrect à propos de NSLog
supprimé]
[édité le 22 septembre] : Je me demande ce que "release" et "stream" font différemment de "debug". Pas assez de sources.
https://github.com/macosforge/libdispatch/blob/8e63547ea4e5abbfe55c0c3064181c4950a791d3/src/voucher.c
e = getenv("OS_ACTIVITY_MODE");
if (e) {
if (strcmp(e, "release") == 0) {
mode = voucher_activity_mode_release;
} else if (strcmp(e, "debug") == 0) {
mode = voucher_activity_mode_debug;
} else if (strcmp(e, "stream") == 0) {
mode = voucher_activity_mode_stream;
} else if (strcmp(e, "disable") == 0) {
mode = voucher_activity_mode_disable;
}
}
1 votes
Il semble qu'il s'agisse simplement d'informations de débogage issues du développement. Enquête...
0 votes
Avez-vous désactivé l'utilisation de l'api de l'éditeur de liens dynamiques dans xcode ?
0 votes
Cette solution ne fonctionne pas pour moi dans Xcode 8. Il semblerait que cette solution ne fonctionne que pour Xcode 8 beta.
0 votes
J'ai eu ce problème avec Xcode 8.2.1 sur El Capitan. La mise à jour vers macOS Sierra a résolu le problème.
2 votes
Je vois toujours le problème sur Xcode 9.3, j'ai soumis le Bug Apple #34767176 (Xcode 9 Displays System Framework Debug Print Statements), qui est un duplicata du bug ouvert #32256894 Veuillez soumettre un duplicata du bug à Apple : bugreport.apple.com/web
1 votes
Lire cet article mightytechno.com/x-code-disable-annoying-system-logs
0 votes
@IshanFernando ce lien est 404 mais en voici une copie : medium.com/@ishanfx/