有没有办法限制adhoc或调试iOS版本只在特定的时间范围内运行?

时间:2014-06-10 22:07:59

标签: ios provisioning-profile

对于iOS应用,有没有办法限制特定时间范围内运行的adhoc或调试版本,或者在需要时撤消其使用?是否有可能使我们想要的特定设备无法运行应用程序?

1 个答案:

答案 0 :(得分:1)

供应配置文件在一年后过期。您可以撤消配置文件后面的私钥,但这会禁用所有用户为该密钥签名的所有应用。你无法做到这一点或特定用户。

在您应用的源代码中,您可以执行以下操作:

if (askServerIfUserIsBlocked()) {
  alert("You can no longer use this app.");
  exit(0);
}

这在测试版中相当常见,例如,如果有更新的测试版可用于测试,则可能会强制所有用户进行更新。无法从应用程序中唯一标识每个测试人员,Apple不允许应用程序访问个人信息。但是,您可以随时要求用户在他们第一次启动应用程序时输入他们的姓名或电子邮件地址,并检查服务器是否允许他们使用它。

但是,如果你想要绝对的安全,不,这是不可能的。任何拥有应用副本的用户都可以对其进行修改。

如果撤销配置证书,则可以使用其他开发人员证书对其进行签名。如果有一些代码在启动中途终止应用程序,则可以修改二进制文件以将|| false添加到if语句中。

一旦软件在其他人控制的设备上运行,您就不再能够控制他们对您的应用程序执行的操作。

编辑:

此外,Apple在上周的WWDC上对adhoc / debug部署进行了许多改进。我还没有查看会话视频,但你应该。可能有新的选择。