如何使用C#在Windows上读取已连接iOS设备的UDID?

时间:2015-08-18 12:05:58

标签: c# ios windows visual-studio udid

您能否建议如何在Windows上使用C#获取已连接iOS设备的UDID?我试图在谷歌搜索,但没有找到任何东西。这有什么方法或解决方法吗?也许任何开源库或其他东西?

请建议。

提前致谢。

1 个答案:

答案 0 :(得分:1)

问题是,自IOS 7以来,UDID已被锁定,您不应在代码中访问此ID。有一些方法可以通过隐藏的后台网页提取ID,但这只有在您不打算在iTunes商店中销售应用程序时才有效,因为您的应用程序将被拒绝。

2013年,Mattt在他的博客NSHipster(http://nshipster.com/uuid-udid-unique-identifier/)上写道:

  

截至5月1日,Apple开始对所有新应用程序实施此弃用   提交,即使是针对早期版本iOS的应用也是如此。任何用途   uniqueIdentifier是立即拒绝新的理由   二进制文件。

(如果您希望获得更详细的解释,请阅读Mattt博客文章的其余内容,了解此更改的细节)

你能做些什么?没有。但是,如果你需要一个ID来做任何你想做的事情,那么你有两个选择:

<强> identifierForVendor

此处:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/identifierForVendor

  

此属性的值对于来自的应用程序是相同的   在同一设备上运行的同一供应商。返回不同的值   对于来自不同供应商的同一设备上的应用程序,以及   不论供应商如何,都可以在不同的设备上使用。

     

通常,供应商由App Store提供的数据确定。   如果未从应用商店(例如企业版)安装该应用   应用程序和应用程序仍在开发中,然后是供应商标识符   根据应用程序的包ID计算。假设包ID   是反向DNS格式。

<强> advertisingIdentifier

此处:https://developer.apple.com/library/ios/documentation/AdSupport/Reference/ASIdentifierManager_Ref/index.html#//apple_ref/occ/instp/ASIdentifierManager/advertisingIdentifier

  

与UIDevice的identifierForVendor属性不同,相同   值返回给所有供应商。此标识符可能会更改   例如,如果用户删除了设备,那么就不应该缓存它。

     

如果值为nil,请稍后再次获取该值。有时候是这样的,   例如,在设备重新启动之后但在用户之前   已解锁设备。