Lorsque vous utilisez Xcode 8+ et créez un nouveau projet vierge, les journaux suivants apparaissent lors de l'exécution de l'application:
2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
Peut-être que quelqu'un a déjà trouvé une configuration à gérer?
Réponses:
Essaye ça:
1- Depuis le menu Xcode ouvert: Produit> Schéma> Modifier le schéma
2- Sur vos variables d'environnement set
OS_ACTIVITY_MODE
=disable
la source
NSLog
s d'un vrai appareil pour moi ...S'appuyant sur le tweet original de @rustyshelf et la réponse illustrée d'iDevzilla, voici une solution qui réduit le bruit du simulateur sans désactiver la sortie NSLog de l'appareil.
la source
disable
pardefault
.OS_ACTIVITY_MODE n'a pas fonctionné pour moi (il peut être parce que je typo'd
disable
commedisabled
, mais est -ce pas plus naturel?!?), Ou du moins n'a pas empêché beaucoup de messages. Voici donc la vraie affaire avec les variables d'environnement.https://llvm.org/svn/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Donc, le réglage
OS_ACTIVITY_DT_MODE
sur "NON" dans les variables d'environnement (méthode GUI expliquée dans la capture d'écran des schémas dans la réponse principale) le fait fonctionner pour moi.En ce qui concerne
NSLog
le dépotoir pour les messages système, les erreurs et 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 avoir révisé l'ensemble API de journalisation.
ADDENDA
Quoi qu'il en soit,
NSLog
c'est juste une cale:https://developer.apple.com/library/content/releasenotes/Miscivers/RN-Foundation-OSX10.12/
Cela n'a de sens que de citer la source de l'autre variable env. Un endroit assez disparate, cette fois par rapport aux internes d'Apple. Je ne sais pas pourquoi ils se chevauchent. [Commentaire incorrect sur
NSLog
supprimé][Modifié le 22 sept.]: Je me demande ce que «libération» et «flux» font différemment que «débogage». Pas assez de source.
https://github.com/macosforge/libdispatch/blob/8e63547ea4e5abbfe55c0c3064181c4950a791d3/src/voucher.c
la source
os_log
officieusement au nouveau Kool Aid.Un tweet avait la réponse pour moi - https://twitter.com/rustyshelf/status/775505191160328194
Pour empêcher le simulateur iOS Xcode 8 de se connecter comme un fou, définissez une variable d'environnement OS_ACTIVITY_MODE = désactiver dans votre schéma de débogage.
Ça a marché.
la source
disable
pardefault
.Veuillez trouver les étapes ci-dessous.
CMD + <
Run
option sur le côté gauche.Pour plus d'informations, veuillez trouver la représentation GIF ci-dessous.
la source
disable
pardefault
.Cela n'est toujours pas résolu dans Xcode Version 8.0 beta 2 (8S162m) pour moi et des journaux supplémentaires apparaissent également dans la console Xcode** EDIT 8/1/16: Cela a été reconnu dans les notes de publication pour Xcode 8 Beta 4 (8S188o) car un problème persiste .
Vraisemblablement, cela sera résolu par la version GM. Jusque-là, patience et bien que pas idéal mais une solution de contournement que j'utilise est ci-dessous ...
Semblable à la réponse précédente, je dois:
préfixer mes journaux d'impression avec une sorte de caractère spécial (par exemple * ou ^ ou! etc etc)
Utilisez ensuite la zone de recherche en bas à droite du volet de la console pour filtrer les journaux de ma console en saisissant le caractère spécial que j'ai choisi pour que la console affiche mes journaux d'impression comme prévu.
la source
Ma solution consiste à utiliser la commande de débogage et / ou le message de journal dans les points d'arrêt.
Et changez la sortie de la console de Toutes les sorties en Sortie du débogueur comme
la source
Bien. Il semble y avoir beaucoup d'agitation à propos de celui-ci, donc je vais vous donner un moyen de le persister sans utiliser cette astuce de schéma. J'aborderai spécifiquement le simulateur iOS, mais cela pourrait également devoir être appliqué pour le Sim TV qui se trouve également dans un répertoire différent.
Le problème qui cause tout cela est les listes situées dans le répertoire Xcode. Il y a un processus qui est lancé appelé configd_sim lorsque le Sim démarre qui lit les plists et imprime les informations de débogage si les plists spécifient qu'elles doivent être enregistrées.
Les plists sont situés ici:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Preferences/Logging/Subsystems
Si vous jouez avec une version bêta, notez que le dir sera différent.
Vous verrez de nombreux plists dans ce répertoire. Maintenant, générez et exécutez votre application et observez les journaux. Vous recherchez le contenu immédiatement suivi du sous - système: part. C'est le nom qui suit immédiatement celui-ci qui représente la liste problématique correspondante.
À partir de là, modifiez le plist pour éliminer la clé / valeur de débogage [Niveau] qui est un dictionnaire contenant le
"Enable" => "Default"
clé / valeur ... ou supprimez simplement le plist. Notez que vous devrez être root pour effectuer l'une ou l'autre de ces opérations car elles se trouvent dans l'application Xcode.la
plutil -p
commande pourrait également vous être utile. c'est à direCela m'a donné l'une des listes problématiques qui contenait:
{ "DEFAULT-OPTIONS" => { "Level" => { "Enable" => "Default" }}}
Bonne chance :]
la source
2016-09-23 15:09:21.354686 ProductName[8823:191206][] tcp_connection_start 3 starting
Ceci est lié à un problème connu de journalisation trouvé dans les notes de version Xcode 8 Beta (également demandé à un ingénieur de la WWDC).
Il n'y a actuellement aucune solution de contournement disponible, vous devez attendre une nouvelle version de Xcode.
EDIT 7/5/16: Ceci est censé être corrigé à partir de Xcode 8 Beta 2:
Notes de publication de Xcode 8 Beta 2
la source
Ce n'est plus un problème dans xcode 8.1 (version testée 8.1 bêta (8T46g)) . Vous pouvez supprimer la
OS_ACTIVITY_MODE
variable d'environnement de votre schéma.https://developer.apple.com/go/?id=xcode-8.1-beta-rn
la source
[MC] Reading from private effective user settings.
partir d'un nouveau projet factice vierge Fichier> Nouveau> Projet.Dans Xcode 10, la
OS_ACTIVITY_MODE
variable avecdisable
(oudefault
) valeur désactive égalementNSLog
quoi qu'il arrive.Donc, si vous voulez vous débarrasser du bruit de la console mais pas de vos propres journaux, vous pouvez essayer le bon vieux
printf("")
au lieu du NSLog car il n'est pas affecté par leOS_ACTIVITY_MODE
=disable
.Mais mieux vaut vérifier la nouvelle
os_log
API ici .la source
Cette solution a fonctionné pour moi:
⌘
+/
)Cela videra toutes les données de débogage ainsi que vos NSLogs.
Pour filtrer uniquement vos instructions NSLog:
NSLog(@"^ Test Log")
Voici ce que vous devriez obtenir:
la source