自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(84)
  • 收藏
  • 关注

转载 iOS开发之使用 infer静态代码扫描工具

  infer是Facebook的Infer是一个静态分析工具。可以分析Objective-C,Java或者C代码,报告潜在的问题。  任何人都可以使用 infer 检测应用,可以将严重的 bug 扼杀在发布之前,同时防止应用崩溃和性能低下。    infer 可以检查 Java 和 Android 中的 NullPointException 和资源泄漏。...

2019-08-01 09:18:00 1291

转载 iOS 组件化开发之使用CocoaPod制作自己的远程私有库

  随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分。但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好的让拆分出去的业务工程能够独立运行,必须进行组件拆分并且实现组件服务化。  组件化开发优点:    1.组件和组件之间没有明确的约束。    2.组件单独开发、单独测试,不...

2019-07-31 18:26:00 298

转载 人生箴言

  Rule 0:    自强不息,不假外物  Rule 1:    皮之不存毛将焉附  Rule 2:    慎言慎行,言出必行  Rule 3:    时刻备把伞  Rule 4:    事先没有足够的信息,一切行为决定都无异于赌博。  Rule 5:    面对自己的缺点,才能去改变  告别平庸:    1、每天坚持读...

2019-04-16 08:15:00 214

转载 WKWebView 使用的坑

  WKWebView 简介:  WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。WKWebView拥有60fps滚动刷新率、和 safari 相同的 JavaScript 引擎等优势。  之前在使用 WKWebView 进行网络请求时,遇到了 HTTPBody 为空的问题...

2019-03-31 20:01:00 239

转载 iOS 自动化打包发布(Fastlane+ Jenkins+蒲公英)

    安装 Xcode 命令行工具:xcode-select --install  安装 fastlane:sudo gem install fastlane --verbose  安装成功后查看版本:fastlane --version  配置 fastlane:  终端进入工程主目录:  输入:fastlane init    出现:What wou...

2019-02-21 16:10:00 773

转载 Flutter 开发入门实践

前言:  Flutter 是 Google 推出的跨平台解决方案,  开发语言:Dart      优势:  劣势:  学习推荐:  官方网站:https://flutter.io/  书籍:《Flutter技术入门与实战》  社区:https://flutterchina.club/    开始准备:(以 Mac 为例) ...

2019-02-19 11:35:00 90

转载 【读书笔记】--《编写高质量iOS与OS X代码的52个有效方法》

  1、Objective-C 起源:  在 C 语言基础上添加了面向对象特性,是 C 语言的超集。Objective-C 由 SmallTalk 语言演变过来,使用消息结构,运行环境由运行环境决定。  OC 对象所占内存总是分配在堆空间,绝不会在栈空间分配内存。不含 * 的变量,保存的不是OC对象,可能使用栈空间。    2、在类的头文件中,应尽量少引用其他头文件:  ...

2019-01-24 20:29:00 132

转载 iOS 10.3+ 动态修改 App 图标

  支持系统:iOS 10.3+tvOS 10.2+  Apple 官方文档    官方 API:@interface UIApplication (UIAlternateApplicationIcons)// If false, alternate icons are not supported for the current process.@...

2019-01-18 18:37:00 89

转载 Xcode 内存泄露检查出现:nil returned from a method that is expected to return a non-null value iOS 解决方案。...

  在 使用 Xcode 检查内存泄露时(cmd+shift+B)运行,出现了一个警告:nil returned from a method that is expected to return a non-null value iOS    原因是返回了一个 不能为空 的对象。  解决方案:使用 abort() 函数;  Theabort()function is ...

2019-01-18 15:48:00 1416

转载 再见2018,你好2019 -- 致 Mac 背后的自己

  转眼间 2018 年即将过去,心有万千感慨,真的感觉到时间如白驹过隙,成长没有跟上时间的脚步,这叫老了一岁,如果跟上了,那就叫成熟了一岁。很遗憾,2018年我老了一岁。  新年之初,立过好几个 Flag,只实现了部分,连最基本的每个月写日志的习惯,11月份也中断了。不需要找借口,向前看。  年近30,而立之年,心态还没稳重下来,在待人处事方面还没足够成熟,除了按部就班的上班之...

2018-12-31 23:54:00 96

