自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(314)
  • 资源 (5)
  • 收藏
  • 关注

原创 Xcode不用数据线也可以真机调试

真机调试的不方便性大家众所周知其实XCode支持不用数据线也可以进行真机调试步骤:前提:需要保证Mac和iphone连同一个wifi信号;把iphone通过usb连上电脑;打开xcode, 菜单 Window - Device and Simulators在弹出的界面中, 选中左侧窗口中对应的设备;在右侧窗口中, 勾选上"Connect via network";然后断开USB线...

2020-05-01 14:48:40 1635

原创 atomic, nonatomic在多线程下的表现

需要注意的是, 使用@property (nonatomic, copy) NSString *myname; 这种会自动生成get和set方法而一旦在下面去手动写了下面这个方法,则意味着, 不会自动生成get方法,而只是自动生成set方法, 并生成一个变量_myname;- (NSString *)myname { return theMyname; }而一旦手动实...

2020-04-28 21:02:57 389

原创 Category的实现原理,Load,Initial调用时机

在简书上看到这篇文章,读完欲罢不能。实在是觉得分析得透彻,赶紧转一下。添加少许体会及修改原文地址:https://www.jianshu.com/p/fa66c8be42a2在看这篇文章的同时,可以去下载一下苹果的OC源码,对照分析,更利于体会。而且苹果的源码里面还可以搞清楚好多东西。OC源码下载地址:https://opensource.apple.com/tarballs/objc4/...

2019-03-15 20:25:18 838

原创 OC怎么正确的写单例

