一、Exception 的捕捉

1、message send to dealloc instance

   a, 输出控制台(lldb)后面输入:c + enter, 找到对应的行
     b, po [object address name], 找到哪个原因

2、在 appDelegate.m 里面添加下面语句

// for debug , to be remved in production
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); // for debug , to be remved in production
-void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
}

  在输出错误信息的地方,找到类似下面的信息:
    1   libobjc.A.dylib                     0x01d4bd0a objc_exception_throw + 44

  然后选择加一个breakpoint,symbloic breakpoint
    symbol name = objc_exception_throw
    module = libobjc.A.dylib

二、杂七杂八知识

  1add customerized class template to xcode

    Application -> show package content -> Developer -> Library -> Xcode -> Templates -> File Templates
      change all plist's Options -> Type "class"

  2、Xcode certificates and Provisioning 的问题。

     需要在公司的Keychain Asscess里面导出一个Certificates.p12,设置密码,拷贝到不同的电脑上打开就连接真机了。但是Provisioning还是需要在developer.apple.com上下载。

  3、改变 project 的名字

    a、slowly-double click the project name ”AppName“, 会refactor 所有有关的名字。

    b、要把 project 的文件名字改变,例如把 “AppA” 改成是 “AppB”,就需要把 AppB 重新拉进 project 里面。

    c、把 targets --> Build Settings 里面的有关于 “AppA” 的路径都手动的改成 “AppB”, 在把文件拖进 project 的时候,很可能会报 "copy bundle …info.plist",此时需要把 project 的 Build Phase, copy bundle resources 删除掉 xxx-info.plist。

    d、要改掉 Run 和 Stop 旁边的 Scheme name 的话,manage scheme 把旧的删掉,再创建一个新的。

  4、把加载时候的 default (图片的名字由设备决定)图片,从指定路径倒入操作步骤:

     a, 先把 default.png, 放到指定的路径。
       b, 然后到 Targets --> Build Phases --> Compile Sources --> + --> other (指定文件)

  5、对 Xcode 提速

    文章1文章2文章3

  6、问题:每次 load 程序到设备上都要输入用户名

    原因:开发证书安装到了 System 下面了。

    解决方法:进入 Keychain Access, 把 System 里面的开发证书都搬到 Login 里面。

  7、Mac os Mavericks 把 Xcode 的 command Line tool 卸载了,安装发放 Terminal -> $"xcode-select --install"

    

8、Xcode 7 新添加了 Enable Address Sanitizer 方便对 EXC_BAD_ACCESS 的调试。

  9、OS El Captain 下运行 Xcode6.4,无法识别 iOS5.0 的设备,解决方法:

     菜单栏 “window” -> "devices" -> 选中指定的设备,右键 "show xxxxx" 即可。

Xcode 杂七杂八的更多相关文章

  1. UITableView cell复用出错问题 页面滑动卡顿问题 & 各杂七杂八问题

    UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影).滑动卡顿等问题,这里只简单敲下几点复用出错时的解决 ...

  2. Mac Xcode下配置OpenGL

    暂时搁置一下iOS,又要去弄一些杂七杂八的东西了,毕竟是学校的作业,还是要完成的. 作业是让我们用OpenGL做一个茶壶- -.而且要三维立体能旋转的那种. 好吧这些都不是重点,重点是我最终决定在Ma ...

  3. Xcode 锁终端

    锁终端 输入: <1>cd /Applications/Xcode.app 回车 结果显示: Xcode.app 输入: <2>sudo chown -hR root:whee ...

  4. xcode低版本调试高版本真机系统

    低版本xcode调试本真机高版本系统 //打开此路径把最新的文件拷贝到这里就可以了 /Applications/Xcode.app/Contents/Developer/Platforms/iPhon ...

  5. 在xcode中用 swift 进行网络服务请求

    xcode集成开发环境是运行于Mac苹果电脑上用于开发swift应用程序的工具,利用xcode可以很方便.直观的开发OS X和iOS系统所支持的应用程序. 1 开发环境: Mac OS 10.11 X ...

  6. Xcode自定义代码块

    到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...

  7. Xcode7使用插件的简单方法&&以及怎样下载到更早版本的Xcode

    Xcode7自2015年9上架以来也有段时间了, 使用Xcode7以及Xcode7.1\Xcode7.2的小伙伴会发现像VVDocumenter-Xcode\KSImageNamed-Xcode\HO ...

  8. Xcode 8 日志输出乱码问题

    更新到Xcode 8的同学应该都遇到了这个问题:用Xcode 8运行项目,日志会疯狂的刷,就像下面这种图一样:

  9. Mac下QT错误,Xcode配置解决办法

    出现错误: Xcode not set up properly. You may need to confirm the license agreement by running / 解决办法如下: ...

随机推荐

  1. UVa12092 Paint the Roads(最小费用最大流)

    题目大概说一个n个点m条带权有向边的图,要给边染色,染色的边形成若干个回路且每个点都恰好属于其中k个回路.问最少要染多少边权和的路. 一个回路里面各个点的入度=出度=1,那么可以猜想知道各个点如果都恰 ...

  2. NUC_TeamTEST_B(贪心)

    B - B Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  3. iOS学习13之OC NSString类

    C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...

  4. 测试你是否和LTC水平一样高[HDU1407]

    测试你是否和LTC水平一样高Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...

  5. Unity 状态转化机器

    using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /** 有限状 ...

  6. Ubuntu下SVN配置

    今天上午写了一个脚本,然后想起来现在写的R脚本,常常在分析过程中就直接改掉了.隐隐还是觉得存在隐患,想着svn部署应该不会太难,于是就直接动手干了. 弄了一上午的时间,感觉还是花了点时间. 这里有篇b ...

  7. Qt搭建多线程Server

    起因是MySQL在Android上没有驱动.也就是说,移动端想要访问远程数据库,必须通过一台(或多台)PC进行中转. 中转PC作为Server,接受来自移动端Socket访问数据库的要求,Server ...

  8. Android AsyncTask

    AsyncTask类任务管理: 内部会创建一个进程作用域的线程池来管理要运行的任务,也就就是说当你调用了AsyncTask#execute()后,AsyncTask会把任务交给线程池,由线程池来管理创 ...

  9. ACM: Long Live the Queen - 树上的DP

    Long Live the Queen Time Limit:250MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u D ...

  10. [深入浅出WP8.1(Runtime)]Socket编程之UDP协议

    13.3 Socket编程之UDP协议 UDP协议和TCP协议都是Socket编程的协议,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议.UDP适用于一次只 ...