转载 iOS 开发之函数式编程思想(Functional Programming)

  函数式编程(Functional Programming),  函数式编程强调的函数:1、不依赖外部状态;2、不改变外部状态。  函数式编程可解决线程安全问题,每一个函数都是线程安全的。  时间状态:变量一旦有了状态,它就有可能随着时间而发生变化,时间是最不可预知的因素。  空间状态:如果把一个线程看成一个独立的空间,在程序的世界当中,空间会产生交叉重叠。一个变量如果...

2018-10-17 13:47:00 175

转载 iOS 开发之使用链式编程思想实现简单的计算器

  链式编程思想是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。例如 a(1).b(2).c(3)。  链式编程思想最为关键的是,方法的返回值是block,block必须返回对象本身(返回block时,block所在的方法调用者对象)block的参数是需要操作的值。;  在iOS开发中,使用链式编程思想最好的代表是 Masonry 自动约束布局:...

2018-10-15 19:47:00 134

转载 iOS 开发之基于JWT的Token认证机制及解析

    在移动端和服务端通信中,一般有两种认证方式:token 和 session。  1、session/cookie 认证机制:    在服务端创建一个Session对象,同时在客户端的浏览器端创建一个Cookie对象;通过客户端发来的请求中携带的Cookie对象与服务器端的session对象进行匹配,来实现认证  2、token 认证机制:  tok...

2018-10-11 18:06:00 1018

转载 【读书笔记】壹百度--十年千倍的29条法则

  Part 1:立业  1、人一定要做自己喜欢并擅长的事  2、认准了就去做,不跟风,不动摇  3、专注如一  4、把事情做到极致    Part 2:守正  5、少许诺,多兑现  6、让数据说话  7、问题驱动  8、不唯上  9、对事不对人  Part 3:出奇  10、创新求变  11、允许试错  12、迅速迭代,...

2018-10-10 23:46:00 101

转载 Xcode 编译运行旧项目报错解决之路

  运行几年前做的项目,发现各种编译报错,一个一个解决记录下:  1、Xcode(Xcode9)编译运行报错,但是在 issue navigatior 栏看不到错误信息;    解决方案:在 show report navigator 栏查看编译错误信息:  Showing All Messages  The operation couldn’t be completed...

2018-10-10 17:16:00 1321

转载 iOS开发常用Mac终端命令

  常用命令:  1、grep -lr "prefs:root=" *    cd 当某一文件夹下,在当前文件目录下搜索对应的内容(橘色字符串替换为你想要搜索的内容)。可以用来搜索工程中在第三方类库中用到的私有API。  2、把对应的 Objective-C .m 文件编译成 cpp 文件  clang -x objective-c -rewrite-objc -isys...

2018-09-28 10:20:00 218

转载 iOS 开发之 SDWebImage 底层实现原理分析

  SDWebImage 是一个比较流行的用于网络图片缓存的第三方类库。这个类库提供了一个支持缓存的图片下载器。为了方便操作者调用,它提供了很多 UI 组件的类别,例如:UIImageView、UIButton、等等。  使用方式很简单:  1、CocoaPods 安装:  platform :ios, '7.0'  pod 'SDWebImage', '~> 4....

2018-09-14 10:23:00 465

转载 iOS 开发之提取图片的主色调用于更换应用主题颜色

  从刷爆 IT 圈的一个事件说起:  新闻:某互联网公司产品经理提出一个需求--要求APP开发人员做到软件根据用户的手机壳改变软件的主题颜色。    What Fuck!还有这操作,PM,你过来,保证不打屎你。    结果出现了.mov中出现的“亲热”的肢体接触事件(PS:平安产险的伙食一定很丰盛。额,䅰~)。  笑话看过了,要认真的研读下这个需求了:根据手机壳...

2018-08-02 14:40:00 583

转载 iOS 开发之应用内弹出 App Store 应用界面

  在APP内给其他APP做推广,经常用到在应用内弹出应用的APP  #import <StoreKit/SKStoreProductViewController.h>  设置代理:<SKStoreProductViewControllerDelegate>- (void)buttonDidClick:(id)sender{ //首先...

2018-07-27 11:26:00 390

转载 关于 UIDatePicker 在iOS9 系统上的一个坑

  在使用 UIDatePicker时,在iOS9系统上上遇到一个很奇怪的问题,在其他系统版本中没发现,设置年月日格式显示的视图,在iOS9设备上出现中间月份无法显示的问题:    检查代码没问题,这个视图是使用 Xib 创建的。What Fuck!只有在iOS9上有,一直没发现这个Bug。  后来在Stack Overflow 上找到了答案。  官方解释是:  UI...

