iOS开发
凌凌0
这个作者很懒,什么都没留下…
展开
-
class和struct的区别
参考:The Swift Programming Language原创 2021-12-14 11:30:49 · 1513 阅读 · 0 评论 -
创建widget运行崩溃
崩溃信息Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_NSXPCDistantObject ___nsx_pingHost:]: unrecognized selector sent to instance 0x600000865720'*** First throw call stack:( 0 CoreFoundation 0x0原创 2021-09-01 16:15:09 · 858 阅读 · 1 评论 -
项目无法选择模拟器运行
原创 2021-08-05 10:16:43 · 202 阅读 · 0 评论 -
2021-06-30
iOS启动图各机型启动图尺寸,参考地址https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout尺寸机型图片6.7寸屏幕3xiPhone 12 Pro Max428x926 pt (1284x2778 px @3x)6.1寸屏幕3xiPhone 12,iPhone 12 Pro390x844 pt (1170x2532 p原创 2021-06-30 13:01:02 · 107 阅读 · 0 评论 -
使用cocoapod报错
错误一Unable to add a source with url `https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ` named `edu-git-cocoapods-specs`.解决方法:rm -rf ~/.cocoapodsmkdir -p ~/.cocoapods/reposcd ~/.cocoapods/repos git clone git://cocoapodscn.com/Specs.git mas原创 2020-11-23 10:33:54 · 611 阅读 · 0 评论 -
appStore版本号由三位改为四位
不能直接把bulid改为四位的版本号 http://www.jianshu.com/p/860fdd8860cc转载 2017-02-18 10:56:27 · 6560 阅读 · 0 评论 -
UIButton状态——在isSelected状态时点击按钮状态为UIControlStateSelected | UIControlStateHighlighted
UIControlStateSelected | UIControlStateHighlighted 在isSelected状态时再点击按钮就变成了UIControlStateSelected | UIControlStateHighlighted的状态[self.button setBackgroundImage:normal forState:UIControlStateNormal];[原创 2017-03-30 18:24:33 · 2932 阅读 · 0 评论 -
Property属性——属性关键字
属性关键字的含义 属性关键字的含义 strong 强引用 ,常使用在继承自NSObject的类,对象的引用计数+1 weak 弱引用,不增加对对象的引用计数,当对象消失后自动把指针变成nil ; 为了防止循环引用,delegate使用weak assign 用于基础数据类型(NSInteger,CGFloat)和C数据类型(int, flo...原创 2018-03-19 10:37:21 · 769 阅读 · 0 评论 -
ProtocolBuffer——生成.pbobjc.h和pbobjc.m文件
将.proto文件转化为.pbobjc.h和pbobjc.m文件1.下载protobuf文件 https://github.com/google/protobuf/tree/master/objectivec2.cd到下载的目录,在终端一次执行下面的指令$ ./autogen.sh$ ./configure$ make$ make check$ sudo make install$ o原创 2016-12-20 17:49:30 · 2236 阅读 · 0 评论 -
一、两个静态库中包含相同的类
两个静态库中包含相同的类,会发生冲突,且发生冲突的.o文件相同:1.就如sdk所在的目录及使用ls命令查看文件cd /Users/apple/Desktop/test/wxls2.查看sdk支持的格式file libWeChatSDK.a支持的格式如下:libWeChatSDK.a: Mach-O universal binary with 5 architectureslibWeChatSDK原创 2016-12-20 16:01:51 · 1762 阅读 · 0 评论 -
手机蓝牙是打开的但是状态是CBCentralManagerStateUnknown
手机蓝牙是打开的,但是使用状态是CBCentralManagerStateUnknownCBCentralManager *manager =[[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_global_queue(0, 0)];manager.state = CBCentralManagerStateUnknow原创 2016-12-30 16:26:16 · 1599 阅读 · 0 评论 -
ARC forbids Objective-C objects in struct
问题原因:我的项目没有使用ARC,但是引入的第三方库使用了ARC解决办法:指定单个文件是否采用ARC来进行编译 在Build Phase->Compile Source里面找到需要特殊处理的文件,编译选项(Compiler Flags)设置为-fno-objc-arc原创 2016-12-19 11:07:00 · 546 阅读 · 0 评论 -
https——自建证书验证
1.通常在info.plist文件中设置的如下两行代码,禁用ATS<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>2.由于我们测试环境使用的是自建证书,所以NSAllowsArbitraryLoads改为false;使用A原创 2016-12-14 15:22:30 · 2785 阅读 · 0 评论 -
关于【2017 年1月1日开始iOS应用内必须使用https的问题】
对iOS开发者没有这个要求原创 2016-12-14 09:40:39 · 1887 阅读 · 0 评论 -
iOS推送
iOS 10系统,当系统处于 前台,收到推送消息有通知提示; iOS 10以下系统处于前台收到推送消息,没有通知提示。收到推送时点击应用图标进入,监听不到推送消息收到推送时点击通知进入应用 1)程序未启动,点击通知 a. iOS10 先走 -[AppDelegate application:didFinishLaunchingWithOptions:]再-[AppDelegate j原创 2017-05-04 17:39:05 · 389 阅读 · 0 评论 -
xcode缓存清理
1.DerivedData2.Archives 3.iOS DeviceSupport 4.CoreSimulator 路径 ~/Library/Developer原创 2017-05-04 18:49:33 · 257 阅读 · 0 评论 -
理解:KVO原理
KVO是基于runtime机制实现的当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在派生类中重写被观察属性的setter方法(在被重写的setter方法中内实现真正的通知机制) 1)派生类:例如原类为Person,生成的派生类名NSKVONotifying_Person 2)当一个类对象第一次被观察,系统会将isa指针指向动态生成的派生类 注:每个类对象的...原创 2018-04-25 21:26:24 · 170 阅读 · 0 评论 -
declare a block in Objective-C
As a property: @property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes);As a method parameter: - (void)someMethodThatTakesABlock:(returnType (^nullability)(parame...转载 2018-03-21 09:33:32 · 186 阅读 · 0 评论 -
iOS沙盒目录结构
- Documents:保存应用运行时生成的需要持久化的数据,如游戏进度、涂鸦软件的绘图等信息, 该目录会被iTunes同步备份。 - Library/Caches:保存应用运行时生成的需要持久化的数据,iTunes同步设备时不会备份该目录。一般存储体积大、不需要备份的非重要数据,如缓存图片或者离线数据(地图等)。 - Library/Preference:保存应用的所有偏好设置,i...转载 2018-03-20 10:51:17 · 233 阅读 · 0 评论 -
Property属性——使用场景
属性 使用场景 strong 强引用(指向对象,并拥有此对象),NSObject和其子类对象,其修饰的对象引用计数会增加1。该对象只要引用计数不为0则不会被销毁。当然强行将其设为nil可以销毁它 weak 弱引用(指向对象,但不拥有此对象),NSObject和其子类对象,常用来修饰代理,其修饰的对象引用计数不会增加。无需手动设置,该对象会自行在内存中销毁...原创 2018-03-19 13:42:14 · 391 阅读 · 0 评论 -
指纹验证错误码
LAErrorAuthenticationFailed:// 身份验证失败,三次指纹输入错误LAErrorUserFallback://认证被取消,因为用户点击认证对话框中的后备按钮,但认证策略没有后备可用LAErrorPasscodeNotSet://验证无法启动,因为设备上未设置密码LAErrorTouchIDNotAvailable://验证无法启动,因为设备上的Touch ID不可用原创 2017-10-10 09:11:58 · 1622 阅读 · 0 评论 -
NSError error.code对照表
URL Loading System Error CodesThese values are returned as the error code property of an NSError object with the domain “NSURLErrorDomain”.typedef enum { NSURLErrorUnknown = -1, NSURLErrorCanc原创 2017-04-27 11:09:24 · 2311 阅读 · 0 评论 -
iOS两个应用间的跳转
两个应用间的跳转原创 2016-12-14 09:35:45 · 282 阅读 · 0 评论 -
xCode8.1打包上传AppStore包“消失”的问题
上线的时候,将包传成功之后,构建版本处没有加号,传上去的包消失了……原创 2016-12-05 22:44:56 · 1819 阅读 · 1 评论 -
响应者链条
一.什么是响应者事件只有继承了UIResponser的对象,才能接收并处理事件,成为响应者对象UIApplication,UIView,UIViewController都是继承自UIResponser二.什么是响应者链条1.响应者链条是由多个响应者对象链接起来的链条2.利用响应者链条,能让多个控件处理同一个触摸事件三.上一个响应者1.如果当前的这个vie原创 2015-12-26 19:42:40 · 239 阅读 · 0 评论 -
支付宝支付
一.大致步骤1.向支付宝申请,与支付宝签约,获得商户ID(partnerId)和账号ID(sellerId)2.下载相应地公钥私钥文件(加密签名用)3.下载支付宝SDK4.生成订单信息,签名加密5.调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道6.支付完毕后,支付宝客户端会自动回到原来的应用程序(根据回调地址)7.在原来的应用中显示支付结果给用户看原创 2015-12-21 16:18:34 · 406 阅读 · 0 评论 -
深拷贝和浅拷贝的区别
一.深拷贝源对象和副本对象是不同的两个对象源对象引用计数不变,副本对象计数器为1(因为是新产生的)至少有一层是对象复制二.浅拷贝源对象和副本对象是同一个对象源对象(副本对象)引用计数器+1,相当于做一次retain操作本质:没有产生新的对象三.完全复制对于被复制的对象每一层都是对象复制四.哪些是深拷贝,哪些是浅拷贝reta原创 2015-12-21 11:41:38 · 3179 阅读 · 0 评论 -
移除通知
一.为什么要移除通知通知中心不会保留(retain)监听器对象,在通知中心注册过得对象,必须在该对象释放前移除通知,否则,当响应的通知再次出现时,通知中心仍然向该监听器发送消息,因为,响应的监听器对象已经被释放,所以可能会导致应用崩溃二.UIDevice通知 UIDevice类提供了一个单例对象, 它代表着设备, 通过它可以获得一些设备相关的信息, 比如电池电量原创 2015-12-20 13:15:42 · 1184 阅读 · 0 评论 -
SDWebImage原理
1.SDWebImageManager根据URL开始处理图片2. SDImageCache 从缓存查找图片是否已经下载3.先从内存图片缓存查找是否有图片,如果内存中已经有图片缓存,SDImageCacheDelegate 回调 imageCache:didFindImage:forKey:userInfo: 到 SDWebImageManager。4.SDWebImageManager原创 2015-12-16 23:40:29 · 282 阅读 · 0 评论 -
Socket和HTTP的区别
1.HTTP是一种协议,Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已。2.http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;socket连接:socket连接就原创 2015-12-16 23:21:07 · 570 阅读 · 0 评论 -
NSString* testObject = [[NSData alloc] init];testObject 在编译时和运行时分别是什么类型的对象?
首先,声明 NSString *testObject 是告诉编译器,testObject是一个指向某个Objective-C对象的指针。因为不管指向的是什么类型的对象,一个指针所占的内存空间都是固定的,所以这里声明成任何类型的对象,最终生成的可执行代码都是没有区别的。这里限定了NSString只不过是告诉编译器,请把testObject当做一个NSString来检查,如果后面调用了非NSStrin转载 2015-12-16 18:48:28 · 315 阅读 · 0 评论 -
UIViewController的生命周期
一.UIViewController的作用1.对内管理与之关联的view,对外跟其他ViewController通信和协调loadView和viewDidLoad的一个区别:loadView时还没有view,而viewDidLoad时,view已经创建好了2.ViewController对View的加载过程1)先判断子类是否重写了loadView,如果有直接调用,之原创 2015-12-16 12:48:07 · 347 阅读 · 0 评论 -
#import和@class的区别
引用一个类可以通过#import引入,也可以通过@class引入,这两种方式的区别在于一.使用方法1)#import 方式会包含被引用类的所有信息,包括被引用类的变量和方法;@class 方式只是告诉 编译器在A.h 文件中 B *b 只是类的声明,具体这个类里有什么信息,这里不需要知道,等实现文 件中真正要用到时,才会真正去查看B 类中信息;2原创 2015-12-16 18:17:40 · 281 阅读 · 0 评论 -
点击MPMoviePlayerController播放视频时,出现一个黑屏闪屏的现象
当点击某按钮播放视频时,如果在按钮触发函数时alloc MPMoviePlayerController对象,同时加载资源文件,因为加载资源文件也需要时间,这时会有一个短暂的黑色闪屏,这点体验很不好,有一个好的解决方案是,提前alloc预加载好该MoviePlayer对象,点击按钮时直接调用play。转载 2015-12-16 10:31:09 · 456 阅读 · 0 评论 -
iOS9新特性
iOS9新特性原创 2015-12-15 22:18:43 · 367 阅读 · 0 评论 -
常用加密方式
一.常用加密方式的介绍常用的加密方式有Base64,MD5,MD5加盐,时间戳密码二.加密方式介绍1.base64base64 基本能够达到安全要求,但是,base64能够逆运算,非常不安全!原本是 8个bit一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每两个0 用 一个 = 表示.用base64编码之后,数据长度会变原创 2015-12-16 15:05:58 · 907 阅读 · 0 评论 -
UITableView的优化
参考别人整理的UITableView优化技巧:http://www.cocoachina.com/ios/20150528/11968.html一.要知道UITableView的工作原理,(1)核心:UITableview的重用机制当要显示 某一位置的cell时,先去重用池中取,若重用池中没有,才去创建,这样极大的减少了内存的开销(2)两个回调方法tableView:cellFor原创 2016-02-19 17:33:08 · 272 阅读 · 0 评论 -
React Native开发安装和创建工程
参考:http://blog.csdn.net/hello_hwc/article/details/51612139原创 2016-08-04 20:51:48 · 224 阅读 · 0 评论 -
iOS延时和取消延时
多么痛的领悟………………延时方法:[self performSelector:@selector(timeOutHandleAction) withObject:nil afterDelay:10];在10s内取消延时的方法:[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(t原创 2016-07-19 10:21:20 · 734 阅读 · 0 评论 -
storyboard优雅使用规范
storyboard优雅使用规范https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112441&idx=1&sn=f39a1988a37a78b9b865856c63907f94&scene=0&key=77421cf58af4a6532d73c3bc3e4aa274c35c76b52bcc86661344e88e971转载 2016-07-07 17:20:03 · 466 阅读 · 0 评论