自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

忆思梦

iOS开发

  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS 签名

原文地址因为苹果的安全策略,通过签名机制保证手机上的每个app都是经过苹果认证的。安装方式:通过App Store安装。开发者可以通过Xcode安装。Ad-Hoc 测试证书打包的app,数量限制100。In-House 企业版证书打包app,信任企业证书后可以使用。一、 通过App Store安装由苹果生成一对公私钥,公钥内置与iOS设备中,私钥由苹果保管。开发者上传app...

2018-12-21 16:35:22 1152 1

原创 Winding Rules 缠绕规则

在实现一个镂空的效果时,发下路径的方向,会影响最终实现的效果,所以进一步研究了一下。当填充路径所包含的区域时,NSBezierPath 会通过缠绕规则来判断需要填充的区域。通过给定区域内的任意一点到路径外画一条射线,根据与路径的交叉数判断点是否在区域内。缠绕规则:NSNonZeroWindingRule:非零缠绕。射线从左到右每交叉路径一次+1,从右到左每交叉一次-1。如果最终交叉数为0,...

2018-12-13 17:47:32 570

原创 GCD

Grand Central DispatchGCD 是异步执行任务的技术之一,提供系统级线程管理,具有高执行效率。开发者只需要将要执行的任务添加到适当的 Dispatch Queue 中,由系统自动调度执行。iOS6以后被纳入到 ARC 的范围内,不需要手动管理了。通常应用程序中的线程管理要在系统层级实现,GCD是在iOS和OSX的核心XNU内核级上实现。Dispatch QueueD...

2018-12-10 18:35:36 338

原创 weak

weakweak 是弱引用(不持有),与 strong 相对。内部实现Runtime 维护着一个全局的哈希表,即由自旋锁控制的弱引用表(weak_table_t),以对象地址为key,以指向对象的弱引用的散列集合为value。// 全局弱引用表struct weak_table_t { weak_entry_t *weak_entries; // 所有的弱引用记录};// 弱...

2018-12-06 10:59:54 333

原创 Crash & Error

crash收集crash连接设备,window->devices->View device logs线上:通过iTunes connect,app资讯页面,有一个【Crash Reports】链接。线上:window->Organizer->上方【Crashs】iOS设备上保存的Crash,设置->隐私->诊断与用量->诊断与用量数据,这里保存...

2018-12-04 17:06:10 215

原创 ObjC 源码

