随笔分类 - 03A Xcode 调试
摘要:CFBundleVersion,标识(发布或未发布)的内部版本号。这是一个单调增加的字符串,包括一个或多个时期分隔的整数。CFBundleShortVersionString标识应用程序的发布版本号。该版本的版本号是三个时期分隔的整数组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本。该键的值不同于“CFBundleVersion”标识。版本号的管理是一个谨慎的事情,希望各位开发者了解其中的意义。比较小白,更新应用的时候遇到版本号CFBundleShortVersionString命名的错误,导致无法更新,
阅读全文
摘要:1、统计Xcode项目代码行数 1 打开终端。2 用ls和cd进到你项目的路径。 3 输入下面的指令: grep -r "\n" classes | wc -l (classes,为项目文件所在文件夹)(或者用grep -d recurse "\n" classes | wc -l)这里是使用unix命令来完成行数统计,其中首先使用grep查找指定路径的源文件含有换行符的字符串,然后用wc命令完成统计,还可以使用-w统计字数。另一种方法:使用由内森 基辛格分享的Perl脚本,这里下载perl cloc-1.60.pl ./YourProjectNamer
阅读全文
摘要:设置mac电脑网络代理步骤如下:第一步:打开网络偏好设置第二步:依次输入如下参数第三步:设置代理服务器地址设置邮箱使用代理步骤如下:第一步:第二步:选择使用“系统代理设置”即可,无需其它多余设置。
阅读全文
摘要:1 选择工程的Target -> Build Settings -> Preprocessor Macros.如图,默认 Debug项,是“DEBUG=1”.2 在程序中设置全局宏定义在程序的 ApplicationName-Prefix.pch 文件中,加入如下,很简单#ifdef DEBUG_MODE#define DLog( s, ... ) NSLog( @" %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString strin
阅读全文
摘要:替代home键的快捷键是Cmd-Shift-H;双击HOME键就是Cmd-Shift-H 按两次;参考:http://www.cnblogs.com/yingkong1987/archive/2012/10/28/2743771.html
阅读全文
摘要:#pragmamarksComments containing:MARK:TODO:FIXME:!!!:???:除了使用 #pragma mark -添加分割线之外, 以上几种标记均可以实现和#pragmamark 类似的效果。使用/* FIXME: xxxx */// MARK: sss/* !!!: ssss */注意空格.
阅读全文
摘要:关于GDB对于大多数Cocoa程序员来说,最常用的debugger莫过于Xcode自带的调试工具了。而实际上,它正是gdb的一个图形化包装。相对于gdb,图形化带来了很多便利,但同时也缺少了一些重要功能。而且在某些情况下,gdb反而更加方便。因此,学习gdb,了解一下幕后的实质,也是有必要的。gdb可以通过终端运行,也可以在Xcode的控制台调用命令。本文将通过终端讲述一些gdb的基本命令和技巧。首先,我们来看一个例子:#import int main(int argc, char **argv){NSAutoreleasePool *pool = [[NSAutoreleasePool al
阅读全文
摘要:1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭文件2. 编辑CMD + [: 左缩进CMD + ]: 右缩进CMD + CTRL + LEFT: 折叠CMD + CTRL + RIGHT: 取消折叠CMD + CTRL + TOP: 折叠全部函数CMD + CTRL + BOTTOM: 取消全部函数折叠CTRL + U: 取消全部折叠CMD + D: 添加书签CMD + /: 注释或取消注释CTRL + .: 参数提示E
阅读全文
摘要:最近升级了xcode4.5,用上了ios6的SDK。但用着用着发现一个比较烦的问题,以前很多代码提示错误,发现原来因为xcode启用了ARC,当ARC启用后会自动在代码中加入retain、release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。虽然有很大的好处,但是对于以前代码中加的retain、release等会因此报错,解决办法很简单,禁用ARC即可,方法如下:可以在 Build Setting => "Apple LLVM compiler 3.0-Auto Reference Counting“ => "Mugrate
阅读全文
摘要:xcode4 语法高亮和自动补全失效的解决办法xcode4有一个bug,某些时候会造成类名的着色显示不出来,还有就是代码补全不能完全显示,而且没有参数。解决方法:首先关闭项目窗口,然后到Organizer-projects中,选择项目右击,选择Remove fromOrganizer ,然后在重新打开项目,即可!转:xcode4.3.2 代码自动完成竟然出问题
阅读全文
摘要:建议:一般地,建议使用xcode 4.3开发app 而不是使用xcode4.5因为,xcode4.5 默认的sdk 是ios6.0,这里面有很多新特性。比如,Autolayout 等,这个特性再ios5.0是不支持的。所以,如果用xcode4.5开发app,要考虑比较多的兼容性。
阅读全文
摘要:ResultVC *myResultVC = [[ResultVC alloc]initWithNibName:@"ResultVC" bundle:nil]; [self.view addSubview:myResultVC.view];以上为不良代码。原因:在xcode 4.5以上,或者使用了ARC设置的的项目中,myResultVC 在使用完之后会很快被释放。导致myResultVC.view 不能有返回按钮。
阅读全文
摘要:例子#if defined (DEBUG) && DEBUG == 1 // 如果当前处于debug 模式//to do#else //to do#endif
阅读全文
摘要:1、release时,屏蔽log #if defined (DEBUG) && DEBUG == 1 #else #define NSLog(...) {}; #endif 2、在主线程或在后台执行block#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block) #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block) 3、设备相关 #defin..
阅读全文
摘要:简单介绍以下几个宏:1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。2) __FILE__ 宏在预编译时会替换成当前的源文件名3) __LINE__宏在预编译时会替换成当前的行号4) __FUNCTION__宏在预编译时会替换成当前的函数名称1. 在***-Prefix.pch里面添加, 重新定义系统的NSLog,__OPTIMIZE__ 是release 默认会加的宏#ifn
阅读全文
摘要:
阅读全文
摘要:调度技巧一:程序在崩溃的时候,xcode经常没有给出准确的堆栈信息,而是定位在了main方法里,这个让人很是头疼,又怀念起了vs, 其实xcode只要装简单设置一下,就能准确给出堆栈信息了, 打开xcode左边的Breakpoint Navigator ,点击下面的+号添加一个Exception Breakpoint,可以选择 All, 然后再运行试试,Crash后,就会在在抛出异常的时候停下来了,吼吼。调度技巧二:另一种Crash,EXC_BAD_ACCESS ,这个比较头疼,因为Crash的时候,可能是比较早之前的某个变量释放了,现在访问时出问题。Console里也没显示什么日志。开Sch
阅读全文
摘要:转:http://www.raywenderlich.com/zh-hans/30863/ios应用崩溃日志揭秘2
阅读全文
摘要:ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。那么在xCode中经常需要导入一些外来的
阅读全文
摘要:使僵尸对象可用引起的问题疑问:为ios 工程 勾选“enable zombie objects” 时,应用程序报错 *** -[UIImage release]: message sent to deallocated instance 0x20856fa0当不为ios 工程勾选“enable zombie objects” 时,应用程序可以正常运行,没问题。
阅读全文
浙公网安备 33010602011771号