美文网首页iOS
iOS开发中可能用到的系统相关的小知识点

iOS开发中可能用到的系统相关的小知识点

作者: 艾欧艾斯开花攻城狮 | 来源:发表于2017-06-27 10:22 被阅读7次

    1、禁止手机睡眠

    [UIApplication sharedApplication].idleTimerDisabled = YES;

    2、跳进app权限设置

    // 跳进app设置

    if(UIApplicationOpenSettingsURLString != NULL) {

    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

    [[UIApplication sharedApplication] openURL:url];

    }

    3、获取沙盒路径

    获取temp

    #define PathTemp NSTemporaryDirectory()

    获取沙盒 Document

    #define PathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]

    获取沙盒 Cache

    #define PathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMa

    4、获取手机型号

    + (NSString *)getDeviceInfo {

    struct utsname systemInfo;

    uname(&systemInfo);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    // 日行两款手机型号均为日本独占,可能使用索尼FeliCa支付方案而不是苹果支付

    if([platform isEqualToString:@"iPhone9,1"])return@"国行、日版、港行iPhone 7";

    if([platform isEqualToString:@"iPhone9,2"])return@"港行、国行iPhone 7 Plus";

    if([platform isEqualToString:@"iPhone9,3"])return@"美版、台版iPhone 7";

    if([platform isEqualToString:@"iPhone9,4"])return@"美版、台版iPhone 7 Plus";

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

    if([platform isEqualToString:@"iPod1,1"])return@"iPod Touch 1G";

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    returnplatform;

    }

    5、获取手机和app信息

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

    CFShow(infoDictionary);

    // app名称

    NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];

    // app版本

    NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

    // app build版本

    NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];

    //手机序列号

    NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];

    NSLog(@"手机序列号: %@",identifierNumber);

    //手机别名: 用户定义的名称

    NSString* userPhoneName = [[UIDevice currentDevice] name];

    NSLog(@"手机别名: %@", userPhoneName);

    //设备名称

    NSString* deviceName = [[UIDevice currentDevice] systemName];

    NSLog(@"设备名称: %@",deviceName );

    //手机系统版本

    NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];

    NSLog(@"手机系统版本: %@", phoneVersion);

    //手机型号

    NSString* phoneModel = [[UIDevice currentDevice] model];

    NSLog(@"手机型号: %@",phoneModel );

    //地方型号  (国际化区域名称)

    NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];

    NSLog(@"国际化区域名称: %@",localPhoneModel );

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

    // 当前应用名称

    NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"];

    NSLog(@"当前应用名称:%@",appCurName);

    // 当前应用软件版本  比如:1.0.1

    NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

    NSLog(@"当前应用软件版本:%@",appCurVersion);

    // 当前应用版本号码   int类型

    NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"];

    NSLog(@"当前应用版本号码:%@",appCurVersionNum);

    6、让手机震动一下

    倒入框架

    #import

    AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);

    或者

    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

    7、在状态栏增加网络请求的菊花,类似safari加载网页的时候状态栏菊花

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

     

    相关文章

      网友评论

        本文标题:iOS开发中可能用到的系统相关的小知识点

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