美文网首页
iOS小工具

iOS小工具

作者: 开心的小娇 | 来源:发表于2019-01-21 13:46 被阅读0次

    1.iOS设置屏幕不息屏

    2.开启/关闭闪光灯

    3.压缩图片分辨率

    4.压缩图片尺寸

    5.打开设置中心

    1.iOS设置屏幕不息屏

    [[UIApplication sharedApplication] setIdleTimerDisabled:YES];

    2.开启/关闭闪光灯

    + (void)turnOnOrTurnOffTorch {

        AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

        if([devicehasTorch]) {

            BOOLisTurnOn = device.torchMode==AVCaptureTorchModeOn;

            [devicelockForConfiguration:nil];

            device.torchMode = isTurnOn?AVCaptureTorchModeOff:AVCaptureTorchModeOn;

            [deviceunlockForConfiguration];

        }

    }

    3.获取设备类型

    + (NSString*)deviceType {

        structutsnamesystemInfo;

        uname(&systemInfo);

        NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];

        //  iPhone

        if([platformisEqualToString:@"iPhone1,1"]) return@"iPhone 2G";

        if([platformisEqualToString:@"iPhone1,2"]) return@"iPhone 3G";

        if([platformisEqualToString:@"iPhone2,1"]) return@"iPhone 3GS";

        if([platformisEqualToString:@"iPhone3,1"]) return@"iPhone 4";

        if([platformisEqualToString:@"iPhone3,2"]) return@"iPhone 4";

        if([platformisEqualToString:@"iPhone3,3"]) return@"iPhone 4";

        if([platformisEqualToString:@"iPhone4,1"]) return@"iPhone 4S";

        if([platformisEqualToString:@"iPhone5,1"]) return@"iPhone 5";

        if([platformisEqualToString:@"iPhone5,2"]) return@"iPhone 5";

        if([platformisEqualToString:@"iPhone5,3"]) return@"iPhone 5c";

        if([platformisEqualToString:@"iPhone5,4"]) return@"iPhone 5c";

        if([platformisEqualToString:@"iPhone6,1"]) return@"iPhone 5s";

        if([platformisEqualToString:@"iPhone6,2"]) return@"iPhone 5s";

        if([platformisEqualToString:@"iPhone7,1"]) return@"iPhone 6 Plus";

        if([platformisEqualToString:@"iPhone7,2"]) return@"iPhone 6";

        if([platformisEqualToString:@"iPhone8,1"]) return@"iPhone 6s";

        if([platform isEqualToString:@"iPhone8,2"]) return@"iPhone 6s Plus";

        if([platformisEqualToString:@"iPhone8,4"]) return@"iPhone SE";

        if([platformisEqualToString:@"iPhone9,1"]) return@"iPhone 7";

        if([platformisEqualToString:@"iPhone9,2"]) return@"iPhone 7 Plus";

        if([platformisEqualToString:@"iPhone10,1"]) return@"iPhone 8";

        if([platformisEqualToString:@"iPhone10,4"]) return@"iPhone 8";

        if([platform isEqualToString:@"iPhone10,2"]) return@"iPhone 8 Plus";

        if([platform isEqualToString:@"iPhone10,5"]) return@"iPhone 8 Plus";

        if([platformisEqualToString:@"iPhone10,3"]) return@"iPhone X";

        if([platformisEqualToString:@"iPhone10,6"]) return@"iPhone X";

        if([platformisEqualToString:@"iPhone11,2"]) return@"iPhone XS";

        if([platform isEqualToString:@"iPhone11,4"]) return@"iPhone XS Max";

        if([platform isEqualToString:@"iPhone11,6"]) return@"iPhone XS Max";

        if([platformisEqualToString:@"iPhone11,8"]) return@"iPhone XR";

        //  iPod Touch

        if([platformisEqualToString:@"iPod1,1"]) return@"iPod Touch";

        if([platformisEqualToString:@"iPod2,1"]) return@"iPod Touch 2G";

        if([platformisEqualToString:@"iPod3,1"]) return@"iPod Touch 3G";

        if([platformisEqualToString:@"iPod4,1"]) return@"iPod Touch 4G";

        if([platformisEqualToString:@"iPod5,1"]) return@"iPod Touch 5G";

        if([platformisEqualToString:@"iPod7,1"]) return@"iPod Touch 6G";

        //  iPad

        if([platformisEqualToString:@"iPad1,1"]) return@"iPad 1G";

        if([platformisEqualToString:@"iPad2,1"]) return@"iPad 2";

        if([platformisEqualToString:@"iPad2,2"]) return@"iPad 2";

        if([platformisEqualToString:@"iPad2,3"]) return@"iPad 2";

        if([platformisEqualToString:@"iPad2,4"]) return@"iPad 2";

        if([platformisEqualToString:@"iPad2,5"]) return@"iPad Mini 1G";

        if([platformisEqualToString:@"iPad2,6"]) return@"iPad Mini 1G";

        if([platformisEqualToString:@"iPad2,7"]) return@"iPad Mini 1G";

        if([platformisEqualToString:@"iPad3,1"]) return@"iPad 3";

        if([platformisEqualToString:@"iPad3,2"]) return@"iPad 3";

        if([platformisEqualToString:@"iPad3,3"]) return@"iPad 3";

        if([platformisEqualToString:@"iPad3,4"]) return@"iPad 4";

        if([platformisEqualToString:@"iPad3,5"]) return@"iPad 4";

        if([platformisEqualToString:@"iPad3,6"]) return@"iPad 4";

        if([platformisEqualToString:@"iPad4,1"]) return@"iPad Air";

        if([platformisEqualToString:@"iPad4,2"]) return@"iPad Air";

        if([platformisEqualToString:@"iPad4,3"]) return@"iPad Air";

        if([platformisEqualToString:@"iPad4,4"]) return@"iPad Mini 2G";

        if([platformisEqualToString:@"iPad4,5"]) return@"iPad Mini 2G";

        if([platformisEqualToString:@"iPad4,6"]) return@"iPad Mini 2G";

        if([platformisEqualToString:@"iPad4,7"]) return@"iPad Mini 3";

        if([platformisEqualToString:@"iPad4,8"]) return@"iPad Mini 3";

        if([platformisEqualToString:@"iPad4,9"]) return@"iPad Mini 3";

        if([platformisEqualToString:@"iPad5,1"]) return@"iPad Mini 4";

        if([platformisEqualToString:@"iPad5,2"]) return@"iPad Mini 4";

        if([platformisEqualToString:@"iPad5,3"]) return@"iPad Air 2";

        if([platformisEqualToString:@"iPad5,4"]) return@"iPad Air 2";

        if([platformisEqualToString:@"iPad6,3"]) return@"iPad Pro 9.7";

        if([platformisEqualToString:@"iPad6,4"]) return@"iPad Pro 9.7";

        if([platformisEqualToString:@"iPad6,7"]) return@"iPad Pro 12.9";

        if([platformisEqualToString:@"iPad6,8"]) return@"iPad Pro 12.9";

        if([platform isEqualToString:@"i386"]) return@"iPhone Simulator i386";

        if([platform isEqualToString:@"x86_64"]) return@"iPhone Simulator x86_64";

        returnplatform;

    }

    3.压缩图片分辨率

    + (NSData*)compressQuality:(UIImage*)image maxLength:(NSUInteger)maxLength {

        CGFloatcompression =1;

        NSData*data =UIImageJPEGRepresentation(image, compression);

        if(data.length< maxLength) {

            returndata;

        }

        CGFloatmax =1;

        CGFloatmin =0;

        for(inti =0; i <6; ++i) {

            compression = (max + min) /2;

            data =UIImageJPEGRepresentation(image, compression);

            if(data.length< maxLength *0.9) {

                min = compression;

            }elseif(data.length> maxLength) {

                max = compression;

            }else{

                break;

            }

        }

        if(data.length> maxLength) {

            data = [selfcompressBySize:[UIImageimageWithData:data]maxLength:maxLength];

        }

        returndata;

    }

    4.压缩图片尺寸

    + (NSData*)compressBySize:(UIImage*)image maxLength:(NSUInteger)maxLength {

        UIImage*resultImage = image;

        NSData *data = UIImageJPEGRepresentation(resultImage, 1);

        NSUIntegerlastDataLength =0;

        while(data.length> maxLength && data.length!= lastDataLength) {

            lastDataLength = data.length;

            CGFloatratio = (CGFloat)maxLength / data.length;

            CGSizesize =CGSizeMake((NSUInteger)(resultImage.size.width*sqrtf(ratio)),

                                     (NSUInteger)(resultImage.size.height*sqrtf(ratio)));

            UIGraphicsBeginImageContext(size);

            [resultImagedrawInRect:CGRectMake(0,0, size.width, size.height)];

            resultImage =UIGraphicsGetImageFromCurrentImageContext();

            UIGraphicsEndImageContext();

            data =UIImageJPEGRepresentation(resultImage,1);

        }

        returndata;

    }

    5.打开设置中心

    + (void)openSetting {

        NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

        [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];

    }

    大家什么需要的,可以留言哦,我会尽快添加上的。

    相关文章

      网友评论

          本文标题:iOS小工具

          本文链接:https://www.haomeiwen.com/subject/qxrcjqtx.html