今天偶然看到一篇文章,有所感触,这才发现写了好久的单例竟然并没有写正确,研究了一下,总结如下:@interface MySingle() <NSCopying, NSMutableCopying>@end@implementation MySingle+ (instancetype)sharedInstance { static MySingle *single =...

2018-11-22 18:12:37 1345

原创 Swift 单例写法

shared单例class MyManager {static let shared = MyManager()private init(){}}1。使用static let确保了其单例生成2。使用private init方法,确保这个类对象不会被外部其它地方所生成。...

2018-10-10 09:10:31 1030 1

原创 Swift查看断点变量方法

fr命令fr v -R 来查看断点的变量(lldb) fr v -R firstOne输出如下:(teseon.MyClass) firstOne = 0x0000600003d5ab20 {num = {_value = 1}}po命令(lldb) po firstOne输出如下:<MyClass: 0x600003d5ab20>相比po来说, fr...

2018-10-10 09:08:57 696

原创 iOS开发内存分析方法

总结了一下,目前我自己用到的各种方法。Analyze, 静态分析Profile, Instrument, allocations, leaks, time profilers. 内存泄漏、多线程并发Scheme-> Zombie Objects. 内存泄漏视图调试 View Memory Graph Hierarchy. 内存循环引用,这种错误往往非常难查,通过内存逐渐增大...

2018-10-09 11:52:41 490

原创 indirect在递归枚举时的使用

枚举时,如果枚举的类型中,还有自己类型做为参数的情况下indirect enum Diagram {case primitive(CGSize, Primitive)case beside(Diagram, Diagram)case below(Diagram, Diagram)case attributed(Attribute, Diagram)case align(CGPoint,...

2018-09-29 19:43:27 312

原创 swift escaping逃逸闭包用法

swift escaping逃逸闭包用户func insert (_ region: @escaping Region) -> Region {return { point in !region(point) }}当其中需要执行后才返回, 异步执行的,都需要添加escaping.如方法1.func doWork(block:()->() ) {block()}调用...

2018-09-29 19:42:02 1573

原创 使用FXKeychain进行 App间共享数据时需要注意的。

使用FXKeychain来共享数据 在github上下载这个源码。 然后直接使用, 使用时,如果只是当前app使用,则不用考虑service和accessGroup. 不用创建新的FXKeychain,直接使用其defaultKeychain对象进行存储和读取即可。 而在多个app间使用时,需要注意下面几点: 在app的targets下的Capabilities中的keychain sha

2017-02-09 17:55:25 3427

原创 获取最顶部的VC

下面这部分代码在iOS中可以获取到顶部的VC,不论中间采用了 push->push->present还是present->push->present,或是其它交互(UIViewController *)theTopviewControler { UIViewController *rootVC = [[UIApplication sharedApplication].delegate wind

2016-07-04 17:46:11 4664

原创 xcode7.1生成打包上传时需要注意的东西

xcode7.1生成打包上传时需要注意的东西XCode 7长级后,变化不少,其中一些变化,官方并没有明确说明, 但是给打包上传带来诸多不便。打包时,如果当前project还包含其它库的project,且当前项目是依赖于其它project生成的库的时候。如果当前project有多个scheme,比如自己生成了appRelease的scheme,则需要在被依赖的库的project栏中(注意不是targ

2015-11-20 10:04:45 5627

原创 XCode调试时, 显示不出变量的值,po也出不来

首先检查运行的scheme是release还是debug.检查项目的Targets的Build Settings中的Optimization Level其中的debug通常为None, 以使所有的信息都能输出来。最后再检查一个比较容易忽视的地方,在scheme中的Run的位置看是看debug的diagnostics中的全部选项,应该全不选。通常容易犯错在Enable Zombie Objects

2015-11-09 14:38:17 14933 1

转载 XCode环境变量及路径设置

一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。所以在修改User Header Search Paths这个选项的时候使用 “(SRCROOT)/当前工程名字/需要包含头文件所在文件夹”将上面的双引号里面的字符串拷贝之后,你会发现这

2015-10-30 14:34:38 5573

转载 App同一应用设置不同图标和名称

Bundle IDiOS系统区分不同的App是否相同是根据App的Bundle ID是否相同来判断的。如果想要在一个系统上安装一个App的多个版本其实是需要多个Bundle ID,就是说正式版一个Bundle ID,测试版一个Bundle ID。比如我们正式版(发布到AppStore上)的Bundle ID是com.devzeng.myappappstore,内部OTA测试版本的Bundle ID是

2015-10-30 14:33:52 7182

转载 如何打包生成App的两个不同名字,不同图标

iOS系统区分两个App是否相同的根据是App的Bundle ID是否相同,在安装一个程序时,系统是根据Bundle ID来判断是全新安装还是升级。那想在一个系统上安装一个App的两个不同版本,其实是需要两个不同的Bundle ID。就是说正式版一个Bundle ID,OTA版本/Debug版本用一个Bundle ID,假设AppStore版的ID是com.mycompany.myapp,OTA版的

2015-10-30 14:32:53 8894

转载 转一个 Xcode 7 缺少 *.dylib库的解决方法

Xcode7中 Link Binary With Libraries 没有 .dylib库,只能找到对应的 .tbd,但不能代替使用,通过查找资料,尝试后得到以下两种解决方法。方法1. (heqin测试可行)在项目Target中的Link Binary With Libraries 手动添加 首先点击 “+” 显示搜索添加页面,在这里如果搜索之前的libsqlite3.dylib是搜不出来ios

2015-10-08 10:31:01 28956 3

原创 ios Mantle使用小记

先从Mantle github上下载下最新代码, (最近发现这个Mantle升级变化也挺大的,或许过一段时间, 这个文章记录的方法也不适用了)1. 测试时, 可以使用下面这个网址及代码来测试, 里面有模型,数组,以及字典, 还可以有long long 转NSDate,  string 转 int等。    NSURL *url = [NSURLURLWithString:@"htt

2015-08-20 11:28:39 18695

原创 UITableView的cell的分割线位置

UITableView的cell的分割线位置对于ios7,ios8来说,调整UITableView的cell的分割线位置已经是相当不便,因为UITableView内部使用了margin layout. 其实只需要如下这样子就可以实现分割线的控制。 -(void)tableView:(UITableView )tableView willDisplayCell:(UITableViewCell )c

2015-06-30 13:12:43 9987

原创 系统UIAlertView与代码弹出的区别

点击系统弹出的UIAlertView后可以使用当前注册过的applicationDidBecomeActive通知会被调用。 系统弹出的UIAlertView如:请求系统使用用户当前位置的AlertView以及请求用户同意进行推送通知的AlertView.而代码写的UIAlertView弹出后,用户点击关闭时, 不会触发applicationDidBecomeActive通知事件。

2015-06-08 16:24:45 4451

原创 代码截图出现白色的图,或者黑色图

因为一个项目中需要进行动态截图,然后进行高斯效果。结果却发现, 有的地方,背景图明明不是白色或者黑色的, 但截出来的图却要么是白色的,或者黑色的。经反复研究发现原因是半透明图干扰所致。所以下次遇到这种情况,多检查一下是否有半透明的即可以排除这个问题。除截图代码。    UIGraphicsBeginImageContext(CGSizeMake(SCREEN_WIDTH,SCR

2015-05-12 20:36:48 6495

原创 减少编译出来的包大小

这里对有包大小有影响的配置项进行了描述,同时兼顾Crash收集所需要的dysm文件所配置。Deployment列:Deployment Postprocessing: NO Strip Debug Symbos During Copy: Debug: NO Release YES(Deployment Postprocessing设置为NO了,后面这个选项设置是无效的,保险起见

2015-02-28 10:50:53 8791

原创 [****ViewController respondsToSelector:]: message sent to deallocated instance

崩溃出现了,而且没有任何有效的提示,在断点处看不到断在哪里,只有在log有输出下面一句。[****ViewController respondsToSelector:]: message sent to deallocated instance很明显这是因为一个UIViewController释放后,又再次向这个VC调用了某些请求导致。而且根据log发现该VC是执行了dealloc

2015-02-12 23:17:24 15094 4

原创 调试断点,在没有对方代码的情况下,可以断点调试静态库或者可执行文件。

Symbolic Breakpoint通过类名以及方法名来添加断点的一种方式。例如:测试当前界面的viewDidLoad是否调用,判断类的某个方法,写成:-[ViewController viewDidLoad]即可。也可以直接在类的类别中进行添加,如下面的类别方法。1-[NSObject(NSObject) doesNotRecogn

2015-02-12 18:00:25 5160

原创 OC中的VFL

VFL自ios6.0就开始了, 不过由于觉得AutoResizingMask一直是可以解决所见的问题的情况下, 所以一直没有花时间来研究这个东西。自iphone6.0及iphone6 plus后,觉得再不去研究一下VFL对于代码布局的情况下就会比较麻烦,而且随着后期苹果再发布其它的设备的情况下,学习并会使用VFL已然成为iOS开发者的一个必须会的基本技能。目前我们在已上线的项目中还没有大规

2015-02-10 00:30:21 7176

原创 svn命令操作及cornerstone.

在使用svn进行代码管理时, 一般我们使用cornerstone.开发完一个版本后, 就可能需要打branch, tag操作。使用cornerstone就可以进行正常的tag, branch操作,还能进行合并操作。对于tag, branch, 本质上和当前开发的trunk目录没有什么两样,都是目录文件夹。通常来说只有权限的不一样,branch和tag目录的权限通常只有管理员具备写权限,其它

2015-02-09 14:48:41 10308

原创 设置UIView的frame时发生的崩溃。

出现一个崩溃, 然后跟踪调试。 最终发现了问题所在。 一个UIView的高度是根据一些条件计算出来的, 而这个高度的计算是有一个变量的。 所以可能就会出现除数为0的情况,计算出来的的高度就为为一个nan或者一个inf数字。 然后把这个frame设置给这个uiview, 就会出现一个崩溃问题。 (inf是不会崩溃的,但nan是会崩溃的)所以建议可以使用下面的方法来判断CGFl

2015-02-06 11:27:25 5316

原创 循环引用的block

项目中,遇到一个内存泄漏的问题, 一直查代码, 终于找到问题。说明:下面这段代码在一个UITableViewController中,为生成一个cell方法。- (EvaluateCellTableViewCell *)createUgcCell{    NSString *CellIdentifier = [[self getDetailElementHelper] getCell

2015-02-05 18:12:46 4127

原创 多线程并发访问可能出现的崩溃问题

出现这个崩溃的现象是, 进入一个界面时,该界面会同时发起三个异步请求操作。每个操作在发起数据请求时,都可能会调某一方法进行存取某一属性值。如属性comName;该属性声明为:@Property (nonatomic, strong) NSString *comName;-(void)updateComInfo {self.comName = @"nicedone";}

2015-01-27 12:01:42 13296

原创 使用真机调试时的问题。

1. 在打包出来后, 用 itools安装时有时会出现奇怪的错误, 说是签名错误。 这种情况可能是需要设置Targets->Build Settings->Code Signing -> Provisioning Profile, 设置成一个Distribution的profile即可。2. 有时在进行真机调试时,出现程序安装在设备上了,一调试就自动和XCode断开了,没法进行调试,我

2015-01-19 20:30:19 26319 2

转载 iOS 8中的通知中心快速回复

iOS 8拥有了全新的通知中心,有全新的通知机制。当屏幕顶部收到推送时只需要往下拉,就能看到快速操作界面,并不需要进入该应用才能操作。在锁屏界面,对于推送项目也可以快速处理。基本上就是让用户尽量在不离开当前页面的前提下处理推送信息,再次提高处理效率。能够进行直接互动的短信、邮件、日历、提醒,第三方应用,可以让你不用进入程序就能进行快捷操作,并专注于手中正在做的事情,用户可以做如下操作:

2015-01-15 14:21:49 1284

原创 让程序优雅地退出动画

有时在某些情况下,程序是需要退出的,比如你的程序强制要求用户登录,不登录即用不了, 那么可以设定一个退出按钮,点击退出程序。 (当然这种设计也比较脑残)。实现起来可以采用这个动画效果来做:    idUIApplicationDelegate> app = [UIApplicationsharedApplication].delegate;    UIWindow *win

2015-01-14 19:52:38 1224

原创 一个优化过的OC的简单冒泡排序算法

话说用OC来写排序算法,其实基本上是使用不到的。因为OC底层已经提供了一些现成的经优化过的排序算法。这里只是为了用OC来实现,并说明一下其中使用的一个BOOl isFinished可以有效地优化排序算法,降低时间复杂度。typedef struct JJListNode {    NSInteger data;    struct JJListNode *next;}listM

2014-12-28 11:54:13 4429

原创 JSONModel解析数据成Model

这两个开源库都是用来进行封装JSON->Model的, 想想看, 直接向服务器发

2014-10-24 20:45:30 93362 6

转载 Coretext用法, 讲得很好。

转至 http://blog.csdn.net/fengsh998/article/details/8691823 API接口文档。https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CoreText_Framework_Ref/_index.html CoreTex

2014-09-28 19:47:40 5200

转载 iOS开发 Coretext基本用法, 讲得很好。

转至 http://blog.csdn.net/fengsh998/article/details/8691823 API接口文档。https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CoreText_Framework_Ref/_index.html CoreTex

2014-09-28 19:46:40 20230

原创 Crashlytics使用总结

市场上有多种移动应用Crash收集工具,

2014-09-16 18:17:48 9657

原创 Property's synthesized getter follows Cocoa naming convention for returning 'owned' objects

这个问题是编译时报错的。咋一看这个错误, 还是

2014-09-05 15:20:53 1249

原创 SDK开发中如何去捕获系统的didReceiveLocalNotification以及didReceiveRemoteNotification通知

1. 开发应用程序时, 如果要在接受到本地通知或者远程通知里进行

2014-09-02 19:24:12 17896 6

转载 iOS类别(Category)与扩展(Extension)

Category在iOS开发中使用非常频繁。尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性。#import@interface NSObject (Category)- (void)myMethod;@end这是一个最简单的Category,作用于NSObject类,给N

2014-09-02 18:07:03 30245 1

iphone面试精选题

精选iphone面试题,ios面试题,包含内存泄漏分析

2013-03-05

ios 面试题

ios公司面试题汇总 包括objective 内存泄漏等

2013-03-05

学习ffmpeg时使用的iFrameExtractor项目

最新的iFrameExtractor项目源码

2012-03-06

ffmpeg最新版源码

最新的ffmpeg-0.10版本 最好的ffmpeg

2012-03-06

Mac下的pl命令工具gas-preprocessor.pl

最新的gas-preprocessor.pl 工具, 在编译ffmpeg时会用到

2012-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除