我正在使用Xamarin表单,我需要来自iOS设备的设备Id。当删除并重新安装应用程序时,这一点会发生变化。我需要设备的常量设备Id。
我被告知我可以在Xamarin forms iOS中使用DeviceCheck.DCDevice。这将通过Apple生成一个标识设备的令牌。有没有我可以学习的代码示例来实现这一点?使用DCDevice.GenerateToken...C# iOS
发布于 2019-01-17 15:14:46
在Xamarin forms iOS中使用DeviceCheck.DCDevice。
if (DCDevice.CurrentDevice.Supported)
{
DCDeviceGenerateTokenCompletionHandler handler = (NSData token, NSError error) =>
{
// Upload token to App server
};
DCDevice.CurrentDevice.GenerateToken(handler);
} 要在Xamarin.iOS中使用DeviceCheck.DCDevice,据我所知,DeviceCheck不会给出像IdentifierForVendor或UUId这样的设备ID,它不会改变,并且总是代表该设备。请注意,只有iOS 11以上的版本才能使用DeviceCheck。
您的应用程序使用DeviceCheck API生成用于标识设备的临时令牌。您的关联服务器将此令牌与您从Apple收到的身份验证密钥组合在一起,并使用结果请求访问每个设备的位。
我认为使用DeviceCheck.DCDevice识别设备的方式取决于你的应用程序的业务逻辑。
您可以阅读这篇文章(devicecheck-tutorial),以更好地了解DeviceCheck真正在做什么,然后满足您的需求。
这里还有一个你可以参考的swift示例:DeviceCheckSample
苹果文档:devicecheck
我正在使用Xamarin表单,我需要来自iOS设备的设备Id。我需要设备的常量设备Id。
您还可以选择其他几个选项:
Keychain中,它可能会在应用程序删除/重新安装过程中保留下来。发布于 2019-01-16 21:12:23
由于您使用的是Xamarin.Forms,因此需要使用DependencyService。
下面是操作步骤:
首先在窗体项目中声明一个接口
public interface IDeviceInfo {
string GetDeviceId ( ); //note that interface members are public by default
}然后,在iOS项目中,
[assembly: Dependency (typeof (DeviceInfoiOS))]
namespace YourNameSpace.iOS
{
public class DeviceInfoiOS : IDeviceInfo
{
public string GetDeviceId ()
{
return UIDevice.CurrentDevice.IdentifierForVendor.AsString();
}
}用法:
DependencyService.Get<IDeviceInfo>().GetDeviceId();https://stackoverflow.com/questions/54212000
复制相似问题