Xamarin UWP - 如果编译为Release,列表联系人不起作用

时间:2017-09-06 14:08:52

标签: uwp contacts xamarin.uwp

我遇到了一个非常有趣的UWP" bug"。

我使用的是Xamarin.Forms 2.3.3.193,我需要列出设备中的联系人。 在UWP项目中,如果它在Debug中编译,一切正常,但如果它在Release中编译(当然Android和iOS工作正常),它就不再起作用。

这些是列出联系人的UWP服务的2行代码:

        ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AllContactsReadOnly);
        IReadOnlyList<Contact> contacts = await store.FindContactsAsync();

FindContactsAsync()方法在调试时返回列表,但在发布时返回null。

我还使用了James Montemagno的Xamarin.Plugin.Contacts,但遭遇了同样的命运。

此外,我尝试了提供here的解决方案而没有任何运气。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用Compile with .NET Native tool chain时可能会出现这种情况,这是属性&gt;中UWP应用的一个选项。构建&gt;项目的常规窗口。

尝试取消选中此选项。

您尝试do this,但它不适合您。这应该符合this article

尝试更改 UWP项目中的 App.xaml.cs 文件,然后执行以下操作:

// you'll need to add `using System.Reflection;`
List<Assembly> assembliesToInclude = new List<Assembly>();

//Now, add in all the assemblies your app uses
assembliesToInclude.Add(typeof (ContactManager).GetTypeInfo().Assembly);

Xamarin.Forms.Forms.Init(e, assembliesToInclude);
// replaces Xamarin.Forms.Forms.Init(e);