2012-07-09 76 views
0

亲爱的StackOverflow社区,企业iOS应用 - 如何动态地跟踪UDID的

我有了我们的组织/网络中跟踪所有的iPad设备的UDID的企业应用程序。目前,我们共有9个使用wifi连接的ipad设备。跟踪UDID的目的是为了分析目的从我们每个个人ipad中检索用户数据。

截至目前,我们必须在XCode中构建IPA文件之前手动输入每个UDID,但我们发现这很麻烦,并且想知道是否有解决方案来为未来的iPad设备输入新的UDID而无需每次创建新的IPA。

例如,当我们的网络超出我们的9个ipad设备,并且我们需要添加5个ipad时,我们如何动态输入新的UDID?

有没有一种方法可以通过http调用(或其他方法)动态或以编程方式输入UDID,以便我们不必每次都重新构建一个新的UDID?

感谢和任何帮助,将不胜感激。

+0

解决方案:每个越狱和安装通过installous。没有其他办法。 – 2012-07-09 17:32:06

+1

......不,情况并非如此。您可以使用企业分发工具。对于非常大的(1,000个设备+)公司来说,每当你想添加一个设备时,重建二进制文件都会很疯狂。 – lxt 2012-07-09 19:25:02

+0

@lxt在实践中如何做到这一点?该二进制文件是否需要使用所有设备的配置文件进行签名?应用程序如何启用在新设备上运行?我无法找到这方面的信息。 – geon 2012-07-10 10:29:40

回答

1

看来你有两个问题:

  • 我可以从我的应用程序访问UDID?
  • 我真的必须将每个UDID添加到配置文件吗?

从应用访问UDID(用于分析或其他)只是做

NSString *udid = [[UIDevice currentDevice] uniqueIdentifier]; 

这种方法是从iOS 5的贬值,但它应该仍然工作。推荐的解决方案是自己生成一个唯一的ID,然后使用它。从问题描述中不清楚您是否真的需要UDID,或者只有任何ID。

我不知道是否可以在没有配置文件的情况下部署每个UDID的应用程序,但我对此表示怀疑。有一些工具可以提供帮助,如UDID Sender。您也可以从iTunes复制粘贴UDID。

3

关于你的第二点 - “我真的必须将每个UDID添加到配置文件并重新生成IPA吗?” - 不,幸运的是你没有。

如果您发现9台设备足够坚硬,想象拥有数百台设备的公司如果每次新设备出现时都必须重新构建应用程序,他们会感觉如何?

但是,您需要使用Apple的企业部署过程,而不是您可能习惯的标准部署过程。要做到这一点,您首先需要一个企业开发账户,这与大多数人会得到的99美元开发者账户不同(对于初学者来说,花费更多,而且还需要提供一些额外的法律文档)。

你可以在这里找到更多关于它的信息:https://developer.apple.com/programs/ios/enterprise/

+0

感谢@lxt的信息。我有一个企业帐户。我已阅读资源中的分发文档(http://manuals.info.apple.com/en_US/Enterprise_Deployment_Guide.pdf),它似乎没有引用任何方法来为新装置添加新的UDID配置文件,而无需重新分配IPA,同时将新的UDID分配给供应,并为我添加到网络中的每个新ipad重新安装IPA。有没有一种方法可以在其中添加新的UDID配置文件,以便我不必像您所描述的那样再次执行流程?因为它对你来说似乎很明显。 – keuminotti 2012-07-11 00:48:48

+0

您不需要添加UDID,而是将分发配置文件(基本上是证书)安装到设备上,并且该配置文件允许您下载应用程序。所以没有与设备关联的UDID。这之前的SO问题有一些更多的信息:http://stackoverflow.com/questions/3251291/does-an-iphone-enterprise-provisioning-profile-need-to-specify-phone-uuids-like – lxt 2012-07-11 08:51:46

0

我认为问题的至少一部分可以用Testflight迎刃而解 - 它是免费的,并允许你注册的飞行装置。 一旦用户添加新设备,您将收到一封包含设备UDID的电子邮件。 您仍然必须在iTunes配置门户上手动添加UDID并重新生成配置文件。

祝你好运!