
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
xcode使用方法:(以xcode5为例)
1,下载安装好xcode5后,就可以开始ios开发之旅了。首先打开xcode。选择新建一个xcode项目。
2,新建一个单窗体的程序。按图所示。
3,只需要简单的设置一下项目的名称,开发程序使用的设备,可以看到有ipad,iphone等。
4,创建好项目后,可以看到xcode自动生成了目录结构和简单的配置文件。
5,先不做什么修改,来运凯没行一下这个项目程序。点击xcode左上角的运行按钮。
6,可以看到现在只是一个空白的程序,编译运行后知卖自动会调出ios模拟器。
7,现在,在程序界面当中加一个label标签来显示helloworld。选择项盯猛纳目目录下面的Main.stroyboard,鼠标单击后,可以看到屏幕中间出现了一个空白的界面,这就是运行程序时的主界面。
8,现在,从xcode右侧的工具栏中拖一个label标签到界面中央。
9,好了,现在就可以修改label的文字,比如改称:hello world。
10,好了,再点击运行,看看运行后的效果吧。
由于项目需塌派求,同一项目需要发两个版本,两个版本只有小部分不同,特地研究了一下target,小有了解,把创建target的经过记录在案,方便过后查看,如有疏漏,请网友指正。创建target有两种方式,
1是通过新建target可以通过
File-->New-->Target,然后选择其中一个模板来创建,app类型的target,可以选择Empty
Application模板,不过新建的target有自己的AppDelegate和main,这点还没研究好,如何与原来的AppDelegate和
main复用
2.另一种方法是通过对原有的target做duplicate,复制一份,目前只研究了如何通过duplicate来新建target,做下记录。
假设原来的target名字为A,我们需要新建一个target B
1. 在原来的target上右键,选择duplicate,Xcode会复制一个名为A copy的target对象,同时生成一个A copy-info.plist和A copy的scheme
2. 改名
a)对A copy target改名,可以直接单击target来修改,改成B
b)A
copy-info.plist,默认生成在程序环境根目录,也就是A.xcodeproj的同级目录中,如果想放到里层(比如与A-
info.plist放在同级目录),可以先在Xcode删除A
copy-info.plist索引,然后拷贝文件到制定目录中,然后更名为B-info.plist,在add到project中。在Project的
Build Settings中,修改Info.plist
File选项为B-info.plist的目录(相对路径),这样就可以看到Info页了(就是B-info.plist),接着修改
ProductName和Bundle
identifier,使之成为另一个app。Prefix
Header的路径,视具体需求而定是否要修改,如果两个target可以公用同一个Prefix Header,那么就不需要修改这里的路径
c)修改scheme,在调试的Stop按钮边上,我
们可以选择本工程中所有的target来做编译,如果不修改,在这里选择出毁衫判来的名字就是A
copy,为了与新建的target统一起来,同样也要修改这里的名字。点击scheme选择区,然后选Manager Scheme,找到A
copy,然后改成你需要的名字,比如B
用duplicate的好处是,如果两个target的相同点很多,用duplicate,就可以把相关的设置全部拷贝过来,而不需要做过多的修改
生成一个新的target,一定会与原target有
区别,这里可以定义预编译宏,来区分两个版本的不同代码,预编译宏纤改可以在Build Settings中Preprocessor
Macros定义,比如在我们新建的target B中定义预编译宏MACRO,然后在代码中通过
#if defined (MACRO)
//target B需要执行的代码
#else
//target A需要执行的代码
#endif
来区分
其他:Build Phases(各target编译所包含的内容,需要注意的是,如果创建了target B后,再往A里面添加资源或文件,target B中不会自动增加这些资源,需要手动添加)
1.Compile Sources
需要编译的代码文件
2.Link Binary With Libraries
编译所依赖的库
3.Copy Bundle Resources
编译需要的资源
每个target可以根据具体需要增减里面的内容
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)