- 博客(39)
- 收藏
- 关注
原创 iOS获取唯一标示uuid,多个app共用一个uuid
苹果一心为用户考虑,以前获取设备唯一标示uuid的方法UIDevice.current.identifierForVendor?.uuidString当用户卸载app再次获取的时候会不一样要想获取不变的uuid我们可以使用苹果官方推出的KeychainItemWrapper。iOS的 keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立
2018-07-02 14:30:17
2115
原创 MJRefresh上拉刷新多次加载数据,死循环
iOS11后发现上拉刷新后,一直在不停的刷新并请求服务器原因:iOS11中UITableView在reloadData时contentOffset发生了改变,这时候MJ监听了contentOffset的变化,就导致再一次的调用上拉加载,变成了循环调用解决办法: if #available(iOS 11.0, *) { self.mainTableView.contentInsetAdj...
2018-06-05 17:56:15
3839
原创 iOS集成环信客服提示No code signature found、can't open input file、打包不成功
关于iOS集成环信客服打包不成功问题:运行出现这种情况 图1这种情况 图2这种情况的 图3按字面意思理解,是包里含有不支持的架构。x86_64和i386是模拟器架构,的确是在发布时不需要的。可是Framework是打好的包,如何去除是个问题这里给出一个统一解决办法1.全局搜索CFBundleExecutable字段,删除HelpDeskUIResource.bundle里面info....
2018-05-24 23:12:47
1263
原创 iOS 日本日历、佛教日历取date的问题及公历转换,时间戳获取不准确
iOS中支持的日历有三种,分别是:公历,日本日历和佛教日历先看一下获取时间戳的代码打开手机设置->通用->语言与地区->日历,我们依次选择“公历”、“日本日历”、“佛教日历”,并运行工程打印结果依次如下:----时间戳----> 2017-12-27 16:00:17----时间戳----> 0029-12-27 16:01:25
2017-12-27 15:46:43
5244
原创 UITableView 卡顿、掉帧、的优化。cell里面循环创建view 导致卡顿掉帧的优化
1.关于UItableView的优化现在网上已经有很多,无外乎以下几种1.提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法(最好是在数据下载完成转model的时候在model里面计算)2.滑动时按需加载,这个在大量图片展示,网络加载的时候很管用!(SDWebImage已经实现异步加载,配合这条性能杠杠的3.正确使用reus
2017-11-08 18:09:01
3875
原创 设置Xcode调试模式,运行成功后等待用户交互后再启动
我们直接运行xcode后,程序回直接运行到我们app的主页。很多时候我们不需要app自动运行起来,而是等待我们交互之后才运行,比如我们要测试app没在后台并且操作点击推送进入app。这样的话我们再自动运行状态下事没有办法测试的。实际上Xcode是有这样的设置的product -> scheme -> edit scheme 里面有两个模式默认automati
2017-07-31 14:14:58
1932
原创 iOS xib用新的view替换默认view
1.将老的xib里面的view删除,添加新的view2.选择xib文件的“File's Owner”3.右边的custom class将class设置为自己xib文件名即可(默认是nsobject)
2017-06-15 11:25:03
1238
原创 scoket如何处理粘包和分包
首先看两个概念: 短连接: 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接: 连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。 长连接指建立SOCKET连接后不管是否使
2017-05-03 15:21:29
691
原创 ios集成讯飞语音出现错误 objc-class-ref in iflyMSC(IFlyContact.o),symbol(s) not found for architecture x86_64,
iOS集成讯飞语音出现以下错误:1.Undefined symbols for architecture x86_64:2.objc-class-ref in iflyMSC(IFlyContact.o)3.ld: symbol(s) not found for architecture x86_644.linker command failed with exit code 1
2017-03-13 14:44:01
1745
原创 cocopods显示 [!] The `master` repo requires CocoaPods 1.0.0 - (currently using 0.39.0)
cocopods 使用时出现[!] The `master` repo requires CocoaPods 1.0.0 - (currently using 0.39.0)这个问题是版本过低需要升级1.终端输入:sudo gem install -n /usr/local/bin cocoapods –pre2.输入密码3.出现上图就证明成功了,试验一下:pod sea
2017-03-01 16:38:29
856
原创 swift3.0集成jpush3.0.1
jpush3.0之后改动还是比较大的,再加上swift3.0也有改动,集成起来就有点困难了。下面咱们来用sswift3.0来集成jpush3.0.11.前期的项目加入jpushSDk及配置我就不多说了,如股票是第一次的话看这里:http://docs.jiguang.cn/jpush/client/iOS/ios_guide_new/2:看下图,这个文件是我从AppDelegate里面抽取
2017-02-14 17:19:30
1162
转载 iOS非常全的第三方库
iOS非常全的第三方库iOS ● 非常全的三方库、插件、大牛博客等等 github排名:https://github.com/trending,github搜索:https://github.com/search.此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOSUI下拉刷新EGOTabl
2017-02-07 13:37:45
7188
原创 ios证书配置管理;iOS生产证书、测试证书申请及管理;ios推送证书申请及配置;Xcode打包证书配置;多人开发证书共享方法
Ios8之后证书有很多变化,但整体来说变得很快捷,很智能,很简便,下面咱们来看一下证书从0开始到打包ipa包的一个生命流程。1.创建开发证书和生产证书1.选择创建证书2.点击“+”号添加证书3.选择开发证书4.创建5.选择钥匙串6.创建钥匙串生成一个“CertificateSigningRequest.certSigningReq
2017-01-19 10:59:58
2606
翻译 超全!整理常用的iOS第三方资源
一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地址:https://github.com/topfu
2017-01-12 10:19:28
500
原创 ios,swift 给控件(UIImageView,UIView,UILable)添加响应事件
给非Button控件添加点击事件(这里以imageview为例)但是我们会发现这样不会调用我们的personInfo方法,那是因为我们没有打开UIImageView的交互功能添加一下代码:self.userImage.userInteractionEnable = true或者在xib文件勾选user Interaction Enable这样就可
2016-10-22 14:11:20
1319
原创 极光推送不成功,Not get deviceToken yet
最近做项目发现以前集成好的极光推送突然不好用了。项目提示:Not get deviceToken yet. Maybe: your certificate not configured APNs? or current network is not so good so APNs registration failed? or there is no APNs register code?
2016-07-14 10:55:05
10518
3
原创 iOS 在user defined runtime attributes(用户定义的运行时属性)改变UI
user defined runtime attributes(用户定义的运行时属性)是一个非常强大但是几乎没用过的功能它在这里:我们先看一下它的他用处,在Main.StoryBord里面添加一个Lable和一个TextFile:在ViewController里面我没有添加任何对它们的操作,甚至没有拖线链接关系:但是我们看一下运行效果:我
2016-01-14 18:36:09
5380
原创 iOS微更新,热更新,局部更新,bug修复
iOS微更新,热更新,局部更新,bug修复iOS重新打包,利用JSPatch来修复BUGOC语言是一门动态性语言,OC上创建类,调用方法,点击、手势的响应事件都是通过OC的Runtime(运行时)来实现的。我们可以通过相同的方法名和类名,在运行时来截取OC的响应事件或创建类。 这就是我们可以用JS文件来修复BUG的原理。我们先看一下代码:
2016-01-13 16:56:55
1237
原创 iOS8之后tableView cell自动计算高度
在APP中tableView是我们最常用的控件之一,难免会遇到动态计算cell高度,之前我们都是手动计算cell高度然后付值,如:这个就不多说。今天我们就说一下cell的新特性:我们只要在controller里面加入两句就可以了(前提是用autolayout):这样就可以计算了,就算是多个控件也是可以用的:看结果:
2015-12-15 16:25:01
809
翻译 iPhone屏幕适配 程序启动后状态栏字体变大
iPhone屏幕适配,启动页设置,xcode6 开启 iPhone6 & iPhone6 plus 分辨率iphone手机屏幕变大之后,我们iOS开发者也要关注屏幕适配了,有时还会遇见莫名其妙的问题:如:程序启动后状态栏字体变大:这个问题就是因为我们的APP启动界面图片问题,简单的解决办法就是启动页面图片分辨率改成相应屏幕分辨率。具体原因往下看:我们可以穿件一个
2015-07-24 14:31:24
2917
原创 iOS中url的特殊字符转换
URL特殊字符处理一般来说我们调用webVIew的时候,只要给webVIew传一个url,在网页里面就可以显示网页信息。但是当我们传的url比较麻烦或者带文字符,带参数的时候我们需要对特殊字符进行转义。我们还可以用遍历,正则等来把特殊字符给替换掉!!有两种方法:一,使用NSString的方法:1. //字符串加百分号转义使用编码 (这个方法会把参数里
2015-07-20 14:37:19
6994
原创 iOS中 imageNamed方法 很多图片占用大量内存问题
当我们需要加载很多图片(相册)的时候我们一般会用[UIimage imageNamed:imageName];实际上[UIimage imageNamed:imageName]这个方法在图片使用完成之后不会被肢解释放掉,具体的释放时间是由系统决定的,这个方法治适用于图片小和一些常用的图像处理。当我们做一个简单的图片浏览器的时候我们就不能用这个方法了,这里有一个简单的大概方法加载图片:
2015-07-15 16:59:51
2832
原创 ARC工程中添加非ARC文件,或者非ARC环境中添加ARC文件
ARC与非ARC在一个项目中同时使用,选择项目中的Targets,选中你所要操作的Target,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno-objc-arc
2015-03-31 15:21:52
935
转载 正则表达式的可视化应用
分享5个可视化的正则表达式编辑工具正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。本文推荐五款可以可视化操作的正则表达式编辑器,这些工具可以很好地帮助开发者学习正则表达式知识,并且提升开发技能。1.RegulexRegulex是一个JavaScript正
2014-12-02 18:07:19
914
原创 eclipse中导入工程时会出现很多错误的解决办法
出现这样的错误是因为没有为项目指定sdk的原因为项目指定sdk的方法右键点击工程名称,弹出菜单中点击“Properties->Android”,在Project build target 中指定你要使用的SDK版本即可
2014-11-18 10:03:11
2776
原创 IPhone开发工具篇-利用xcode profile和analyze进行性能优化
内存泄漏问题的解决内存泄漏(Memory Leaks)是当一个对象或变量在使用完成后没有释放掉,这个对象一直占有着这块内存,直到应用停止。如果这种对象过多内存就会耗尽,其它的应用就无法运行。这个问题在C++、C和Objective-C的MRR中是比较普遍的问题。在Objective-C中释放对象的内存是发送release和autorelease消息,它们都是可以将引用计数减1,当为
2014-11-07 14:46:39
949
原创 关于iOS中数据持久化的几种方法,重点介绍SQLite3
在iOS开发的过程中熟练使用SQLite3数据库、NSUserDefaults、Plist、归档
2014-11-05 14:17:59
1040
原创 iOS中浅拷贝和深拷贝的区别
浅拷贝仅仅是拷贝了指针, 就是新的指针指向的还是同一块内存空间。深拷贝是重新向操作系统申请了相同的内存,并把原来的所有数据复制一份。浅拷贝相当于对于原指针的引用计数加了1.深拷贝的主要区别, 重新分配了内存空间,真正意义存在了两个对象。实际,深拷贝是我们一般情况理解的拷贝。
2014-11-05 14:04:29
825
原创 关于iOS平台,时间格式的表达方式
关于iOS平台,时间格式的表达方式 * G: 公元时代,例如AD公元 * yy: 年的后2位 * yyyy: 完整年 * MM: 月,显示为1-12 * MMM: 月,显示为英文月份简写,如 Jan * MMMM: 月,显示为英文月份全称,如 Janual
2014-11-05 13:55:55
1197
原创 类别和类的扩展
1. 类别的主要作用:为**已经存在**的类添加方法。 已经存的类包括系统定义的类, 也包括自己或者第三方定义的类。2. 可以将类的实现分散到不同的文件或多个不同的框架中实现。3. 可以向对象添加非正式协议4. 创建对私有方法的前向引用 类别的局限性: 1. 无法向已存在的类中添加实例变量,因为类别没有位置容纳实例变量。 2. 容易造成命名冲突,根据类
2014-11-05 13:28:40
723
原创 nil,Nil,NULL,NSNull的区别
在iOS平台里,出现过nil ,Nil ,NULL, NSNull 的区别 NULL:定义在#include #define NULL (void*)0 所以NULL的本质就是((void*)0) Nil: 在系统的定义里: ``` #ifndef Nil # if __has_feature(cxx_nullptr) # define
2014-11-05 13:23:17
769
原创 浅谈MVC
1. 谈谈对MVC的理解 MVC是一种设计模式, 这种设计模式用于分离代码的不同模块, 用于提高代码的健壮性和复用性。 M:Model 指的程序的数据相关。如果以游戏为例:model可以用于描述游戏角色的攻击力、杀伤力、血量! V:View 凡是在界面上看到的内容都是View.换句话说:就是显示具体的内容。 C:Controller 如果M和V之前有过多的关联, 那么一定会影响代
2014-11-05 13:21:27
622
原创 论#import和#include 以及#import "stdio.h"和#import<stdio.h>的区别
#include #include "stdio.h"别
2014-11-05 12:21:55
1054
翻译 程序员非技术面试题
你认为自己最擅长的技术是什么?谈谈你对XX行业/技术发展趋势的看法?对最近XX技术问题发表下你的看法?在五年的时间内,你有什么样的职业发展规划?你最近有看哪些书或参加过什么样的培训?有灌技术论坛的习惯吗?今年有什么学习计划?今年有什么目标?研究过开源项目吗?有什么收获?你做过哪些项目?最成功的是哪个?为什么?辛辛苦苦工作半年的项目失败了,你怎么办?评价下你过去的团队
2014-11-05 00:35:34
1014
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人