CatchZeng's Blog

记录开发的所见所闻

ARKit浅析篇

iOS开发

在上一篇ARKit体验篇中我们体验了ARKit,这一篇主要从类出发分析下ARKit的流程。 ARKit浅析 我们知道,iOS的视图显示层级为UIWindow -》UIViewController -》UIView。UIView的作用是将视图显示在UIWindow中,AR呈现的东西也属于视图,所以我们可以大胆假设AR的呈现也是基于UIView的。由此假设,我们看下上一篇的Demo源码 ...

ARKit体验篇

iOS开发

AR简介 增强现实(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。 iOS 11 引入了 ARKit,这是一个全新的框架,允许开发者轻松地为 iPhone 和 iPad 创建无与伦比的增强现实体验。通过将虚拟对象和虚拟信息同用户周围的环境相互融合,ARKit ...

聊聊设计模式原则(二) -- 接口隔离原则

设计模式

目录 聊聊设计模式原则(一) – 单一职责原则 聊聊设计模式原则(二) – 接口隔离原则 聊聊设计模式原则(三) – 依赖倒置原则 接口隔离原则(ISP :Interface Segregation Principle) 定义 客户端不应该依赖它不需要的接口。 一个类对另一个类的依赖应该建立在最小的接口上。 由来 类A通过接口I依赖类B,类C通过接口I依赖类D,如...

iOS开发见闻-第21期

iOS开发见闻

欢迎加QQ群讨论:157672725 文章 1.iOS无埋点数据SDK实践之路 : 本篇文章是基于 网易乐得无埋点数据SDK 总结而成。SDK 已经具备不需要代码埋点就能自动的、动态可配的、全面且正确 的收集用户在使用 App 时的所有事件数据。 2.滴滴 iOS 动态化方案 DynamicCocoa 的诞生与起航 : 滴滴出行客户端App架构团队在对ReactNative、We...

聊聊设计模式原则(一) -- 单一职责原则

设计模式

目录 聊聊设计模式原则(一) – 单一职责原则 聊聊设计模式原则(二) – 接口隔离原则 聊聊设计模式原则(三) – 依赖倒置原则 单一职责原则(SRP:Single responsibility principle) 定义 一个类应该只有一个发生变化的原因,即一个类只负责一项职责。 如果一个类有多个职责,这些职责就耦合在了一起。当一个职责发生变化时,可能会影响其它...

持续集成 -- 理论篇

持续集成

一、软件开发面临的问题 确定软件需求 确定项目进度(可见性) 如何以最快速度将软件交付给用户? 如何让开发、测试、产品经理、运维人员高效工作? 软件需要满足于业务目的,质量不等于完美,“追求完美是把事情做好的大敌”。 二、持续集成 持续集成是一种软件开发实践【不是工具】,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次。每次集成都通过自动化的构建(包...

一起为Xcode8写插件吧

iOS开发

一、Xcode Source Editor Extension 简介 在Xcode8的以前,开发者可以在Xccode运行时通过注入代码来实现插件的功能。插件可以在Alcatraz上面提交和分发。不过Xcode8禁止了该方式的插件安装,转而向开发者提供了Xcode Source Editor Extension(以下简称Extension)的方式来做插件。 Extension特性(安全性...

使用Cordova开发iOS App -- 打包插件及JS脚本

iOS开发

在上一篇–开发iOS插件中我们开发了一个插件,本篇将讲解如何将插件打包。 一、创建插件包 首先在桌面上创建一个文件夹com.catchzeng.testplugin(遵守命名规范),并创建子文件夹及子文件如下图,将插件的代码复制到ios文件夹下。 二、编写JS代码 编写testPlugin.js,向外部暴露testModel的testPlugin方法,这便是前端人员需要调用的...

使用Cordova开发iOS App -- 开发iOS插件

iOS开发

本篇在上一篇–Cordova的环境搭建基础上以一个例子讲解如何为Cordova开发iOS插件。 一、创建插件文件 在Plugins文件夹下创建插件文件夹命名为com.catchzeng.testplugin 创建类TestPlugin继承于CDVPlugin 注意:创建类后会报头文件#import <Cordova/Cordova.h>找不到的问题,替换成 #im...

使用Cordova开发iOS App -- 环境搭建

iOS开发

一、简介 Cordova大家可能比较陌生,但肯定听过 PhoneGap ,Cordova 就是 PhoneGap 被 Adobe 收购后所改的名字。它是一个可以让 JS 与原生代码互相通信的一个库,并且提供了一系列的插件类(如 JS 直接操作本地数据库的插件类)。 Cordova优缺点 优点: 降低开发成本一次开发多平台套用,版本更新容易可动态更新。 缺点: cordova其实就是在...