cocos creator 发布IOS版本(五)基础通用功能

1、iOS 设置APP的名称多语言化(安装不同语言手机上显示不同游戏名)

参考链接:

iOS 设置APP的名称(浅述APP版本国际化与本地化) - 简书

iOS支持多语言 - 简书 

第一步,在Xcode项目中添加你要支持的语言:

 假设app要支持简体中文和英文,那么你的配置应该是这样的,点击(+)添加你需要的 

第二步,创建string资源文件:(要修改app名,名字最好为:InfoPlist.strings,不然有可能无效)

第三步,选择资源文件,添加对应的国家

扫描二维码关注公众号,回复: 14662145 查看本文章

国际化string资源文件


由于我们前面已经配置好支持简体中文和英文,所以我们可以把string资源文件国际化为简体中文和英文两种版本:

 分别设置中英文名字
"CFBundleDisplayName" = "中文名字";
"CFBundleDisplayName" = "EnglishName";

5.编译工程
分别切换模拟器的设置中的语言至中英文模式,分别查看appiocn下面的名字的变化:

 还可以用这个方案去做游戏内的多语言,具体 操作可以看一开始的链接

 2、判断ios机型

+ (NSString *)getCurrentDeviceModel{
    struct utsname systemInfo;

    uname(&systemInfo);

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

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

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

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

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

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

    if ([deviceModel isEqualToString:@"iPhone5,2"])    return @"iPhone 5 (GSM+CDMA)";

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

    if ([deviceModel isEqualToString:@"iPhone5,4"])    return @"iPhone 5c (GSM+CDMA)";

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

    if ([deviceModel isEqualToString:@"iPhone6,2"])    return @"iPhone 5s (GSM+CDMA)";

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

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

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

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

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

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

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

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

    if ([deviceModel isEqualToString:@"iPhone9,3"])    return @"iPhone 7";

    if ([deviceModel isEqualToString:@"iPhone9,4"])    return @"iPhone 7 Plus";

    if ([deviceModel isEqualToString:@"iPhone10,1"])   return @"iPhone_8";

    if ([deviceModel isEqualToString:@"iPhone10,4"])   return @"iPhone_8";

    if ([deviceModel isEqualToString:@"iPhone10,2"])   return @"iPhone_8_Plus";

    if ([deviceModel isEqualToString:@"iPhone10,5"])   return @"iPhone_8_Plus";

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

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

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

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

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

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

    if ([deviceModel isEqualToString:@"iPhone12,1"])   return @"iPhone 11";

    if ([deviceModel isEqualToString:@"iPhone12,3"])   return @"iPhone 11 Pro";

    if ([deviceModel isEqualToString:@"iPhone12,5"])   return @"iPhone 11 Pro Max";

    if ([deviceModel isEqualToString:@"iPhone12,8"])   return @"iPhone SE (2nd generation)";

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

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

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

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

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

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

    if ([deviceModel isEqualToString:@"iPad1,2"])      return @"iPad 3G";

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

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

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

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

    if ([deviceModel isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";

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

    if ([deviceModel isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";

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

    if ([deviceModel isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";

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

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

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

    if ([deviceModel isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    

    if ([deviceModel isEqualToString:@"AppleTV2,1"])      return @"Apple TV 2";

    if ([deviceModel isEqualToString:@"AppleTV3,1"])      return @"Apple TV 3";

    if ([deviceModel isEqualToString:@"AppleTV3,2"])      return @"Apple TV 3";

    if ([deviceModel isEqualToString:@"AppleTV5,3"])      return @"Apple TV 4";

    

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

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

    return deviceModel;

}

 3、根据机型和ios版本使用震动

/**
 震动接口,
 value:等级
 */
+ (void)Vibrate:(NSNumber *)value{
    //NSLog(@"----调用 Vibrate----- %@", value);
    
    if (@available(iOS 10.0, *)&&[FunctionManager sharedSingleton].model==0) {
        UIImpactFeedbackGenerator *generator = [[UIImpactFeedbackGenerator alloc] initWithStyle: UIImpactFeedbackStyleLight];//选择震动幅度
        [generator prepare];
        [generator impactOccurred];
        NSLog(@"----调用 Vibrate----yishang- ");
    }else
    {
        //AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);//4095
        // 普通短震,3D Touch 中 Peek 震动反馈
        //AudioServicesPlayAlertSound(1519);
        // 普通短震,3D Touch 中 Pop 震动反馈
        //AudioServicesPlaySystemSoundWithCompletion(1520, nil);
        // 连续三次短震
        //AudioServicesPlaySystemSoundWithCompletion(1521, nil);
        // 'Try Again' feedback (week boom then strong boom)
        //AudioServicesPlaySystemSoundWithCompletion(1102, nil);
        
        AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
        NSLog(@"----调用 Vibrate----yixia- ");
    }
}

/*
 https://blog.csdn.net/a18339063397/article/details/91549934
 判断手机型号小于ipone7
 */
+ (int)IsCurrentDeviceModel{

    struct utsname systemInfo;
    uname(&systemInfo);

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

    if ([deviceModel isEqualToString:@"iPhone3,1"])    return 1;

    if ([deviceModel isEqualToString:@"iPhone3,2"])    return 2;

    if ([deviceModel isEqualToString:@"iPhone3,3"])    return 3;

    if ([deviceModel isEqualToString:@"iPhone4,1"])    return 4;

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

    if ([deviceModel isEqualToString:@"iPhone5,2"])    return 6;

    if ([deviceModel isEqualToString:@"iPhone5,3"])    return 7;

    if ([deviceModel isEqualToString:@"iPhone5,4"])    return 8;

    if ([deviceModel isEqualToString:@"iPhone6,1"])    return 9;

    if ([deviceModel isEqualToString:@"iPhone6,2"])    return 10;

    if ([deviceModel isEqualToString:@"iPhone7,1"])    return 11;

    if ([deviceModel isEqualToString:@"iPhone7,2"])    return 12;

    if ([deviceModel isEqualToString:@"iPhone8,1"])    return 13;

    if ([deviceModel isEqualToString:@"iPhone8,2"])    return 14;

    if ([deviceModel isEqualToString:@"iPhone8,4"])    return 15;

    return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_41843959/article/details/120225042