xcode在哪设置xcode 编译器选项设置选项?

您所在的位置: &
使用Xcode 4编译器设定Release/Debug教程
使用Xcode 4编译器设定Release/Debug教程
使用Xcode 4编译器设定Release/Debug教程是本文要介绍的内容,详细的介绍了xcode 4中的编译器,我们先来看详细内容。
使用Xcode4编译器设定Release/Debug教程是本文要介绍的你内容,主要是来学习xcode 4的相关内容,让我们更一步的去熟悉、了解xcode 4,内容不多,不过真的可以帮助友们去解决xcode 4中编译器的问题。先来看内容。
进入Xcode 4,选择菜单&Product&-&&Manage Schemes&,出现下图:
选择一个项目,点击&Edit&,如图:
Bulid Configuration
在调试中,如果需要传入参数,在上图中Arguments上设置。
一般这个设置常用于控制台程序,比如:A.exe -p boy
那么,在Arguments上添加-p boy
说明下,在XCode上,可以这么设定,如图所示:
也可以这样,如图所示:
当然,个人建议使用后一种
另外:追加编译宏:选择项目,找到&Bulid Setting&,下面有一项:Preprocessor Macros。
小结:使用Xcode4编译器设定Release/Debug教程的内容介绍完了,希望本文对你有所帮助!【编辑推荐】【责任编辑: TEL:(010)】
关于&&&&的更多文章
移动异构计算是相对于同构计算来说的,同构计算就是使用同一个处
BYOD(Bring Your Own Device)指携带自己的设备办公
在Android开发中,优化,是一直困扰开发者的一个难题
在百年老店诺基亚和我们依依惜别之后,上周我们又迎来
本书在全面介绍微软最新网络操作系统Windows Server 2003的基础上,简要地介绍了UNIX和Linux两大操作系统的代表产品:Sun(太阳
Windows Phone专家
Android开发专家
51CTO旗下网站下次自动登录
现在的位置:
& 综合 & 正文
Xcode 常用编译选项设置
乍一看,这些设置可能太麻烦,其实它真的可以节省许多调试应用的时间,在xcconfig文件中指定即可。
用标准库连接
LINK_WITH_STANDARD_LIBRARIES = YES
如果激活此设置,那么编译器在链接过程中会自动使用通过标准库的链接器。
Info.plist 输出编码
INFOPLIST_OUTPUT_FORMAT = binary
指定Info.plist文件的输出编码(默认情况下,输出与输入的编码保持不变),这个输出编码能指定“binary”或者“XML”。
生成调试符号
GCC_GENERATE_DEBUGGING_SYMBOLS = NO
当启用的时候,详情等级能够通过build的'Level of Debug Symbols'设置去控制。
隐藏内联方法
GCC_INLINES_ARE_PRIVATE_EXTERN = YES
Objective-C GC
GCC_ENABLE_OBJC_GC = Unsupported
GCC_OPTIMIZATION_LEVEL = Fastest, Smallest
None: 不做优化使用这个设置,编译器的目标是减少编译成本,使调试产生预期的结果。
Fast:优化编译将为大函数占用更多的时间和内存使用这个设置,编译器将尝试减少的大小和执行时间,不进行任何优化,需要大量编译时间。
Faster:编译器执行几乎所有支持的优化,它不考虑空间和速度之间的平衡与“Fast”设置相比,该设置会增加编译时间和生成代码的性能。编译器不进行循环展开、内联函数和寄存器变量的重命名。
Fastest:开启“Faster”支持的所有的优化,同时也开启内联函数和寄存器变量的重命名选项
Fastest,smallest:优化代码大小这个设置启用“Faster”所有的优化,一般不增加代码大小,它还执行旨在减小代码大小的进一步优化。
GCC_C_LANGUAGE_STANDARD = C89
检查Switch语句
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
隐藏局部变量
GCC_WARN_SHADOW = YES
隐式转换成32位的类型
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
未完成的Objective-C协议
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
抑制所有的警告
GCC_WARN_INHIBIT_ALL_WARNINGS = NO
初始化时没有完整的括号
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
例子(a没有完全的括号,b有):
int a[ 2 ][ 2 ] = { 0, 1, 2, 3 };?
int b[ 2 ][ 2 ] = { { 0, 1 }, { 2, 3 } };
不匹配的返回类型
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_MISSING_PARENTHESES = YES
在结构体初始化时缺少字段
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
缺少函数原型
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
在文件结尾缺少新行
GCC_WARN_ABOUT_MISSING_NEWLINE = YES
选择了多个定义的类型(@Selector)
GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO
严格的Selector匹配
GCC_WARN_STRICT_SELECTOR_MATCH = YES
把缺少函数原型当作错误
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
把所有的警告当作错误
GCC_TREAT_WARNINGS_AS_ERRORS = YES
未定义的Selector
GCC_WARN_UNDECLARED_SELECTOR = YES
未初始化的自动变量
GCC_WARN_UNINITIALIZED_AUTOS = YES
未知的Pragma指令
GCC_WARN_UNKNOWN_PRAGMAS = YES
未使用的函数
GCC_WARN_UNUSED_FUNCTION = YES
未使用的标签
GCC_WARN_UNUSED_LABEL = YES
未使用的参数
GCC_WARN_UNUSED_PARAMETER = YES
未使用的值
GCC_WARN_UNUSED_VALUE = YES
当一个语句计算的结果显式的未使用的时候发出警告
未使用的变量
GCC_WARN_UNUSED_VARIABLE = YES
警告-所有过时的函数
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
offsetof宏未定义使用的警告
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES
&&&&推荐文章:
【上篇】【下篇】> 博客详情
Xcode 常用编译选项设置
在xcconfig文件中指定即可。
用标准库连接
LINK_WITH_STANDARD_LIBRARIES = YES如果激活此设置,那么编译器在链接过程中会自动使用通过标准库的链接器。
Info.plist 输出编码
INFOPLIST_OUTPUT_FORMAT = binary指定Info.plist文件的输出编码(默认情况下,输出与输入的编码保持不变),这个输出编码能指定“binary”或者“XML”。
生 成调试符号GCC_GENERATE_DEBUGGING_SYMBOLS = NO当启用的时候,详情等级能够通过build的’Level of Debug Symbols’设置去控制。&隐藏内联方法GCC_INLINES_ARE_PRIVATE_EXTERN = YES&Objective-C GCGCC_ENABLE_OBJC_GC = Unsupported&优化级别GCC_OPTIMIZATION_LEVEL = Fastest, Smallest & [-OS]
None: 不做优化使用这个设置,编译器的目标是减少编译成本,使调试产生预期的结果。
Fast:优化编译将为大函数占用更多的时间和内存使用这个设置,编译器将尝试减少代码的大小和执行时间,不进行任何优化,需要大量编译时间。
Faster:编译器执行几乎所有支持的优化,它不考虑空间和速度之间的平衡与“Fast”设置相比,该设置会增加编译时间和生成代码的性能。编译器不进行循环展开、内联函数和寄存器变量的重命名。
Fastest:开启“Faster”支持的所有的优化,同时也开启内联函数和寄存器变量的重命名选项
Fastest,smallest:优化代码大小这个设置启用“Faster”所有的优化,一般不增加代码大小,它还执行旨在减小代码大小的进一步优化。
C 语言方言GCC_C_LANGUAGE_STANDARD = C89&警告&检查Switch语句GCC_WARN_CHECK_SWITCH_STATEMENTS = YES&隐藏局部变量GCC_WARN_SHADOW = YES&隐式转换成32位的类型GCC_WARN_64_TO_32_BIT_CONVERSION = YES&未完成的Objective-C协议GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES&抑制所有的警告GCC_WARN_INHIBIT_ALL_WARNINGS = NO&初始化时没有完整的括号GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES例子(a没有完全的括号,b有):&
int&a[&2&][&2&]&=&{&0,&1,&2,&3&};?&&
int&b[&2&][&2&]&=&{&{&0,&1&},&{&2,&3&}&};&&
不匹配的返回类型
GCC_WARN_ABOUT_RETURN_TYPE = YES&缺少括号GCC_WARN_MISSING_PARENTHESES = YES例子:
&&&&if(&a&)&&
&&&&&&&&if(&b&)&&
&&&&&&&&&&&&foo();&&
&&&&&&&&else&&
&&&&&&&&&&&&bar();&&
&&&&if(&a&)&&
&&&&&&&&if(&b&)&&
&&&&&&&&&&&&foo();&&
&&&&&&&&else&&
&&&&&&&&&&&&bar();&&
在结构体初始化时缺少字段 GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
&缺 少函数原型GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES&在文件结尾缺少新行GCC_WARN_ABOUT_MISSING_NEWLINE = YES&选择了多个定义的类型(@Selector)GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO&严格的Selector匹配GCC_WARN_STRICT_SELECTOR_MATCH = YES&把缺少函数原型当作错误GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES&把所有的警告当作错误GCC_TREAT_WARNINGS_AS_ERRORS = YES&未定义的SelectorGCC_WARN_UNDECLARED_SELECTOR = YES&未初始化的自动变量GCC_WARN_UNINITIALIZED_AUTOS = YES&未知的Pragma指令GCC_WARN_UNKNOWN_PRAGMAS = YES&未使用的函数GCC_WARN_UNUSED_FUNCTION = YES&未使用的标签GCC_WARN_UNUSED_LABEL = YES&未使用的参数GCC_WARN_UNUSED_PARAMETER = YES&未使用的值GCC_WARN_UNUSED_VALUE = YES当一个语句计算的结果显式的未使用的时候发出警告&未使用的变量GCC_WARN_UNUSED_VARIABLE = YES&警告-所有过时的函数GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES&offsetof宏未定义使用的警告GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES
iphone 常用的&app&-info.plist设置
Application requires iPhone environment如 果应用程序不能在ipod touch上运行,设置此项为true;&
Application uses Wi-Fi如果应用程序需要wi-fi才能工作,应该将此属性设置为true。这么做会提示用户,如果没有打开wi-fi的话,打开wi-fi。为了节省 电力,iphone会在30分钟后自动关闭应用程序中的任何wi-fi。设置这一个属性可以防止这种情况的发生,并且保持连接处于活动状态&
Bundle display name这用于设置应用程序的名称,它显示在iphone屏幕的图标下方。应用程序名称限制在10-12个字符,如果超出,iphone将缩写名 称。&
Bundle identifier这个为应用程序在iphone developer program portal web站点上设置的唯一标识符。(就是你安装证书的时候,需要把这里对应修改)。&
Bundle version这个会设置应用程序版本号,每次部署应用程序的一个新版本时,将会增加这个编号,在app store用的。
&Icon already includes gloss and bevel effects默认情况下,应用程序被设置了玻璃效果,把这个设置为true可以阻止这么做。&
Icon file(这个不用多说了)设置应用程序图标的。&
Main nib file base name应用程序首次启动时载入的xib文件 这个基本用不到。
&Initial interface orientation&确定了应用程序以风景模式还是任务模式启动&
Localizations多语言。应用程序本地化的一列表,期间用逗号隔开,例如 应用程序支持英语 日语,将会适用 English,Japanese.&Status bar is initially hidden&设置是否隐藏状态栏。你懂的。
&Status bar style选择三种不同格式种的一种。
&URL types应用程序支持的url标识符的一个数组。
用URL Scheme进行程序跳转
打开info.plist,添加一项URL types 展开URL types,再展开Item1,将Item1下的URL identifier修改为URL Scheme 展开URL Scheme,将Item1的内容修改为myapp 其他程序可通过myapp://访问此自定义URL
参考:/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
IOS后台播放音乐
OS后台播放只是在IOS4.0以后的版本支持。
1,设置后台播放会话
AVAudioSession *session = [AVAudioSession sharedInstance]; [session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
2,在info.plist里面添加
&key&UIBackgroundModes&/key&
&string&audio&/string&
静态库没法包含category/分类?
如果你导入一个objc静态库,发现很多objc的category 不能调用,可以尝试在主工程中加入linker选项:
-all_load 加入这个一般就够了
让程序最小化再开启时,从头开始:
按下 “Home” 键以后程序可能并没有退出而是转入了后台运行。如果您想让应用直接退出,最简单的方法是:在 info-plist 里面找到 Application does not run in background 一项,勾选即可。
程序退出后任务栏还是有图标,但是程序原来的所有运行状态全部丢失,点击任务栏图标也不过相当于再次启动程序;如果允许后台运行,点击任务栏图标后会恢复程序中断时的界面。
本地化字符串:
在infoPlist.strings里面写
“string1″=”水果”
代码里面写 myLabel.text = NSLocalizedString(@”string1″, nil);
本地化的Bundle display name:
1)创建一个空文件,取名为InfoPlist.strings
2)对InfoPlist.strings进行本地化(Get Info&&-& Make Localization),然后设置需要的语言(如中文zh)
3)编辑不同的InfoPlist.strings文件,设置显示名字
CFBundleDisplayName = “名字”;&
4)(这步不做貌似也可以)编辑Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为选中状态
default图片的衔接问题:
程序开始后,手动加载default图片,然后进行过渡效果即可。
遍历目录:
NSString *appDocDir = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] relativePath];NSArray *contentOfFolder = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:appDocDir error:NULL];for (NSString *aPath in contentOfFolder) { NSLog(@"apath: %@", aPath); NSString * fullPath = [appDocDir stringByAppendingPathComponent:aPath]; BOOL isD if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath isDirectory:&isDir] && !isDir) { [fileList addObject:aPath]; }}
不论写不写property的retain,由IBOutlet都会为对象加一个retainCount,所以只要连接了,就需要在viewDidUnload与dealloc中release并适当置为nil。
预先在IB里面加载好的文件(比如图片),即使释放了Controller,IB中的文件也不会被释放,直至内存警告,解决办法是较大的资源用代码加载。
UIWebView:
用代码加载UIWebView的内容,navigationType是UIWebViewNavigationTypeOther
CAAnimation:
一定要记得[self.view.layer removeAllAnimations];因为CAAnimation会retain它的delegate
设备型号识别,可通过审核:
+ (NSString*)getDeviceVersion{ size_ sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = (char*)malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; free(machine);}
输出: //@”iPad1,1″& //@”iPad2,1″& //@”i386″
逗号后面数字解释:(i386是指模拟器) 1-WiFi版 2-GSM/WCDMA 3G版 3-CDMA版
AppleTV(2G) (AppleTV2,1) iPad&(iPad1,1) iPad2,1 (iPad2,1)Wifi版 iPad2,2 (iPad2,2)GSM3G版 iPad2,3 (iPad2,3)CDMA3G版 iPhone&(iPhone1,1) iPhone3G (iPhone1,2) iPhone3GS (iPhone2,1) iPhone4 (iPhone3,1) iPhone4(vz) (iPhone3,3)iPhone4 CDMA版 iPhone4S (iPhone4,1) iPodTouch(1G) (iPod1,1) iPodTouch(2G) (iPod2,1) iPodTouch(3G) (iPod3,1) iPodTouch(4G) (iPod4,1)
判断ipad/iphone
12UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPadUI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone
1[[[UIDevice currentDevice] model] isEqualToString:@"iPad"];
判断设备是否有摄像头
1[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
人打赏支持
码字总数 31849
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥

我要回帖

更多关于 xcode 添加编译选项 的文章

 

随机推荐