39 votes

Cocoapods: désactiver la journalisation de MagicalRecord

Pour désactiver la journalisation de MagicalRecord, il est nécessaire de définir une #define avant de l'inclure dans le projet, mais dans le cas d'un projet géré par Cocoapods, je n'ai aucun accès pour ajouter une #define dans le projet Pods. Comment désactiver complètement la journalisation dans ce scénario?

Il m'a fallu quelques heures pour trouver un moyen de le faire, en postant ici dans l'espoir que cela aidera les autres.

79voto

ank Points 1909

Vous pouvez utiliser un hook post_install pour modifier pratiquement tous les paramètres de construction. Ajoutez simplement ce code à votre fichier podfile:

 post_install do |installer|
  target = installer.project.targets.find{|t| t.to_s == "Pods-MagicalRecord"}
    target.build_configurations.each do |config|
        s = config.build_settings['GCC_PREPROCESSOR_DEFINITIONS']
        s = [ '$(inherited)' ] if s == nil;
        s.push('MR_ENABLE_ACTIVE_RECORD_LOGGING=0') if config.to_s == "Debug";
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = s
    end
end
 

Notez que cela ne désactivera que la journalisation dans la configuration de débogage - la journalisation est désactivée par défaut dans la configuration de la version .

13voto

Cody A. Ray Points 1516

Dans mon cas, je construisais une bibliothèque qui dépendait de MagicalRecord. Je ne voulais pas que mes utilisateurs aient à ajouter un post_install dans leur podfile pour mettre fin à la journalisation bruyante. Je l'ai donc ajouté à mon podspec.

   s.prefix_header_contents = '#define MR_ENABLE_ACTIVE_RECORD_LOGGING 0'
 

Ceci ajoute automatiquement cette instruction #define à Pods-prefix.pch, qui met la journalisation MagicalRecord en sourdine dans les projets qui utilisent mon pod.

0voto

blackjacx Points 154

Pour la direction du développement de la version 2.3.0 et plus) de Magique Record de journalisation semble toujours pas fonctionner correctement. Lorsqu'ils sont importés comme ceci: pod "MagicalRecord', :git => 'https://github.com/magicalpanda/MagicalRecord', :branche = > "élaborer"

Je n'ai pas de sortie d'enregistrement sur ma console de Xcode. Mais j'ai modifié la post_install script de la Cocoapod. Les éléments suivants doivent activer la journalisation: https://gist.github.com/Blackjacx/e5f3d62d611ce435775e

Avec qui buildsetting inclus dans GCC_PREPROCESSOR_DEFINITIONS journalisation de Magique Enregistrement peut être contrôlé à l'2.3.0++ en utilisant le [MagicalRecord setLoggingLevel:]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X