PROJECT配置多个TARGET

作者: goyohol | 来源:发表于2018-08-01 10:15 被阅读34次


创建一个新target

快捷键“⌘ + D”:创建一份新的target:(Duplicate:复制)

创建好的两个Target

会配套产生相应的“info.plist”文件


更改target的名字:

更改target的名字


配置“info.plist”文件

修改“info.plist”文件名称:

直接修改文件的名字


修改文件名后,在“Build Settings”的“Packaging”项中修改“Info.plist File”选项:改为对应的“info.plist”文件

改对应的“info.plist”文件 改名为对应的“info.plist”文件


为相应的TARGET 选择相应的“info.plist”文件:

为该TARGET 选择相应的“info.plist”文件 选择相应的“info.plist”文件



修改“scheme”项

修改各项“scheme”的名称:

点击 修改“scheme”的名称 修改好“scheme”的名称


修改各个TARGET的“bundle id”
各TARGET,填上各自的“bundle id”


注意⚠️:如果不修改各个TARGET的“bundle id”为不同的值!会出现“使用其他的TARGET运行,会覆盖之前已经运行(安装)过的APP”!



代码里对不同的项目,进行不同的处理(背景色、图片 不同)

PCH”文件:

#define DisplayName ([NSBundle mainBundle].infoDictionary[@"CFBundleDisplayName"]) //Bundle Name

#define IS_FirstOne  ([DisplayName isEqualToString:@"FirstOne"])        //第一个项目
#define IS_targetOne  ([DisplayName isEqualToString:@"targetOne"])      //第二个项目
#define IS_twoTwo  ([DisplayName isEqualToString:@"twoTwo"])            //第三个项目


代码使用:

UIImageView * imgV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_BOUNDS.width/2.f, SCREEN_BOUNDS.width/2.f)];
imgV.center = self.view.center;
[self.view addSubview:imgV];

if (IS_FirstOne) {          //第一个项目
    self.view.backgroundColor = [UIColor redColor];
    
    imgV.image = [UIImage imageNamed:@"1"];
} else if (IS_targetOne) {  //第二个项目
    self.view.backgroundColor = [UIColor cyanColor];
    
    imgV.image = [UIImage imageNamed:@"2"];
} else if (IS_twoTwo) {     //第三个项目
    self.view.backgroundColor = [UIColor yellowColor];
    
    imgV.image = [UIImage imageNamed:@"3"];
} else {   //其他的项目
    self.view.backgroundColor = [UIColor blueColor];
    
    imgV.image = [UIImage imageNamed:@""];
}

图片素材:


效果:






添加新的icon(启动图同理)

为新的APP(新TARGET)添加icon

点击“New iOS App Icon” 新的App Icon“AppIcon-1” 修改名字


TARGET选择相应的“App Icon”:

选择相应的“App Icon”

都选择好“App Icon”,之后的效果:

“App Icon”都选好后



不同TARGET的多语言处理

创建“Strings File”文件:

添加“String File”


添加好的“String File”,再进行处理:

“File.strings”文件: (targetOne、twoTwo) (英语、简体中文、德语、法语)
“File.strings”

“File.strings”对应的TARGET: targetOne、twoTwo
“File.strings”对应的语言: English、Chinese(简)、German、French

“NewFile.strings”文件: (AppManyTargets) (英语、简体中文、日语)
“NewFile.strings”

“NewFile.strings”对应的TARGET: AppManyTargets
“NewFile.strings”对应的语言: English、Chinese(简)、Japanese



“PCH”文件:根据“DisplayName”选择相应的“.strings”文件

#define INTERNATIONAL    //宏定义国际化字符
#ifdef INTERNATIONAL
#define INTERSTR(a)   (IS_FirstOne ? NSLocalizedStringFromTable(a,@"NewFile", nil):NSLocalizedStringFromTable(a, @"File", nil))
//#define INTERSTR(a)   (IS_FirstOne ? NSLocalizedStringFromTable(a,@"NewFile", nil):NSLocalizedString(a, nil))
//NSLocalizedString(a, nil)对应“Localized.string”

#else
#define INTERSTR(a)   (a)
#endif



代码里使用:

UILabel * lb = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 100.f)];
lb.center = CGPointMake(imgV.center.x, CGRectGetMaxY(imgV.frame) + 100.f/2.f);
lb.font = [UIFont systemFontOfSize:30.f];
lb.adjustsFontSizeToFitWidth = YES;
lb.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:lb];

lb.text = INTERSTR(@"我最帅");


效果:








goyohol's essay

相关文章

  • PROJECT配置多个TARGET

    创建一个新target 快捷键“⌘ + D”:创建一份新的target:(Duplicate:复制) 会配套产生相...

  • Xcode工程配置

    多环境配置 多target,多Configuration target:一个project中可以创建多个targe...

  • target

    target和project的区别 同一个project可以有多个target,可以使用duplicate出来多个...

  • 项目环境&多版本

    Target:每个target对应一个产出物,而且每一个Project可以有多个Target 单项目多Target...

  • XCode PROJECT TARGETS

    Project与Targets iOS项目的配置管理,主要基于Project、Targets实现的。 Target...

  • Swift与OC混编前期配置完整教学版

    一:项目背景 1.纯OC代码 2.多个target (可参考我的XCode同一Project下创建多个target...

  • 配置多个target及多个Target的podfile文件配置

    其他可参考:猿题库iOS客户端的技术细节(一):使用多target来构建大量相似App 问题:当两个app差异很小...

  • iOS:多环境配置

    1.多target配置配合多Scheme 1.1.创建多个target 点击Duplicate,创建target,...

  • 一个project,多个target

    当两个项目极为相似,可以在一个project里建多个target,来避免写重复的代码. 当同一个文件,可以在多个t...

  • Xcode 配置多个target

    在实际开发中,我们往往需要配置多个运行环境,比如测试版和证书版,同一套代码,需要生产两个名字不一样,证书不一样,服...

网友评论

    本文标题:PROJECT配置多个TARGET

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