iOS:Ad Hoc Distribution有效期

时间:2017-08-02 16:57:47

标签: ios ad-hoc-distribution

是否有任何方法可以在编译期间设置一个特定日期,即使用ad-hoc分发编写的应用程序是否会过期,并且以后不能再运行?

4 个答案:

答案 0 :(得分:0)

只是您无法对包含编译或运行时的配置文件执行任何操作。这只是iOS应用程序的手动内容。您需要根据您的要求进行安排,例如何时使用开发以及何时进行临时或分发。编译器不包含有关配置文件的任何知识。

答案 1 :(得分:0)

编译器没有"知道"关于用于创建和签署二进制文件的配置文件。这是构建过程中的一个步骤。

您可以做的最好的事情是撤销临时分发证书(而非个人资料)。

答案 2 :(得分:0)

配置文件和证书不会以这种方式工作..如果您需要限制对应用的访问,则必须按代码进行操作。

请注意,越狱设备可能会绕过您的验证。 此外,如果您使用设备日期来限制访问权限,已更改设备小时和日期的用户将能够访问。

答案 3 :(得分:0)

我发现有用的简单解决方法。 对您的到期日期进行硬编码,并在每次加载应用时将其与当前日期进行比较:

NSDate* todaysDate = [NSDate Date];
NSDate* expirationDate = [NSDate dateFromString: expirationStr];

if([todaysDate laterDate:expirationDate] == todaysDate){
    [self performSegueWithIdentifier:@"segueToExpirationVC" sender:self];
}

在我的initialViewController的viewDidLoad中,我检查当前日期是否超过了我为应用设置的“过期日期”。如果是,那么我对一个视图控制器执行一个segue,没有按钮从VC中移出。在此ViewController上,您可以显示“此应用程序的测试版已过期”的消息。我经常会对这个ViewController进行调查,向我的测试人员询问他们使用该应用程序的经验。

这有效地使应用程序无法使用,因为在您设置的到期日期,它将转换为无法离开的视图控制器。

注意:如果满足相同的日期比较条件,您可以通过以编程方式更改初始视图控制器来执行类似操作。