类的结构typedef struct objc_class *Class;struct objc_class { Class isa; Class super_class; const char *name; long version; long info; long instance_size; struct objc_ivar_li...

2018-11-23 17:45:55 554

原创 仿微博、简书个人页 YSMContainerView

一个比较易于接入的,简单的实现微博简书等个人页的轮子。Demo地址之前面试被问到了微博个人页的实现,应该是考查手势冲突的问题,回来之后按照自己的想法实现了一个,但是扩展性始终不太好,最近仿照UITableView的方式重新实现了一个版本。介绍YSMContainerView: 继承自UIView,是整个视图的容器。YSMContainerViewDataSource: YSMConta...

2018-11-16 14:44:23 280

原创 CocoaPods 私有库 实现组件化

先说下CocoaPods拉取开源库的原理:我们知道 CocoaPods 有一个开源的索引仓库[Specs](https://github.com/CocoaPods/Specs),仓库存放着所有开源库的各个版本的`.podspec`文件,`.podspec`文件包含中记录着源码的地址。我们首次使用CocoaPods时,会将这个文件库克隆到本地`~/.cocoapods/repos/master...

2018-11-13 10:58:39 618

原创 简述静态库和动态库

1 介绍静态库:链接是直接拷贝到可执行文件中,app间不共用。文件为 .a 和 .framework 。动态库:链接时不复制,程序运行时由系统动态加载到内存,系统只加载一次,APP间共用。文件为 .framework 和 .tdb 。Embedded Binaries: 嵌入二进制,会把库文件嵌入到APP的Bundle中(ipa包中),程序运行时会从bundle中加载库。Linke...

2018-10-30 16:29:57 462

原创 UITableView的contentSize

我们都知道由于UITableView是继承自UIScrollView的,所以他是可以设置contentsize的。 但是,我在试验的过程中,初始化UITableView实例后,直接设置它的contentsize是不起作用。 UITableView * tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bo

2015-12-03 18:02:53 4719

转载 iOS Core Image 复杂的滤镜

在上一篇中几乎没有对滤镜进行更复杂的操作,都是直接把inputImage扔给CIFilter而已,而Core Image实际上还能对滤镜进行更加细粒度的控制,我们在新的工程中对其进行探索。为此,我重新建立了一个空的workspace,并把之前所使用的工程添加到这个workspace中,编译、运行,没问题的话我们就开始创建新的工程。通过workspace左下角的Add Files to添加已

2015-09-24 14:18:35 1527

原创 实现让你的应用在其他应用中文件的打开方式列表中显示

要实现在其他应用中文件的打开方式列表中显示需要以下两个步骤(测试的时候需要真机条件):  ->首先要向iOS系统注册App能够打开的文件类型,这样其他应用程序在使用 Document Interaction 向系统询问有哪些程序可以打开文档      时,系统才会将你的应用显示在“打开方式”的列表中。  ->完成注册步骤后我们需求的功能就已经完成一大半了,现在进行真机测试比如在邮件里的

2015-03-26 18:09:21 1580

原创 使用字符串来表示UIView的tag值

首先声明这个方法非我原创!这是一个同学想出来的下面我们来说一下具体实现,使用tag值时,因为是一个毫无意义的数字,使用起来不免麻烦;加入我们使用字符串来设置tag值,例如:aLabel的tag值为“aLabel”,我们定义视图的时候,肯定不会定义相同名字的,那么这样是不是就更便于记了呢。下面就来具体说说怎么实现吧,首先我们要为UIView设置类目: " UIView+Tag "

2014-12-07 21:23:18 1432

转载 iOS 很全的小技巧集合

退回输入键盘  - (BOOL)textFieldShouldReturn:(id)textField{    [textField resignFirstResponder];} CGRectCGRect frame = CGRectMake (origin.x,origin.y, size.width, size.height);矩形NSStringFromCGRe

2014-11-24 21:55:00 1043

原创 info.plist文件中各键的含义,留着用

UIRequiresPersistentWiFi 在程序中弹出wifi选择的key(系统设置中需要将wifi提示打开)UIAppFonts 内嵌字体http://www.minroad.com/?p=412UIApplicationExitsOnSuspend 程序是否在后台运行,自己在进入后台的时候exit(0)是很傻的办法UIBackgroundModes 后台运行时的服务,具

2014-11-24 21:04:36 497

原创 学习GCD的一些基本用法

1.首先我们先创建一个队列

2014-11-23 22:45:55 414

原创 iOS 简述消息推送流程

1、应用程序注册消息推送。2、iOS从APNS Server获取devicetoken,应用程序接收device token。3、应用程序将device token发送给程序的PUSH服务端程序。4、服务端程序向APNS服务发送消息。5、APNS服务将消息发送给iPhone应用程序。

2014-11-23 22:07:25 457

原创 获取ios内存使用情况

//获取当前设备可用内存及所占内存的头文件#import #import // 获取当前设备可用内存(单位:MB)- (double)availableMemory{  vm_statistics_data_t vmStats;  mach_msg_type_number_t infoCount =HOST_VM_INFO_COUNT; kern_return_tk

2014-11-20 10:59:12 427

原创 iOS汉字转换成拼音

//将汉字转换成拼音    CFMutableStringRef className = CFStringCreateMutableCopy(nil, 0, (CFStringRef)class);    CFStringTransform(className, nil, kCFStringTransformMandarinLatin, NO);    //将拼音的音调去掉   

2014-11-05 21:54:31 402

iOS 仿微博个人页实现

仿照微博个人页实现,易于扩展,注释详细,还有思路总结。

2018-11-16

objc runtime 源码 208

学习 iOS runtime 的源码,class protocol category method sel 等的内部实现。

2018-11-01

空空如也

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

TA关注的人

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