C.J.Lian

lele8446技术加油站


  • 首页

  • 标签

  • 归档

再谈APP换肤实现

发表于 2021-10-09

导语:此前发表的关于APP换肤实现原理的文章——《APP动态换肤方案详解》受到了不少小伙伴的点赞与支持,但也有同学指出方案使用Objective-C语言来实现是不是已经有所过时,毕竟现在Apple开发的主流语言已经是Swift了。为此本人在基于原有换肤架构的基础下,重写了一套Swift版本的动态换肤方案—— CJSkinSwift 。

本文初次发表于OSCHINA 再谈APP换肤实现

阅读全文 »

APP动态换肤方案详解

发表于 2021-08-13

本文初次发表于OSCHINA APP动态换肤方案详解

换肤背景

用户体验是衡量一款APP质量的重要考核点,而换肤则是提升用户体验的重要一环。换肤包括但不限于APP主动更换主题(比如根据春节、圣诞、元旦等节假日更换节日主题)、局部页面换肤(白天夜间模式切换、阅读页面字体颜色的调整)、APP用户自定义皮肤的编辑等等。这些在现如今的主流APP上都能找到身影,甚至iOS系统在iOS13之后就已经提供了暗黑模式以用于换肤的实现。实现换肤方案需要考虑的要点主要包含以下几方面:

阅读全文 »

十大经典排序算法

发表于 2021-08-12

算法说明

十大排序算法分别是:

冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序

阅读全文 »

移动端iOS组件化

发表于 2021-06-04

本文初次发表于OSCHINA 移动端iOS组件化

组件化背景

随着移动互联网的迅猛发展,手机APP已经成为了与我们生活紧密关联的一部分,各种应用场景也都已经落地到了手机移动端,但这也使得APP的业务模块以及对应的代码量越来越繁多,旧的开发架构已经没法满足业务快速发展的需求,重构整合也就成为了不可避免的问题。

阅读全文 »

Command CodeSign failed with a nonzero exit code

发表于 2021-04-30

问题场景

  1. Xcode证书选择提示正常,但编译之后报错 Command CodeSign failed with a nonzero exit code
  2. 钥匙串访问,安装.p12证书后显示 XXX证书不受信任
阅读全文 »

iOS打包签名,你真的懂吗

发表于 2020-01-26

本文初次发表于OSCHINA iOS打包签名,你真的懂吗?

导语:iOS签名类型有Development、AD-Hoc、In-House、App Store,而打包过程中又涉及到各种证书、Provision Profile、entitlements、CertificateSigningRequest、p12、AppID……各种概念一大堆,本文将从打包签名的原理说起,并梳理完全签名的整体流程,最后讲解重签名的实现以及签名机制中有哪些是需要注意防护的要点。

阅读全文 »

控制UIScrollView滑动方向解决方案

发表于 2019-12-24

需求:取消UIScrollView顶部下拉的弹簧效果,并且当滑动到顶部时scrollView禁止滑动,其他状态下可支持自由滑动。

借助 UIPanGestureRecognizer 可以实现这个控制 UIScrollView 的滑动方向的需求。

阅读全文 »

深入理解图文混排原理并自定义图文控件

发表于 2019-10-24

本文初次发表于InfoQ 深入理解 iOS 图文混排原理并自定义图文控件

iOS开发中一般用UILabel来展示文字、UIImageView用来显示图片、UIButton用于简单的图文点击响应事件,稍复杂一点的可以借助NSAttributedString来实现图文混排需求,又或者将图文内容转换为HTML由WKWebView(UIWebView)来展示。然而以上方案都有各自的局限性:UILabel绘制NSAttributedString不能灵活定位文本内的点击锚点区域,转换为HTML展示则带来Native与Web端交互成本以及WKWebView自身的性能问题。

那么,是否能有一种控件,在满足富文本图文混排的同时还能响应自定义锚点点击事件?要实现以上需求,我们首先从iOS图文展示原理说起。

阅读全文 »

iOS12 踩坑持续更新

发表于 2018-09-07

iOS12很快就要发布,项目的坑都填好了吗?没有!那还不赶紧填……

info.plist文件重复

Xcode10编译提示Multiple commands produce 'xxx/Info.plist',这是由于项目中存在重复命名的info.plist文件。

解决方式:

阅读全文 »

懒到极致之怒撸一键打包发布系统

发表于 2018-04-20

一切得从上个版本的打包发布说起。

开发中本人负责了iOS包的版本发布工作。iOS打包:不就是选一下证书,再在Xcode上点几下按钮,IDE全都给你设置好流程了,有必要这么麻烦吗?

诚然,如果只是打包,在不考虑团队协同合作、打包效率、重复工作量的前提下,使用Xcode自带的打包方式当然是没问题的。但实际开发中,每次打包大概包含以下流程:
拉取最新代码(SVN或Git) → 编译通过 → 设置打包环境(开发、测试、生产等) → 导出IPA包 → 上传IPA包(App Store或者企业包上传至指定服务器)

阅读全文 »
123>

21 日志
10 标签
0%
© 2016 — 2022 ChiJin.Lian 粤公网安备 44030602006855号