prebuilt - xamarin forms tabbed page bottom
La llave de la tienda Xamarin Auth no funciona despuĆ©s de la actualizaciĆ³n de ios10 (2)
De acuerdo con este hilo , basta con agregar un archivo de derechos vacío en la configuración del conjunto de canciones:
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Debug|iPhoneSimulator'' ">
...
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
Archivo Empty Entitlements.plist
:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
Estoy usando Xamarin.Auth ( https://components.xamarin.com/view/xamarin.auth/ ) para almacenar mis credenciales, como siempre he hecho.
var accountStore = AccountStore.Create ();
foreach (var account in accountStore.FindAccountsForService("myAppName"))
accountStore.Delete (account, "myAppName");
AccountStore.Create().Save(acc, "myAppName");
Después de la actualización a iOS 10 recibo este error almacenando credenciales:
"Could not save account to KeyChain: -34018"
at Xamarin.Auth.KeyChainAccountStore.Save (Xamarin.Auth.Account account,System.String serviceId) [0x000b2] in <402cf9b3716845b3bdddef581cb33a3e>:0
Última versión instalada 1.2.3.1 El problema parece persistir solo en el SIMULADOR
Estaba cavando a través del enlace que Pat envió en el comentario: bugzilla.xamarin.com/show_bug.cgi?id=43514
Y encontró un comentario útil de Pavel Sich , dijo:
Solo asegúrese de habilitar el acceso al llavero en Derechos y seleccionar los derechos para las compilaciones del Simulador (Depuración) también. Por defecto esto no está configurado.
En mi solución xamarin, hice doble clic en el proyecto .IOS para abrir el panel de opciones, seleccioné el IOS Bundle Signing y cambié el cuadro de selección Plataforma de "iPhone" a "iPhoneSimulator", luego establecí el campo Derechos personalizados en mis derechos. Ahora está funcionando bien para mí.
Solo una nota, esto es después de editar el Entitlement.plist como lo sugirió Thibault D. en la respuesta anterior.
Espero que esto ayude.