2018-07-25 17:27:00 109

转载 基于Facebook开源框架SocketRocket的即时通讯

  SocketRocket 介绍:  SocketRock 是 Facebook 开源的框架,基于 WebSocket 客户端类库,适用于 iOS、Mac OS、tv OS。GitHub 传送门:https://github.com/facebook/SocketRocket  安装:pod 'SocketRocket'  也可以拖入文件SocketRocket:  ...

2018-07-24 17:20:00 346

转载 三级联动的区域选择器 iOS组件

  在iOS开发中,多级联动选择器非常常见,一般用于条件筛选,区域选择等。  实现了一个找房 APP 的筛选功能,效果如下:    代码如下:https://github.com/zhangtibin/ConditionFilter转载于:https://www.cnblogs.com/ZachRobin/p/9329719.html...

2018-07-18 16:07:00 359

转载 Mac 如何导出ipa文件中Assets.car包中的切图

  在之前获取 AppStore 中 应用 的 IPA 包文件(Mac OS 13+)中获取到应用的 IPA 包,可以取出应用的部分图片(如 Logo),如果项目工程中把图片添加到Assets.xcassets 中的话,只能在包中看到 Assets.car 文件,这时需要把里面的图片资源取出来。  在 Github 上 cartool是专门解决这个问题的开源工具,下载,使用 X...

2018-06-07 09:38:00 161

转载 【读书笔记】图解HTTP完整流程

