我一直在尝试创建一个 UWP 类库,让我可以访问 Windows 10 的本机功能,例如 Windows.Security.Authentication.OnlineId。我想从设备中获取用户名和 ID,以便在 Unity UWP IL2CPP 项目中使用。我目前能够使用 Unity 为 ios 内置的社交类来做到这一点,并且谷歌编写的代码允许它与同一类无缝工作,但适用于 android 的 Google Play 游戏。
我已经从 github ( https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/WebAccountManagement ) 下载了一个示例,该示例演示了如何在 UWP 应用程序中调用相关的类和函数并且运行良好但示例似乎正在访问“Windows.Foundation.UniversalApiContract”类中的类。
我似乎找不到将其添加到基本 UWP 类库的方法,因此我可以调用所需的类,例如 Windows::Security::Credentials::WebAccountProvider。
我能做的最好的事情是在类库中创建一个基本函数,它返回一个小的硬编码字符串,只是为了测试这个概念是否远程可行。:-
extern "C" __declspec(dllexport) wchar_t* __stdcall GetMyString()
{
wchar_t* myString = L"Guuuper";
auto resultBufferLength = wcslen(myString) + 1;
wchar_t* result = static_cast<wchar_t*>(CoTaskMemAlloc(resultBufferLength * sizeof(wchar_t)));
wcscpy_s(result, resultBufferLength, myString);
return result;
}
我尝试这样做的整个过程可以在这里找到:- http://forum.unity3d.com/threads/returning-c-string-to-il2cpp-windows-store-project.395284/
我已经能够通过 UWP 构建从统一内部成功调用此代码,但我的主要问题是如何添加适当的引用或如何创建此类库以访问 WebAccountProvider 类?
任何帮助将非常感激
更新:我已经在他们自己的网站上向 MS 团队询问了这个挑战,他们似乎正在寻找解决方案。