EDIT:
Xamarin.Insights fourniront exception des rapports de votre projet de base sans une référence explicite, mais si vous faites des Insights explicites rapports appels dans le projet de base, vous laisserez seul cette référence .
Insights a bien changé il y a quelques temps pour avoir une initialisation spécifique à la plate-forme, comme l'indique l'erreur.
Si vous ajoutez une référence à vos projets Xamarin.iOS et Xamarin.Android, les choses devraient fonctionner comme avant, une fois que vous avez déplacé l'initialisation de Insights dans chaque démarrage spécifique à la plate-forme.
Voici une classe App d'un projet Xamarin.iOS qui montre l'initialisation de Xamarin.Insights:
public class App
{
private static void Main(string[] args)
{
// Initialize metrics and crash tracking.
Xamarin.Insights.Initialize(Forms.App.XamarinInsightsApiKey);
// Launch UI.
UIApplication.Main(args, null, "AppDelegate");
}
}
Et la version Xamarin.Android:
[Application]
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
{
#region Constructors
public MainApplication(IntPtr handle, JniHandleOwnership transer)
:base(handle, transer)
{
// Do not remove this work-around for a Xamarin linker issue related to SSL/TLS certificate trust. This line of
// code prevents the linker from stripping out AES capabilities needed but not obvious because they are accessed
// via reflection. Issue https://bugzilla.xamarin.com/show_bug.cgi?id=13998.
// ReSharper disable once UnusedVariable
var b = new System.Security.Cryptography.AesCryptoServiceProvider();
NotificationToken = null;
}
#endregion Constructors
#region Methods
public override void OnCreate()
{
base.OnCreate();
RegisterActivityLifecycleCallbacks(this);
// Initialize metrics and crash tracking.
Xamarin.Insights.Initialize(Forms.App.XamarinInsightsApiKey, ApplicationContext);
}
Vous n'avez pas besoin d'enlever à partir de votre projet Core (comme vous pouvez toujours le signaler à partir de votre cœur). Vous avez juste besoin de faire l'initialisation dans les projets spécifiques à la plate-forme. – Johan
@Johan Bon point! J'ai pris cela à partir d'une application où nous n'utilisons pas explicitement Insights. Je vais éditer ma réponse, merci pour le commentaire. –
Merci pour la réponse complète - cependant, j'essaie définitivement de faire fonctionner les Insights à partir d'une bibliothèque spécifique à iOS, et non dans une bibliothèque PCL (ou même un projet partagé). Semble être seulement un problème avec le dernier paquet 1.12.3 (fonctionnait avant que je mis à jour). Bizarrement, il existe une autre version (plus ancienne) de Xamarin.Insights disponible via le gestionnaire de paquets NuGet, 1.8.3, qui fonctionne très bien. –