ios 应用加密,设置时间期限

268 阅读2分钟

在开发外包的公司是否担心别人不找你你维护,别担心。给你开发的应用添加一个期限,到期限就弹提示框。 思路: 获取当前时间戳和期限时间戳,比较,如果超过期限则弹出提示框。

//这个是设置开始计算时间
   NSString *a = @"2016-7-10 00:00:00";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    NSDate* result = [formatter dateFromString:a];
//调用
    [self compareDate:result];

下面试调用方法

-(void)compareDate:(NSDate *)startdate{
    //60天后时间
    NSTimeInterval secondsPerMonth = 2*30*24 * 60 * 60;
    NSDate *today = [[NSDate alloc] init];
    NSDate *tomorrow, *yesterday;
    //   NSLog(@"startdate1=======%@,------------",startdate);
    //date
    //开始时间加上60天
    startdate =[startdate dateByAddingTimeInterval:secondsPerMonth];
    //    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    //     NSLog(@"startdate2=======%@,------------",startdate);
    NSTimeInterval limitTime =[startdate timeIntervalSince1970]*1000;
    
    //开始时间
    
    NSString *timeString = [NSString stringWithFormat:@"%f", limitTime];
    
    
    //明天,期限
    //    tomorrow = [today dateByAddingTimeInterval: secondsPerMonth];
    //   当前时间
    NSTimeInterval nowTime=[today timeIntervalSince1970]*1000;
//    NSLog(@"a=======%f,------------b========%f",a,nowTime);
    
    if (nowTime>limitTime) {
        NSLog(@"nowTime>limitTimeb");
        //        如果但前时间超过limitTimeb的期限,则提示
        [self quitApp];
    }

}

弹出框

-(void)quitApp {
    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"警告" message:@"该程序未授权,可能存在潜在安全隐患,请联系开发商解决" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
 
    //    UIAlertController    
    [alert show];
   //如果狠一点,在点击确定或取消的退出程序
  //这要实现代理方法,获取点击的按钮下表是多少
}

需要实现点事件实现这个方法就可以了

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;

有人问,把那句代码注释掉不就破解了嘛? 这样都被你发现,不会打包成静态库啊! 将上面代码绑定多个类,一起打包成静态库,到时候代码都封装起来请问你怎么改?