我的客户发票很晚,并承诺给我发一张支票,但他们需要一个新的Ad Hoc版本的应用,因为配置文件已过期。我想进行新的构建,但为Ad Hoc配置文件设置较短的过期限制,或者如果他们不付款,则可以撤销该配置文件。
是否可以让Ad Hoc配置文件比90天默认值更早到期,或者,撤销配置文件是否会禁用Ad Hoc构建?
答案 0 :(得分:4)
如何将呼叫作为第二次身份验证插入服务器...如果文件包含“是”,如果保持“是”,则应用程序将运行配置文件的生命周期。如果由于未付款而将其更改为“否”(或任何非'''),请推送一些没有解雇能力的模态视图。 (但是,根据应用程序的其他功能,我会考虑翻转是/否...例如,如果他们进入飞行模式,那么实际上无法达到是,它会显示块,所以你可能想让它只显示块,如果它能得到'不'......所以如果他们去飞机他们就能打败它,但也许这会禁用应用程序的其他部分...所以它根据应用程序的功能打电话给你。
(然后在付款后的后续版本中删除此功能)
答案 1 :(得分:1)
你做不到。但是你可以在你的应用程序中添加代码,以便每次启动时检查一个网站,或者来自后台,这将告诉它是否继续。
答案 2 :(得分:0)
我使用他的代码。如果用户更改其设备的日期,这将无效,但如果他没有,那就行了(注意我使用法国日期样式,你可能需要改变它):
/***** Time bombing code to get a demo that only works for a certain period of time *****/
-(BOOL) isDateDeprecated {
return NO;
BOOL deprecated = NO;
// Get today date
// NSDate* today = [NSDate date];
// Get limit date date
NSDateFormatter* frDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[frDateFormatter setDateFormat:@"dd:MM:yyyy"];
NSLocale *frLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"fr_FR"] autorelease];
[frDateFormatter setLocale:frLocale];
NSString* LIMIT_DATE_STRING = @"26:06:2011";
NSDate* limitDate = [frDateFormatter dateFromString:LIMIT_DATE_STRING];
NSLog (@"Limit value %f %@", [limitDate timeIntervalSinceNow], limitDate);
if ([limitDate timeIntervalSinceNow] < 0) {
deprecated = YES;
}
return deprecated;
}
-(void) displayNoLaunchingScreen {
NoLaunchingScreen* noLaunchingViewController = [[[NoLaunchingScreen alloc] initWithNibName:@"NoLaunchingScreen" bundle:nil] autorelease];
[window addSubview:noLaunchingViewController.view];
}
您只需在应用程序启动或重新启动时检查isDateDepcrated,如果为true,则启动displayNoLaunchingScreen。