ios 开发 怎么再xcode添加多个targets

ios 开发 怎么再xcode添加多个targets,第1张

1、A copy的名称是不是显得不够专业?现在来修改一下:

1)首先修改Xcode左上角的target名称:

点击xcode左上角Run、Stop右边的工程名称,下拉框中选择Manage Schemes,在d出框中,点击A copy那行,点击一次、再点击一次,就可以修改A copy为你想要的名字了,比如ALite;

2)修改xcode左下方Products下的A copy.app名称:

点击Targets下你刚才改名后的ALite,点击Bulid Setting,搜索Packaging下的Private Headers Folder Path,修改A copy.app/PrivateHeaders为:ALite.app/PrivateHeaders;

2、修改Bundle Identifier和选择不同的证书,让app区分开来

1)新target需要的.plist文件

新建一个文件夹X,添加X到项目中,添加时选择target为ALite,不要选target A了,因为不是共用的;复制原来target的A-Info.plist到X,修改其名称为ALite-Info.plist,xcode中右键Add File To ...,选择添加到target ALite中;

2)点击target: ALite ->Summary:提示你需要选择plist文件,选择1)中添加的ALite-Info.plist;

3)点击target: ALite ->Summary:设置Bundle Idenfitier;

4)点击target: ALite->Build Settings->Code Signing:选择另外的证书;

3、修改程序名称

一般说来,多个target的程序名称不同,复制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到X,xcode中右键Add File To ...,选择添加到target ALite中;然后修改InfoPlist.strings的内容:CFBundleDisplayName="程序名称Lite"

4、2个target到现在就创建好了,你添加资源文件的时候,通过选择添加的target来控制不同版本的内容;再说一下预编译宏的事情:target->Build Setting,搜索:Preprocessor Macros,设置Debug和Release里的预编译宏内容,比如TARGET_VERSION_LITE=1表示lite版本(注意=前后不能右空格,有空格会编译不过),程序中对不同版本这样判断:

#if TARGET_VERSION_LITE ==1

...

#elif TARGET_VERSION_LITE ==2

...

#endif

右键->Duplicate ->Duplicate only

生成对的 Target 文件:TestA-coply,TestA-coply.plist

选择 Manager Schemes ->TestA-coply ->TestB

target列表->TestA-coply ->TestB

plist文件 TestA-coply.plist ->TestB.plist

一般是plist,可以调整名字,然后 修改 对应关联target 路径

若有xxx.entitlements文件也可以, 修改 对应target 路径

类似图片资源集合、三方配置文件等

Build settings ->搜索 plist ->修改 info.plist File 路径为:$(SRCROOT)/TestA/TargetB/TestB.plist

测试验证是否成功,修改TextB.plist中项目名,看target中TestB项目名是否改变

同理->搜索 entitlements ->修改 Code Signing Entitlements 路径

右键 New File ->选择 Asset Catalog ->创建是选择关联对应Target

关联单独target的资源不起作用,会使用关联多个Target资源的,

比如 TestAAssets 图片资源关联两个Target(TestA,TestB)

则 TestBAssets 图片资源关联TestB的就不生效了,

这是运行 TestB 项目,用到图片资源也是 TestAAssets

同理其他资源文件也可以设置不同Target,如类、LaunchScreen等

选择Target中项目 TestA ->Build Settings ->搜索 Macros

Preprocessor Macros 中,默认是 DEBUG=1 ,双击添加 APP_TYPE=1

(APP_TYPE可以自己定义,值也可以自己设置定义,这里用1,2,3,标识不同Target),

需要 Preprocessor Macros 中Debug\Release模式里都对应设置

同理Target的 TestB 也对应设置, APP_TYPE=2

切换对应项目调试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11576675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存