Construção do iOS 10 / Xcode 8 GM, obtendo as informações abaixo, nunca as tinha antes no Xcode 7. Alguma idéia?
objc [25161]: A classe PLBuildVersion é implementada em /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/20 e /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x1202c4210). Um dos dois será usado. Qual é indefinido.
(NOTA: Apenas parece acontecer no simulador, não aparece no dispositivo real).
Respostas:
Ideia principal
A ideia principal é simples:
Se seu aplicativo (ou dependências, como Pods) usar estrutura, que usa explícita (ou implícita)
PhotoLibraryServices.framework
ouAssetsLibraryServices.framework
como dependência, o Xcode o avisa (mesmo se você estiver usando apenas um deles). Pode serPhotos/PhotosUI.framework
ouAssetsLibrary.framework
ou outra (não tenho uma lista completa de dependências, mas é possível).Qual é o problema?
Classe com nome
PLBuildVersion
é definida em ambosPhotoLibraryServices.framework
eAssetsLibraryServices.framework
. O nome da classe é exclusivo no Objective-C (você não pode definir 2 classes com o mesmo nome); portanto, não está definido qual delas será usada em tempo de execução.No entanto, acho que não será um problema, porque as duas classes têm os mesmos métodos e campos (verificado isso com desmontador) e acho que ambas foram compiladas a partir da mesma fonte.
O radar já foi enviado.
fonte
.attributedText
. Não estou acessando câmera ou fotos. Esse aviso também causa um atraso sério no carregamento do View Controller, mesmo que não haja tarefas demoradas (sem acesso à rede, sem E / S de arquivos, etc.).Conforme resposta do funcionário da Apple no Fórum do desenvolvedor da Apple :
fonte
Não consegui encontrar uma maneira de me livrar do aviso, mas se você deseja impedir que o aplicativo falhe, é necessário fornecer uma descrição do motivo pelo qual está acessando a câmera, a biblioteca de fotos etc. Isso é novo no iOS10.
Insira o seguinte no seu
Info.plist
arquivo.foto
Chave:
Privacy - Photo Library Usage Description
Valor:$(PRODUCT_NAME) photo use
Câmera
Chave:
Privacy - Camera Usage Description
Valor:$(PRODUCT_NAME) camera use
Mais informações podem ser encontradas aqui: https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html
fonte
info.plist
arquivo. Aparentemente, a sua necessidade no IOS 10.xAcho que você pode obter esse erro apenas usando um UIWebView. Minha solução foi substituir o uso do UIWebView pelo WKWebView.
fonte
Eu tive isso depois de adicionar o Answers on Fabric ao meu projeto.
A exclusão de dados derivados fez o truque para mim. (comando shift alt k no XCode)
Edite um ano depois:
Após excluir os dados derivados, sempre saia do XCode e inicie-o novamente.
Em casos não relacionados, tenho a impressão de que a exclusão de dados derivados não limpa os XCode em caches de memória dos dados derivados.
fonte
A redefinição do simulador do iOS corrigiu isso para mim. Simulador -> Redefinir conteúdo e configurações.
fonte
No meu caso, esse aviso começou a aparecer após a abertura de um segundo projeto xcode e a execução do segundo aplicativo no simulador. Depois de voltar ao primeiro aplicativo, o aviso começou a aparecer. Acabei de sair do Simulator e do Xcode e reabri meu projeto. O aviso desapareceu depois disso. Se isso não resolver, continue com as outras respostas. O Xcode pode ser muito exigente às vezes.
fonte