2

根据 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 或供应商标识符中的任何一个相同。

4

2 回答 2

3

对于它从Appcelerator Analytics 的封闭源帮助程序继承的AndroidTi.Platform.id用途。我无法分享源代码,但它基本上是我们生成并存储在持久性 sqlite 数据库中的 UUID。TiPlatformHelper.getInstance().getMobileId()APSAnalyticsHelper

对于 iOS,它使用TiUtils.appIdentifier,它基本上做同样的事情。

因此,要回答您的问题:两者都使用生成并持久存储的 UUID。只是 UUID 的格式在两个平台上不同。

于 2016-02-01T14:11:33.130 回答
1

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

|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    |

尽管您应该明白这一点,但我已经编辑了部分 ID。

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

Titan_mobile/android/modules/platform/src/java/ti/modules/titanium/platform/PlatformModule.java

@Kroll.method
    public String createUUID() {
        return TiPlatformHelper.getInstance().createUUID();
    }

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

您可能想检查此代码,但我找不到正确的方法 Titanium GitHub 项目链接

于 2016-01-29T15:18:45.293 回答