Ignorar avisos do Xcode ao usar Cocoapods

Eu uso bastante bibliotecas de terceiros que têm muitos avisos, após as últimas atualizações do Xcode. (por exemplo, o pod do SDK do Facebook) Agora todos esses avisos são mostrados no meu Xcode no lugar onde quero ver meus próprios avisos ou erros.

Existe alguma maneira de ignorar esses erros? Corrigi-los não ajudará, pois após cada “instalação do pod” as alterações são descartadas.

    Adicione ao seu Podfile:

    platform :ios # ignore all warnings from all pods inhibit_all_warnings! # ignore warnings from a specific pod pod 'FBSDKCoreKit', :inhibit_warnings => true 

    Então execute: pod install

    Você pode procurar por “inibit_all_warnings” nas configurações de compilation do xcode do PodBundle no seu espaço de trabalho do projeto. Se definir o valor como “YES”, ele ocultará todos os seus avisos de arquivo do Pod.

    Se você fizer isso no seu espaço de trabalho, ele também ocultará todo o seu projeto.

    Embora essa outra resposta remova os avisos durante a fase de criação, ela não parece corrigir completamente a fase de Analyze (o que fez com que nossa versão do CI ainda tivesse problemas).

    O que funcionou para mim (além da resposta aceita) foi:

    • Clique no projeto Pods no Navegador de Projetos
    • Escolha o Pod- Target real e clique em Build Settings
    • Filtrar com as compiler flags frase
    • Adicione um novo Other C Flags com o valor -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core (ou -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core analisadores que você precise desabilitar) – esta resposta fornece a lista completa de sinalizadores a serem testados – por favor, faça um upvote!

      No entanto, a versão do clang no Xcode 6.3.1 não parece include o insecureAPI portanto você pode removê-lo dessa lista. A lista completa “atual” é -w -Xanalyzer -analyzer-disable-checker -Xanalyzer alpha -Xanalyzer -analyzer-disable-checker -Xanalyzer core -Xanalyzer -analyzer-disable-checker -Xanalyzer cplusplus -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode -Xanalyzer -analyzer-disable-checker -Xanalyzer debug -Xanalyzer -analyzer-disable-checker -Xanalyzer llvm -Xanalyzer -analyzer-disable-checker -Xanalyzer osx -Xanalyzer -analyzer-disable-checker -Xanalyzer security -Xanalyzer -analyzer-disable-checker -Xanalyzer unix

    Observe que definir isso no Pods Project ou Pods Target não funcionará . Não tenho certeza do porquê, mas você precisa configurá-lo para cada destino do Pod- real.

    Você também pode definir os sinalizadores de compilador ( -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core etc.) em uma base por arquivo .

    Eu também tentei alguns outros methods (que podem ou não ser necessários além do acima). Eles foram realizados no próprio Pods Project.


    [1]

    • Filtrar com o analyzer frase
    • Certifique-se de que Analyze During 'Build' esteja definido como NO .
    • Altere todas as configurações para NO (incluindo Improper Memory Management )

    [2]

    • Filtrar com os warnings frase
    • Alterar inhibit all warnings para YES

    Por alguma razão, até mesmo desativar a etapa Analyze no esquema parece não funcionar.

    Vá para a janela Product > Scheme > Manage Schemes , clique em cada Pod-* da lista e clique no botão Edit . Clique em Build na lista à esquerda e, em seguida, desmarque Analyze no lado direito para o destino do Pod .

    Ainda estou confuso sobre por que não posso desabilitar completamente o Pods de ser analisado, embora eu espere que tenha a ver com o “Localizar dependencies implícitas” verificadas nas configurações de compilation do esquema. Se isso não foi verificado, parece que algo mais precisaria acontecer para o aplicativo vincular aos pods.