Titanium.Platform.id包含适用于Android和iOS的UUID或UDID?

时间:2016-01-29 12:41:38

标签: android ios appcelerator appcelerator-titanium

根据appcelerator的文档:

Titanium.Platform.id : StringREADONLY
Applications's globally-unique ID (UUID).

On Android, this may be the UDID (unique device ID). For iOS, this is a unique identifier for this install of the application.

Previously on iOS this may have been a UDID, but access to this has been restricted by Apple.

在Android上它会返回UDID或任何其他唯一标识符,因为文档说它可能是UDID。

与iOS一样,只有UUID可用,它与以下任何一个CFUUID,NSUUID或供应商标识符相同。

2 个答案:

答案 0 :(得分:3)

对于Android Ti.Platform.id使用TiPlatformHelper.getInstance().getMobileId(),它继承自Appcelerator Analytics的封闭源APSAnalyticsHelper帮助程序。我无法共享源代码,但它基本上是我们生成的UUID并存储在持久的sqlite DB中。

对于iOS,它使用TiUtils.appIdentifier,它基本上完全相同。

所以,回答你的问题:两者都使用生成的和持久存储的UUID。只是UUID的格式在两个平台上都是不同的。

答案 1 :(得分:1)

我记录了Ti.Platform.id,我得到的结果如下

Selenium

虽然你应该明白这一点,但我已经修改了部分ID。

在他们的源代码中我只能找到这个:

titanium_mobile /机器人/模块/平台/ SRC / JAVA / TI /模块/钛/平台/ PlatformModule.java

|Ti.Platform.id | Username | Login | Ti.Platform.name - Ti.Platform.version | Ti.Platform.manufacturer + " - " + Ti.Platform.model;

| Platform ID                          | User   | Login | OS                | Device          |
|--------------------------------------|--------|-------|-------------------|-----------------|
| 538B1B72-FFFF-FFFF-FFFF-192A09BEF0CB | demoiOS| 1     | iPhone OS - 8.1.2 | apple - iPad3,4 |
| bb6bffffd1695d0d                     | demo   | 1     | android - 4.4.4   | Sony - D6503    |

哪个是java钩子,但是我找不到TiPlatformHelper给你确切的答案

您可能想检查此代码,但我找不到正确的方法 Titanium GitHub project link