Depois de atualizar para o Xcode 7.3, ele lança o erro Cannot create __weak reference in file using manual reference counting
nos arquivos pod. Alguém resolveu esse problema?
objective-c
xcode
cocoapods
REALFREE
fonte
fonte
-Wall -Wextra -Wno-unused-parameter
sinalizadores de Aviso habilitados.Esta é a resposta oficial da Apple no link:
Então, basicamente, se você estiver usando o Pod para bibliotecas de terceiros, você deve excluir __weak em não-ARC ou aguardar a atualização.
Atualizar @ 23/03
Eu deveria ter pesquisado mais sobre sinalizadores que posso passar para o complier para contornar esses tipos de coisas. Mas, fundamentalmente, você não deve usar
__weak
no modo não ARC a partir de agora para evitar conflitos inesperados. Para usuários de cocoapods, você não precisa deletar__weak
ou esperar pela atualização, mas definir oWeak References in Manual Retain Release
sinalizador nas configurações de compilação para SIM, como disse o Lean. Espero esta ajuda.fonte
A melhor maneira de resolver isso é adicionar um
post_install
script ao seu Podfile que define oWeak References in Manual Retain Release
sinalizadoryes
em todos os destinos do seu pod. Para fazer isso, basta colar o código a seguir na parte inferior do seuPodfile
.Às vezes, fazer isso resulta em erro
-fobjc-weak is not supported on the current deployment target
. Você pode resolver isso adicionando outra opção de configuração, forçando todos os pods a direcionar a versão desejada (com base nesta resposta ):fonte
Solução alternativa para referências fracas do Facebook em FBSettings.m
Para o Podfile, é possível escrever um script para ser executado após a instalação / atualização do pod, descreve o seguinte lá.
CLANG_ENABLE_OBJC_WEAK como encontrar as palavras da magia que. .
fonte
Eu encontrei isso.
Eu acho que significa deletar __weak
https://forums.developer.apple.com/thread/38934
fonte
Basta ir para o seu destino na guia "Build Phases", procurar os arquivos pod em "Compile Sources", clicar nesses arquivos e adicionar o sinalizador do compilador "-fobjc-arc"
fonte
Ou mude
__weak
para__unsafeunretained
. Isso resolverá o problema da tradição. Desde MRC (antes de xCode 4 -) __weak não estava em iOS.fonte