O erro OSStatus -10814 ocorre quando canOpenURL:
não é possível encontrar nenhum aplicativo que possa abrir este URL (na verdade, o Facebook tentando encontrar seu aplicativo chamando canOpenURL:
com o argumento "fbauth2: /"). A impressão acontece dentro da função, então você não pode fazer nada com isso. Mas se você for executar seu aplicativo no dispositivo com o aplicativo do Facebook instalado, não verá esse erro.
O erro 308 ocorre devido à situação, quando o valor armazenado no keychain não é igual ao valor, que fica armazenado nos parâmetros de preenchimento do Facebook (para mais informações você pode verificar -[FBSDKLoginManager completeAuthentication:expectChallenge:]
).
Isso acontece porque a Apple mudou a maneira de trabalhar com as chaves no iOS 10. Para corrigir esse problema, você simplesmente deve ir para Destinos-> Recursos e habilitar o compartilhamento das chaves (permite o acesso às chaves para o seu aplicativo):
Se você estiver usando o Xamarin (leia este link para obter mais informações, obrigado @dynamokaj):
Apenas certifique-se de habilitar o acesso keychain em Direitos e selecionar os direitos para as compilações do Simulador (Depurar) também. Por padrão, isso não é definido.