【问题标题】:How to identify an Enterprise (corporate) iOS device from an app?如何从应用程序中识别企业(企业)iOS 设备?
【发布时间】:2013-03-19 13:35:14
【问题描述】:

我正在开发一些应用程序,以便通过企业计划在公司 iPad 上分发(因此我/公司可以完全控制它们)。在公司拥有的设备的上下文中,如果有一种方法来识别运行应用程序的设备,那么“正确”是什么?

此处推荐的 CFUUIDCreate UIDevice uniqueIdentifier Deprecated - What To Do Now? 不起作用,因为多个应用程序的 id 必须相同。

现在How can I programmatically get the MAC address of an iphone 看起来是最好的方法,但我对 Apple 的东西很陌生,想知道是否有更好的方法。

iPad 是用于仓库使用的,识别设备是为了识别 iPad 分配到哪个仓库。

【问题讨论】:

    标签: ios objective-c enterprise


    【解决方案1】:

    我们在我们的项目中使用 OpenUDID 作为持久性跨应用标识符作为已弃用 UDID 的直接替代品。

    用法:

    #include "OpenUDID.h"
    NSString* openUDID = [OpenUDID value];
    

    【讨论】:

    • 看起来好得令人难以置信:D 我会试试看它是如何工作的。
    【解决方案2】:

    我也运行一个企业程序,你是对的,Apple 提供的新 UUID 部分没有用。它们不仅在应用之间不一样,而且如果用户删除并重新下载您的企业应用,它们也不相同。

    由于您不是通过 App Store 分发的,因此您不会因为使用 [UIDevice uniqueIdentifier] 而被关闭,并且它今天仍然可以在 iOS 中使用。我亲自发送了那个和 MAC 地址,并祈祷这将在未来的版本中继续工作。 Apple 将来可能会开始为 UUID 返回 @"" 或其他一些空字符串,因此请做好准备。

    【讨论】:

    • 很高兴知道如果您不需要提交到应用商店,[UIDevice uniqueIdentifier] 仍然有效。我将按照其他答案中的建议尝试使用 OpenUDID 作为备份:)
    • 供应商 id 将在应用程序中相同,但在设备中不同。
    • 在最新的iOS7 SDK中,mac地址将无法使用。当您调用系统时,它们将在所有设备上返回相同的地址(02:00:00:00:00:00)
    【解决方案3】:

    在 iOS7(测试版)中,UIDevice uniqueIdentifier 现在的行为类似于 identifierForVendor。即每个应用程序的 ID 会有所不同,并且在重新安装应用程序时也会重置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      相关资源
      最近更新 更多