CYC- IOS 常用的一些小东西

获取时间差,(几天前,几小时前,几分钟前)

    + (NSString *) getTimeDiffString:(NSTimeInterval) timestamp  
    {  

        NSCalendar *cal = [NSCalendar currentCalendar];  
        NSDate *todate = [NSDate dateWithTimeIntervalSince1970:timestamp];  
        NSDate *today = [NSDate date];//当前时间  
        unsigned int unitFlag = NSDayCalendarUnit | NSHourCalendarUnit |NSMinuteCalendarUnit;  
        NSDateComponents *gap = [cal components:unitFlag fromDate:today toDate:todate options:0];//计算时间差  

        if (ABS([gap day]) > 0)  
        {  
            return [NSString stringWithFormat:@"%d天前", ABS([gap day])];  
        }else if(ABS([gap hour]) > 0)  
        {  
            return [NSString stringWithFormat:@"%d小时前", ABS([gap hour])];  
        }else   
        {  
            return [NSString stringWithFormat:@"%d分钟前",  ABS([gap minute])];  
        }  
    }  

获取本月,本周,本季度第一天的时间戳

    + (unsigned long long)getFirstDayOfWeek:(unsigned long long)timestamp  
    {  
        NSDate *now = [NSDate dateWithTimeIntervalSince1970:timestamp];  
        NSCalendar *cale = [NSCalendar currentCalendar];  
        NSDateComponents *comps = [cale components:NSYearCalendarUnit| NSMonthCalendarUnit| NSWeekCalendarUnit | NSWeekdayCalendarUnit |NSWeekdayOrdinalCalendarUnit fromDate:now];  
        if (comps.weekday <2)  
        {  
            comps.week = comps.week-1;  
        }  
        comps.weekday = 2;  
        NSDate *firstDay = [cale dateFromComponents:comps];  
        return [firstDay timeIntervalSince1970];  
    }  

    + (unsigned long long)getFirstDayOfQuarter:(unsigned long long)timestamp  
    {  
        NSDate *now = [NSDate dateWithTimeIntervalSince1970:timestamp];  
        NSCalendar *cale = [NSCalendar currentCalendar];  
        NSDateComponents *comps = [cale components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:now];  
        if (comps.month <=3)  
        {  
            comps.month =  1;  
        }  
        else if(comps.month<=6)  
        {  
            comps.month =  4;  
        }  
        else if(comps.month<=9)  
        {  
            comps.month =  7;  
        }  
        else if(comps.month<=12)  
        {  
            comps.month =  10;  
        }  

        comps.day = 1;  
        NSDate *firstDay = [cale dateFromComponents:comps];  
        return [firstDay timeIntervalSince1970]*1000;  
    }  

    + (unsigned long long)getFirstDayOfMonth:(unsigned long long)timestamp  
    {  
        NSDate *now = [NSDate dateWithTimeIntervalSince1970:timestamp/1000];  
        NSCalendar *cale = [NSCalendar currentCalendar];  
        NSDateComponents *comps = [cale  components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit  fromDate:now];  
        comps.day = 1;  
        NSDate *firstDay = [cale dateFromComponents:comps];  
        return [firstDay timeIntervalSince1970]*1000;  
    }  

添加推送消息

    - (void)setPushNotification  
    {  
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound];  
    }  


    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {  
        NSLog(@"获取设备的deviceToken: %@", deviceToken);  
    }  

    - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error{  

        NSLog(@"Failed to get token, error: %@", error);  
    }  

判断是否越狱

static const char * __jb_app = NULL;  

+ (BOOL)isJailBroken  
{  
    static const char * __jb_apps[] =  
    {  
        "/Application/Cydia.app",   
        "/Application/limera1n.app",   
        "/Application/greenpois0n.app",   
        "/Application/blackra1n.app",  
        "/Application/blacksn0w.app",  
        "/Application/redsn0w.app",  
        NULL  
    };  

    __jb_app = NULL;  

    // method 1  
    for ( int i = 0; __jb_apps[i]; ++i )  
    {  
        if ( [[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithUTF8String:__jb_apps[i]]] )  
        {  
            __jb_app = __jb_apps[i];  
            return YES;  
        }  
    }  

    // method 2  
    if ( [[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt/"] )  
    {  
        return YES;  
    }  

    // method 3  
    if ( 0 == system("ls") )  
    {  
        return YES;  
    }  

    return NO;    
}  

+ (NSString *)jailBreaker  
{  
    if ( __jb_app )  
    {  
        return [NSString stringWithUTF8String:__jb_app];  
    }  
    else  
    {  
        return @"";  
    }  
} 

屏幕截图并保存到相册

    + (UIImage*)saveImageFromView:(UIView*)view  
    {  
        UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, view.layer.contentsScale);  
        [view.layer renderInContext:UIGraphicsGetCurrentContext()];  
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();  
        UIGraphicsEndImageContext();  
        return image;  
    }  

    + (void)savePhotosAlbum:(UIImage *)image  
    {  
        UIImageWriteToSavedPhotosAlbum(image, self, @selector(imageSavedToPhotosAlbum: didFinishSavingWithError: contextInfo:), nil);   
    }  

    + (void)saveImageFromToPhotosAlbum:(UIView*)view  
    {  
        UIImage *image = [self saveImageFromView:view];  
        [self savePhotosAlbum:image];  
    }  

    - (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *) contextInfo  
    {  
        NSString *message;  
        NSString *title;  
        if (!error) {  
            title = @"成功提示";  
            message = @"成功保存到相";  
        } else {  
            title = @"失败提示";  
            message = [error description];  
        }  
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title  
                                                        message:message  
                                                       delegate:nil  
                                              cancelButtonTitle:@"知道了"  
                                              otherButtonTitles:nil];  
        [alert show];  
        [alert release];  
    }  

获取本地的语言

+ (NSString *)getLocalLanguage  
{  
    NSString *language = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0];  
    return language;  
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值