1.1 使用 HTTP 协议访问 Web:  根据 Web 浏览器地址栏中指定的URL,从服务端获取资源等信息,在页面上展示。  Web 使用一种 HTTP (超文本传输协议)作为规范,完成从客户端到服务端等一系列流程。  Web 是建立在 HTTP 协议上通信的。  1.2 HTTP 的诞生:  1989-3,CERN(欧洲核子研究组织)蒂姆·伯纳斯-李(Tim...

2018-05-30 16:02:00 182

转载 WebView 中图片长按出现弹框,点击存储图像闪退的解决方案

  在使用 WKWebView 展示 H5 时,如果 H5 中有图片,长按图片会出现弹框,在 iOS11 系统中,存储图像,如果未开启相册权限,会直接 Crash 掉:  解决方案一(原生解决):    在代理方法中添加如下代码,禁掉弹框:- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigat...

2018-05-29 11:22:00 331

转载 pip-9.0.1更新到pip-10.0.1遇到的问题

  使用 pip 安装第三方库时,报错:You are using pip version 9.0.3, however version 10.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.  使用:pip install --upgra...

2018-05-28 15:42:00 427

转载 获取 AppStore 中 应用 的 IPA 包文件(Mac OS 13+)

  在 Mac OS 12.7 之前,可以通过 iTunes 直接下载 App Store 中应用的 IPA 包,可以提取其他应用的资源图片,查看信息等操作。之后 苹果 公司禁用了这一功能,不能直接通过 iTunes 下载到应用的资源包。  可以通过另一种方式获取:  1、下载 Apple Configurator 2    2、添加应用    3、选中,添加...

2018-05-04 17:34:00 1025

转载 制作静态库时含有类别文件使用时找不到方法

  在使用自己制作的 Framework 静态库时,其中包含 类别文件,在引入时,报错,说找不到方法声明。  解决方案:  在 Framework 文件中添加target --> Build setttings --> linking --> Other linker flags 添加-Objc  在引入Framework 工程中,target --&g...

2018-05-04 15:55:00 132

转载 Mac 下 vim 常用命令

  vim 三种模式:命令模式、插入模式、底线命令模式。  切换模式:  命令模式:  启动 vim 进入命令模式:  i  切换到插入模式,以输入字符。  x 删除当前光标所在处的字符。  : 切换到底线命令模式,以在最底一行输入命令。  若想编辑文本:启动 vim,进入了命令模式,按下 “i”,切换到输入模式。  输入模式:  ...

2018-04-09 14:02:00 407

转载 Mac 系统上有趣的插件

  1、微信小助手:https://github.com/TKkk-iOSer/WeChatPlugin-MacOS  作用:开启消息撤回拦截,设置自动回复,远程登录Mac,微信多开,免认证登录....  2、百度网盘加速:https://github.com/CodeTips/BaiduNetdiskPlugin-macOS  作用:百度网盘会员超级 VIP,下载加速...

2018-03-21 10:09:00 359

转载 利用 Jenkins 持续集成 iOS 项目,搭建自动化打包环境

---恢复内容开始---  jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:Java, c#, PHP等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、Git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket...

2018-03-20 16:09:00 196

转载 iOS 开发之 设计模式【一】原型模式 (Prototype pattern)

  原型模式(Prototype pattern):  定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建对象。也可以理解为模板,在创建新对象的时候,按照模板的方法来复制,避免重复造轮子。  简单来说,就是根据这个原型创建新的对象,而且不需要知道任何创建的细节。例如,在生物学中,有“细胞分裂”,细胞在一定条件下从一个分裂成两个,再由 2 个分裂成 4 个.......。...

2018-03-05 15:16:00 148

转载 iOS 开发之 23种设计模式

  整理了 iOS 开发中用到的设计模式:  iOS 开发之 设计模式【一】原型模式 (Prototype pattern)  iOS 开发之 设计模式【二】工厂方法模式  iOS 开发之 设计模式【三】抽象工厂模式  iOS 开发之 设计模式【四】生成器模式  iOS 开发之 设计模式【五】单例模式(Singleton Pattern)  iOS 开发之 ...

2018-02-07 15:47:00 150

转载 JSON 解析中遇到的坑

  最近做加解密遇到一个很“奇葩的问题”,解析服务端加密后的字符串 序列化 时一直报错 "json解析失败:Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end." UserInfo={NSDebugDescription=Garbage at end.}"  既然出现问题就开始找原因,根据错误分析原因,大概是 JSON ...

2018-02-01 18:06:00 1333

转载 iOS 混合开发之 Cordova 实践

  在15年时,之前公司使用 Cordova 做混合开发使用,后来公司没有用到了,现在重新记录下。  Cordova (官网:http://cordova.apache.org/)简介:  Apache Cordova 是一个开源移动开发框架,可以使用标准的Web 技术 HTML5、CSS3、JavaScript用来开发跨平台的移动应用。架构图如下(来源官网):    ...

2018-01-25 16:51:00 284

转载 Python 入门【一】Python 初识及学习资料

  Python 初识及学习路线:  CodeCademy Python 在线教学;  廖雪峰 Python 2.7 教程;  廖雪峰 Python 3.0 教程;  Python 官方文档(2.7~3.7:英文,法文,日文)。  Python 新手入门。  Safari online book      Python 学习书籍:  《Python...

2017-11-29 14:52:00 340

转载 Rect Native 使用

  参见 Rect Native 中文官网。  依赖环境:  Homebrew、npm、Node.js、Watchman(监测Bug和文件变化,触发指定操作)、flow(JS静态类型检查仪,以方便找出代码中错误)。  安装:  $ npm install -g react-native-cli  新建工程:  $ react-native init ReactNa...

2017-11-27 15:33:00 113

转载 iOS APP语言国际化之应用内切换语言环境

  最近接了一个项目,需求是要做一款应用的英文版本,客户并不清楚,以为要另做一个APP。沟通后告诉他们在之前应用基础上加个国际化功能就好,把之前的语言国际化重新梳理记录一下。  一般设置更改本地语言环境后,需要重启应用才可以生效,客户那边是要求不能重启应用,必须是切换后立即生效。  首先新建个工程:    接下来要配置你想添加的国际化语言类型:    对应有 XI...

2017-11-15 15:04:00 212

转载 封装一个简单的视图--手写签名视图

  考虑到公司业务需求,要做一个客户签约功能,可能会用到一个手动签名的视图,就自己封装了一个简单的视图控件,造个轮子。  实现思路:  先思考一个问题:一个签名视图都需要哪些材料与功能?  首先是原材料:画板和画笔(由于是用于签名,画板不做定制了,只考虑画笔就行了,预留一个画板--可以添加个背景图片(backgroundImage))。  画笔有哪些属性呢?画笔颜色(li...

2017-10-31 10:27:00 177

转载 使用 OClint 进行静态代码分析

  OCLint就是一个建立在Clang上的工具,能够发现代码中潜在的问题。  最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题。其实对于iOS开发,我们的日常开发上已经用到了这样一个静态分析的工具,那就是Clang,Clang是支持C、C++、Objective-C和Swift的一个前端编译工具,他将OC或者Swift的代码输出抽...

2017-09-30 18:04:00 123

空空如也

空空如也

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

TA关注的人

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