1.xcode debug 了解了每个设置的意思,个人觉得对于一个普通的app来说可以这样配置这些设置: Generate Debug Symbols:DEBUG和RELEASE下均设为YES(和Xcode默认一致): Debug Information Level:DEBUG和RELEASE下均设为Compiler default(和Xcode默认一致): Deployment Postprocessing:DEBUG下设为NO,RELEASE下设为YES,这样RELEASE模式下就可以去除符…
1. http://www.jianshu.com/p/3755c35ac87f 2.calayer http://www.jianshu.com/p/aadfce72bf74…
一.概念 1.汇编指令: 模拟器上运行的是Intel指令,而真机上运行的是arm指令, 2.每条汇编指令的格式总是由: 操作码, 操作数1,操作数2,操作数3组成. 操作数要么就是常数,要么就是寄存储器,要么就是内存地址.你所看到的操作数中的RAX,RSI,RDI,R0,R1... 这些都是CPU中的寄存器(关于寄存器部分我将在下一篇文章中具体介绍).而且在XCODE的左下角部分我们可以查看当前CPU中的所有寄存器的值,你可以打印并修改他们. 每个函数方法的第一个地址,就是这个函数的入口地址,也…
[新年新气象,2016/01/04] 俺们在开发IOS程序过程中,经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程.但是一个发布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们可以使用一个宏定义来处理,在开发的时候使用DEBUG模式,在发布的时候使用RELEASE模式.这样,发布的App就不会在程序内部做大量的NSLog输出了…
我们每一次编码完成后紧接着便是编译运行起来,看看程序运行的结果是否达到了我们的预期,此时,我们离不开控制台给我们输出必要的信息,为此, 当程序跑起来时,我们的控制台遍自己弹出来,这是不是蛮好的?  又当我们结束调试需要继续编码时控制台自动隐藏是不是更好? 那么,就按如下设置吧: 1:当编译运行起来以后自动显示控制台 2:当结束运行状态时自动隐藏控制台: 二.查看 Crash: 我们在开发过程中,总是不可避免的产生你无法预期的Crash.其实拥有了ARC以后,Crash的机会相对少了很多,只不过偶…
1. 确保打包的时候使用的是fembed-bitcode, 而不是fembed-bitcode-maker fembed-bitcode-maker:只是简单的标记一下在archive出来的二进制中bitcdoe所在的位置.fembed-bitcode: 真的会生成bitcode指令,并且嵌入到二进制中,这个设置不止要在app中设置,同样你也必须在编译静态链接库的时候使用.而且需要主题的是该参数系统只默认在archive模式下会添加//需要注意的是bitcode只默认在archive下编译.在d…
1.Xcode 9.0中新增的API版本检查@available https://www.jianshu.com/p/0a94baa6c3dd https://www.jianshu.com/p/b877be6d6570…
对于IPhone开发/XCode的初学者,如何在调试时查看变量的值是很头痛的事情.因为Xcode的expression 经常无法正确显示变量的值.但是强大的GDB可以很方便的帮我们查看变量的值.   当执行到某断点时,在GDB窗口中使用po就可以查看变量.(po = print object)  1)查看String 或其它变量. po 变量名 2)查看某个Property.比如要查看item变量的name属性. po [item name]    注意,po item.name是不工作的. 3…
设置DEBUG, 使用宏定义: #if DEBUG NSLog(@"debug model"); #else //执行release模式的代码 #endif…
1.blockskit https://github.com/zwaldowski/BlocksKit bk_showAlertViewWithTitle 2.toast +(void)showToast:(NSString *)title inView:(UIView *)view{ MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; hud.mode = MBProgressHUDModeText; h…
1. //设置CIContext,并从CIImage -> CGImage -> UIImage CIContext *context = [CIContext contextWithOptions:nil]; CGImageRef cgImage = [context createCGImage: outputImage fromRect:qrRect]; UIImage *resultIamge = [UIImage imageWithCGImage:cgImage]; //(如果 直接用…
1. #import "UIView+Test.h" #import <objc/runtime.h> @implementation UIView (Test) + (BOOL)resolveInstanceMethod:(SEL)sel { return NO; } - (id)forwardingTargetForSelector:(SEL)aSelector { // NSString *sel = NSStringFromSelector(aSelector);…
1.ios10 tableview头部空白 if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; }else { self.automaticallyAdjustsScrollViewInsets = NO; } https://www.jianshu.com/p/7eea417275af 2. 如果没有使用po…
1.AppDelegate 到这里我们把解决方案再明确一下:把 AppDelegate 的调用解耦成一个 责任链 模型.并且满足以下特征: 每个模块都可以无限制的实现 AppDelegate 的方法. 每个模块将会实现多个 AppDelegate 的函数以完成一定的业务逻辑,比如对于URLScheme的处理. 对于有返回值的函数,将其调用关系转化成一个 责任链. 能够让调用者之间根据返回值交互. http://www.dzpqzb.com/2018/05/10/appdeleate-compon…
1.clang -rewrite-objc main.m #import <objc/runtime.h> #import<objc/message.h> #import <Foundation/Foundation.h> @interface Person : NSObject //为了方便查看重写的代码将name改成cjmName @property (nonatomic, copy) NSString *cjmName; @property (nonatomic,…
1.ubuntu ============== sudo apt-get install openjdk-8-jdk https://blog.csdn.net/zhaohaiyitian88/article/details/78885745 ===================== brew install tomcat brew search tomcat brew install tomcat catalina -h #查看帮助 catalina run #运行服务 https://ww…
1. 用 SVN 即可. 举例说明: 譬如这个项目: Mooophy/Cpp-Primer · GitHub, 我只想看 ch03 文件夹的代码怎么办? 先打开 ch03, 其 URL 为: "https: //github. com/Mooophy/Cpp-Primer/tree/master/ch03"(这里添加空格, 为了防止知乎智能识别) 将 /tree/master/ 换成 /trunk/ . (这个以前玩 Google Code 的人应该很熟悉.) "https:…
1. 正确的处理方法 1)设置标头的高度为特小值 (不能为零 为零的话苹果会取默认值就无法消除头部间距了) UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 0.001)]; view.backgroundColor = [UIColor redColor]; self.tableView.tableHeaderView = view; 2)写代理方法(中间的留白其实是…
1. [tableView reloadData]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ /*contentsize没有更新*/ }); iOS11默认开启Self-Sizing,关闭Self-Sizing即可.self.tableView.estimatedRowHeight = 0; self.tableVie…
1.ImagePickerSheetController open class ImagePickerSheetController: UIViewController, UITableViewDataSource, UITableViewDelegate, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UIViewControllerTransitioningD…
1. http://snkcxy.iteye.com/blog/1823046…
1. xcodebuild -exportArchive -exportFormat ipa -archivePath RongChatRoomDemo\ 17-7-13\ 下午4.04.xcarchive -exportPath RongChatRoomDemo.ipa http://www.jianshu.com/p/2dc50294e14c…
1. https://zhuanlan.zhihu.com/p/24281404 2. 186  ffmpeg -i /Users/temp/Downloads/n-201402201522融资融券专员培训-上.mp4 -vcodec h264 -acodec copy -pix_fmt yuv420p  aa.mp4 188  ffmpeg -i /Users/temp/Downloads/n-201402201522融资融券专员培训-上.mp4  -acodec copy -vn aa.m4…
一.Xcode调试技巧之:NSLog 上面也提到了,在我们日常的开发过程中最常见的Debug方式就是打Log.而在OC语言中,打Log是采用NSLog方法.但是NSLog效率低下,具体原因可以看这篇博客(NSLog效率低下的原因及尝试lldb断点打印Log).所以在平时的开发过程中,能不打Log就不打Log.实在想打Log网上也有对NSLog的一些优化方法,可以阅读王巍的<宏定义的黑魔法 - 宏菜鸟起飞手册>如下代码便出自其中: #define NSLog(format, ...) do {…
python全栈11期月考题 1.常用字符串格式化有哪些?并说明他们的区别 2.请手写一个单例模式(面试题) 3.利用 python 打印前一天的本地时间,格式为‘2018-01-30’(面试题) 4.python 中 search()和 match()的区别(面试题) 5.写一个闭包函数 clo,接收整数参数 n ,返回一个函数 foo,foo 函数的功能是把 foo 参数和 n 相乘并把结果返回. 6.# 取出 html 中的歌手名和歌名 提示:<a href="/2.mp3"…
一.XCode4.2以后支持自动释放内存ARC xcode自4.2以后就支持自动释放内存了,但有时我们还是想手动管理内存,这如何处理呢. 很简单,想要取消自动释放,只要在  Build Settings里,找到Apple LLVM compiler 3.0 - Code Generation 下面的  Objective-C Automatic Reference Counting ,把它的值改成NO即可.如下图.     二.Objcet-C 关于xCode内存管理中内存分配和释放的一些经验…
性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论.然而由于iOS设备的限制,有时搞好性能是一件难事.开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响. 这正是我写下这篇文章的原因.这篇文章以一个方便查看的核对表的形式整合了你可以用来提升你app性能的25条建议和技巧. 请耐心读完这篇文章,为你未来的app提个速! 注意:每在优化代码之前,你都要注意一个问题,不要养成”预优化”代码的错误习惯.时常使用I…
本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_. 性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论.然而由于iOS设备的限制,有时搞好性能是一件难事.开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响.…
写在前面 本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_. 性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论.然而由于iOS设备的限制,有时搞好性能是一件难事.开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑…
写在前面 本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_. 性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论.然而由于iOS设备的限制,有时搞好性能是一件难事.开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑…