随笔分类 - iOS开发
摘要:各个 CPU 架构支持 iPhone 机型如下: ARMv6:iPhone、iPhone 3G、iPod 1G/2G; ARMv7:iPhone 3GS、iPhone 4、iPhone 4S、iPod 3G/4G/5G、iPad、iPad 2、iPad 3、iPad Mini; ARMv7s:iPh
阅读全文
摘要:WKWebView 简介: WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。WKWebView 拥有60fps滚动刷新率、和 safari 相同的 JavaScript 引擎等优势。 之前在使用
阅读全文
摘要:支持系统: iOS 10.3+ tvOS 10.2+ Apple 官方文档 官方 API: 步骤: 在 info.plist 文件中新增 Icon files (iOS 5) 其中,Primary Icon 是应用默认图标 Xcode 中,默认 没有 CFBundleAlternateIcons,需
阅读全文
摘要:函数式编程(Functional Programming), 函数式编程强调的函数:1、不依赖外部状态;2、不改变外部状态。 函数式编程可解决线程安全问题,每一个函数都是线程安全的。 时间状态:变量一旦有了状态,它就有可能随着时间而发生变化,时间是最不可预知的因素。 空间状态:如果把一个线程看成一个
阅读全文
摘要:链式编程思想是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。例如 a(1).b(2).c(3)。 链式编程思想最为关键的是,方法的返回值是block,block必须返回对象本身(返回block时,block所在的方法调用者对象)block的参数是需要操作的值。; 在iO
阅读全文
摘要:在移动端和服务端通信中,一般有两种认证方式:token 和 session。 1、session/cookie 认证机制: 在服务端创建一个Session对象,同时在客户端的浏览器端创建一个Cookie对象;通过客户端发来的请求中携带的Cookie对象与服务器端的session对象进行匹配,来实现认
阅读全文
摘要:运行几年前做的项目,发现各种编译报错,一个一个解决记录下: 1、Xcode(Xcode9)编译运行报错,但是在 issue navigatior 栏看不到错误信息; 解决方案:在 show report navigator 栏查看编译错误信息: Showing All Messages The op
阅读全文
摘要:从刷爆 IT 圈的一个事件说起: 新闻:某互联网公司产品经理提出一个需求--要求APP开发人员做到软件根据用户的手机壳改变软件的主题颜色。 What Fuck!还有这操作,PM,你过来,保证不打屎你。 结果出现了.mov中出现的“亲热”的肢体接触事件(PS:平安产险的伙食一定很丰盛。额,䅰~)。 笑
阅读全文
摘要:SocketRocket 介绍: SocketRock 是 Facebook 开源的框架,基于 WebSocket 客户端类库,适用于 iOS、Mac OS、tv OS。GitHub 传送门:https://github.com/facebook/SocketRocket 安装:pod 'Socke
阅读全文
摘要:在iOS开发中,多级联动选择器非常常见,一般用于条件筛选,区域选择等。 实现了一个找房 APP 的筛选功能,效果如下: 代码如下:https://github.com/zhangtibin/ConditionFilter
阅读全文
摘要:在使用 WKWebView 展示 H5 时,如果 H5 中有图片,长按图片会出现弹框,在 iOS11 系统中,存储图像,如果未开启相册权限,会直接 Crash 掉: 解决方案一(原生解决): 在代理方法中添加如下代码,禁掉弹框: 解决方案二(H5)解决:
阅读全文
摘要:在使用自己制作的 Framework 静态库时,其中包含 类别文件,在引入时,报错,说找不到方法声明。 解决方案: 在 Framework 文件中添加 target --> Build setttings --> linking --> Other linker flags 添加 -Objc 在引入
阅读全文
摘要:原型模式(Prototype pattern): 定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建对象。也可以理解为模板,在创建新对象的时候,按照模板的方法来复制,避免重复造轮子。 简单来说,就是根据这个原型创建新的对象,而且不需要知道任何创建的细节。例如,在生物学中,有“细胞分裂”,细
阅读全文
摘要:最近做加解密遇到一个很“奇葩的问题”,解析服务端加密后的字符串 序列化 时一直报错 "json解析失败:Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end." UserInfo={NSDebugDescription=Garbage a
阅读全文
摘要:在15年时,之前公司使用 Cordova 做混合开发使用,后来公司没有用到了,现在重新记录下。 Cordova (官网:http://cordova.apache.org/)简介: Apache Cordova 是一个开源移动开发框架,可以使用标准的Web 技术 HTML5、CSS3、JavaScr
阅读全文
摘要:参见 Rect Native 中文官网。 依赖环境: Homebrew、npm、Node.js、Watchman(监测Bug和文件变化,触发指定操作)、flow(JS静态类型检查仪,以方便找出代码中错误)。 安装: $ npm install -g react-native-cli 新建工程: $
阅读全文
摘要:最近接了一个项目,需求是要做一款应用的英文版本,客户并不清楚,以为要另做一个APP。沟通后告诉他们在之前应用基础上加个国际化功能就好,把之前的语言国际化重新梳理记录一下。 一般设置更改本地语言环境后,需要重启应用才可以生效,客户那边是要求不能重启应用,必须是切换后立即生效。 首先新建个工程: 接下来
阅读全文
摘要:考虑到公司业务需求,要做一个客户签约功能,可能会用到一个手动签名的视图,就自己封装了一个简单的视图控件,造个轮子。 实现思路: 先思考一个问题:一个签名视图都需要哪些材料与功能? 首先是原材料:画板和画笔(由于是用于签名,画板不做定制了,只考虑画笔就行了,预留一个画板--可以添加个背景图片(back
阅读全文
摘要:基础优化: 1、使用 ARC 管理内存: 2、在正确的地方使用 reuserIdentifier 3、尽量把 View 设置成透明 4、避免过于庞大的 XIB 5、不要阻塞主线程 6、在 ImageView 中调整图片的大小。如果要在 UIImageView 中显示一个来自 bundle 的图片,需
阅读全文
摘要:1)什么是 Runloop ? 1、字面上是运行循环,内部就是 do-while 循环,在这个循环内不断地处理各种任务。 2、一个线程对应一个 Runloop ,主线程的 RunLoop 默认是开启的。子线程的 RunLoop 需手动开启。 3、RunLoop 只能对应选择一个 Model 启动,如
阅读全文