Dans Xcode 9, je reçois la suggestion suivante pour un projet de cabosses de cacao:
Qu'est ce que ça fait? Et, dois-je l'allumer, ou ça va casser les choses?
L'utilisation de Whole Module Optimization permet au compilateur de regarder tous les fichiers source d'un module. Cela rend la compilation plus lente mais lui permet d'optimiser les fonctions génériques même lorsqu'elles se trouvent dans des fichiers source séparés. Vous pouvez le voir dans le test final où le temps d'exécution est maintenant le même pour les définitions de fonction locale et externe.
En résumé, si le temps de compilation supplémentaire ne vous dérange pas, essayez d'activer l'optimisation du module entier pour vos versions.
Cette source devrait vous donner plus d'informations sur l'optimisation de l'ensemble du module
Toutes les modifications apportées au projet Pods par Xcode seront supprimées la prochaine fois que vous exécuterez pod install
donc la mise à jour devra avoir lieu dans Cocoapods pour se débarrasser de cet avertissement. Il y a une discussion à ce sujet ici .
La solution à court terme consiste à ajouter un post_install
script comme Mike a suggéré .
Vous pouvez l'activer automatiquement à chaque fois que vous exécutez pods install
en ajoutant ce qui suit post_install
script à la fin de votre Podfile
.
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
if config.name == 'Release'
config.build_settings['Swift_COMPILATION_MODE'] = 'wholemodule'
end
end
end
Dans les anciennes versions de Xcode, vous aurez besoin de:
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
if config.name == 'Release'
config.build_settings['Swift_OPTIMIZATION_LEVEL'] = '-Owholemodule'
else
config.build_settings['Swift_OPTIMIZATION_LEVEL'] = '-Onone'
end
end
end