Usando a iOS 10.0
última versão beta. Eu tentei usar a Câmera para escanear código de barras no meu aplicativo e ele travou com esse erro de tempo de execução.
Este aplicativo falhou porque tentou acessar dados sensíveis à privacidade sem uma descrição de uso. O Info.plist do aplicativo deve conter uma chave NSCameraUsageDescription com um valor de sequência explicando ao usuário como o aplicativo usa esses dados.
Coloque essa chave na lista, mas ela ainda travou?
Respostas:
Após o iOS 10, você precisa definir e fornecer uma descrição de uso de todos os dados sensíveis à privacidade do sistema acessados pelo seu aplicativo no Info.plist, conforme abaixo:
Calendário
Lembrete:
Contato :
Foto :
Compartilhamento Bluetooth:
Microfone:
Câmera :
Localização:
Heath:
HomeKit:
Biblioteca de mídia :
Movimento:
Reconhecimento de fala :
SiriKit:
Fornecedor de TV:
Você pode obter informações detalhadas neste link.
fonte
Privacy - Photo Library Usage Description
o erro ocorreuNSPhotoLibraryUsageDescription
Como a Apple mudou, como você pode acessar qualquer tipo de dados particulares do usuário
iOS 10
.Você precisa adicionar a
Privacy - Camera usage description
chave " " àsInfo.plist
informações de uso e aos aplicativos que são aplicáveis ao seu aplicativo, como no exemplo abaixo, forneci que utilizei para digitalizar códigos de barras.Para mais informações, consulte a captura de tela abaixo.
fonte
Você deve adicionar esta chave abaixo em info.plist.
NSCameraUsageDescription
OuPrivacy - Camera usage description
E adicione uma descrição de uso.
Capturas de tela detalhadas estão disponíveis neste link
fonte
Como alternativa, abra o Info.plist como código-fonte e adicione:
fonte
"NSCameraUsageDescription" = "Requires access to the camera";
seu arquivo infoPlist.strings localizadoUse esses valores brutos e copie em info.plist
fonte
a interface do usuário do xcode mudou um pouco de uma versão para a próxima, então aqui é onde você atualiza o plist para 9.0 beta 4 se isso ajuda Projeto -> Destino -> Informações
fonte
<key>NSCameraUsageDescription</key>
ao info.plist .<key>NSCameraUsageDescription</key>
ao segundo arquivo info.plist , mas sem efeito, e posso confirmar que o XCode (10.1) definitivamente não está levando em consideração essas alterações executando o status git , porque meu info.plist para outro destino não teve alterações. Portanto, o caminho certo é percorrer o Projeto-> Alvo-> Informações . Valeu cara!Outro exemplo que enfrentei ao tentar usar a câmera foi que ela ainda estava ocupada travando, dando a mesma,
_CRASHING_DUE_TO_PRIVACY
mesmo depois de adicionar a "Descrição de uso da câmera". Depois de não conseguir obter nada tangível da pilha de chamadas, alternou para o "Organizador" e examinou os relatórios de falhas no dispositivo. Descobri que estava de fato reclamando da privacidade devido à falta de "Descrição de uso do microfone". Eu adicionei isso e me livrei de uma quebra tão enigmática.fonte
Para aqueles que ainda estão recebendo o erro, mesmo que você tenha adicionado as chaves apropriadas no Info.plist:
Certifique-se de adicionar a chave no Info.plist correto. Versão mais recente do xCode, aparentemente possui 3 Info.plist.
Um está na pasta com o nome do seu aplicativo, o que resolveu o problema para mim.
O segundo está em YourappnameTests e o terceiro está em YourappnameUITests.
Espero que ajude.
fonte
Se você estiver usando o Ionic, poderá resolvê-lo diretamente do config.xml adicionando a tag dentro da plataforma ios:
Também gostaria de agradecer à resposta @BHUPI.
fonte
Você faz isso adicionando uma chave de uso ao Info.plist do seu aplicativo, juntamente com uma string de finalidade. NSCameraUsageDescription Especifica o motivo do seu aplicativo acessar a câmera do dispositivo
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html
fonte
Eu verifiquei o plist e descobri que ele não está funcionando, apenas nas informações do "projeto", você precisa adicionar a "Privacidade - Câmera ....", então deve funcionar. Espero ajudá-lo.
fonte
Eu tive o mesmo problema e não consegui encontrar uma solução. Mark90 está certo, existem muitos arquivos info.plist e você deve editar o correto. Vá para Projeto, em TARGETS, selecione o projeto (não os testes), na barra de guias, selecione Informações e adicione a permissão em " Propriedades personalizadas de destino do iOS ".
fonte