自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 iOS 组件化的三种方案

本文主要介绍iOS组件化的三种方案。URL SchemeTarget - ActionProtocol - Class

2022-07-27 17:31:59 6033

原创 git 批量删除beta_tag脚本

#删除Tag脚本tags=$(git tag)for tag_name in ${tags[@]}do beta="_beta" result=$(echo $tag_name | grep "${beta}") if [[ "$result" != "" ]] then res_0=$(git tag -d $tag_name) res_1=${res_0:0:3} if [ "$res_1" = "Del".

2021-12-10 15:16:16 251

原创 iOS 快速生产ipa包,然后上传蒲公英

1、在打包ipa的前提条件Step1:新建文件夹,命名为“distribute”,在其中新建ipaMaker.sh脚本文件,

2021-12-10 15:13:42 2357 1

原创 podspec自动化升级脚本

#! /bin/shecho "\n ****** begin ****** \n"# 获取到的文件路径file_path=""file_name=""# 文件后缀名file_extension="podspec"# 文件夹路径,pwd表示当前文件夹directory="$(pwd)"# 参数1: 路径;参数2: 文件后缀名function getFileAtDirectory(){ for element in `ls $1` do dir_or.

2021-11-29 15:48:48 418

原创 iOS组件化方案的架构设计

2021-10-15 12:11:35 471

原创 iOS端自动化构建流程

jenkins配置**3种打包构建fosun-health-ios-app-debug:开发证书,jkdj_dev配置文件,脚本中Configuration设置为Debugfosun-health-ios-app-adhoc生产证书,jkdj_Adhoc配置文件,脚本中Configuration设置为Adhocfosun-health-ios-app-release生产证书,jkdj_Appstore配置文件,脚本中Configuration设置为Re

2021-09-18 15:25:29 330

原创 iOS自动化打包脚本

export LANG=en_US.UTF-8export LANGUAGE=en_US.UTF-8export LC_ALL=en_US.UTF-8pod repo update ~/.cocoapods/repos/JKDJSpecpod install# #!/bin/sh#导出包类型 plistEXPORT_TYPE="Adhoc"#打包类型BUILD_TYPE="Adhoc"# 工程名APP_NAME="HealthManager"# workspace名W.

2021-09-18 15:22:33 703

原创 iOS - 常用终端命令快捷键汇总

快捷键 描述 Ctrl + k 删除从光标到行尾 Ctrl + u 删除从光标到行首 Ctrl + w 从光标向前一个单词剪切到剪切板 Ctrl + d 删除光标下一个字母 Alt + d 从光标向后删除一个单词 Ctrl + h ...

2021-09-18 15:19:24 741

原创 iOS 静态库和动态库

什么是库 ?库就是程序代码的集合,将N个文件组织起来,是共享程序代码的一种方式。库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库的分类开源库:源代码是公开的,可以看到每个实现文件(.m文件)的实现,例如GitHub上的常用的开源库:AFNetworking、SDWebImage等; 闭源库:不公开源代码,是经过编译后的二进制文件,看不到具体的实现。闭源库又分为:静态库 和 动态库1、linux中静态库和动态库区别:库从本质上来说是一种可执行代码的二进制格式,可以被载入内存

2021-09-18 15:18:02 154

原创 iOS CocoaPods集成&使用

什么是CocoaPodsCocoaPods是iOS项目的依赖管理工具。一般开发iOS项目时都需要使用CocoaPods来管理第三方组件以及私有库的组件。https://guides.cocoapods.orgCocoaPods安装CocoaPods安装可以使用Mac系统自带的RubyGems进行安装。在安装CocoaPods之前一般需要更新Ruby镜像: 1 2 3 // 移除淘宝源 gem sources --remove ht.

2021-09-18 15:15:05 541

原创 iOS端开发规范

前言本文是参考自己的部分代码规范和网上众多其它小伙伴的代码规范,整理和写出的。目的为了利于项目维护以及规范开发,促进成员之间Code Review的效率、为了优美的代码、为了成员的和谐,故提出以下开发规范,如有更好的建议,欢迎提出。本文档的预期读者包括:iOS开发人员。开始了,很长哦这篇规范⼀共分为三个部分:1、核⼼原则:介绍了这篇代码规范所遵循的核⼼原则。2、通⽤规范:不局限于iOS的通⽤性的代码规范(使⽤C语⾔和Swift语⾔)。3、iOS规范:仅适⽤于iOS的代码规

2021-09-18 15:03:06 572

原创 Git Flow使用规范

通过规范开发流程可以严格控制线上分支的代码质量及稳定性。使用成熟的工作流程模型,可以使团队协作更加流畅。通过规范上线(OP)流程,保证线上环境的稳定。

2021-09-18 14:47:16 203

原创 iOS 查看OC 对应生成的 C++ 代码

桌面建个 main.m 文件, 终端进入到桌面cd Desktopmain.m 文件代码如下:#import <Foundation/Foundation.h>int main(int argc, char * argv[]) { @autoreleasepool { __block int count = 10; void (^ blk)(void) = ^(){ count ++; NSLo.

2021-08-10 17:31:56 380

原创 iOS OC对象的本质研究

什么是对象,OC对象和其他的结构有什么不同,为什么要了解和研究对象的本质.了解了对象的本质,也可以写出更加优秀,内存占用更合理的代码,提高系统的性能。 了解了本质,才可以写出更优秀的代码,更好的完成需求。OC ———> C/C++———> 汇编语言———> 机器语言开发过iOS的同学,都知道OC会编译成C++,那么OC在内存中是怎么存储的?是以什么方式存储的呢?下面分析一段代码NSObject *obj = [[NSObject alloc] init];按住co.

2021-08-10 17:03:05 128

原创 iOS Runtime - isa指针

Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同。普通语言的过程大致分为:编写代码 -> 编译链接 -> 运行。OC的动态性怎么做到的呢?Objective-C的动态性是由Runtime API来支撑的,Runtime API提供的接口基本都是C语言的,源码由C\C++\汇编语言编写,今天就来看看Runtime的本质和实现原理isa的本质在学习Runtime之前首先需要对isa的本质有一定的了解,这样之后学习Runtime会更便于理解。这篇文

2021-08-10 16:10:06 220

原创 本地repos Mac

本地repos路径~/.cocoapods/repos终端跳到本地reposcd ~/.cocoapods/repos 终端打开本地repos文件夹open ~/.cocoapods/repos

2021-04-15 15:26:23 251

原创 iOS 组件化--创建私库

一、创建私有库一般情况下公司内部都会搭建自己的源码托管服务器,这里主要是在gitlab中进行创建。1、打开gitlab地址,选择“Project”打开并创建一个私有库:创建私有库需要选择指定的Group、Visibility Level需要选择为Private。pod repo add WZSpecRepo https://gitlab.***.com/v_wuzz/WZSpecRepo.git

2021-04-12 15:38:07 276

原创 iOS JS交互 WebViewJSBridge

使用pod ‘WebViewJavaScriptBridge’目录结构WebViewJavaScriptBridgeBase:bridge的核心类,用来初始化以及消息的处理;WKWebViewJavaScriptBridge:WebViewJavaScriptBridge:判断WebView的类型,并通过不同的类型进行分发。针对UIWebView和WebView做的一层封装,主要从来执行JS代码,以及实现UIWebView和WebView的代理方法,并通过拦截URL来通知WebViewJav

2020-07-31 17:20:24 1527

原创 获取Git 历史提交日志

如何把 git 的历史提交记录导出来在项目根目录下执行命令,导出 git 提交记录到pathgit log --pretty=format:"%ai , %an: %s" --since="7 day ago" >> ~/path/commit.log如果想导出某些提交者的提交记录,可以用 grep过滤,比如我想导出「csdn」这个人在项目中的提交记录:git log --pretty=format:"%ai , %an: %s" --since="7 day ago" | grep

2020-07-30 17:07:35 1590

原创 podspec 校验依赖出错问题 pod lib lint ,需要指定源

//podspec 设置依赖s.dependency '私库's.dependency 'MBProgressHUD's.dependency 'Masonry' //本地校验pod lib lint --verbose --use-libraries --allow-warnings//同时依赖私库和公共库,直接本地校验会出错, //校验podspec文件时会到远程podspec库查找相关依赖,默认只会到官方specs库校验,此时需要指定远程specs库去校验。----sour.

2020-07-03 15:30:42 3026

原创 pod install 和pod update 配合 --verbose --repo-update 或者 --verbose --no-repo-update使用

pod repo update 更新本地repo用pod repo update ** 更新本地对应的repo ,** repo名字//安装并更新本地repopod install --verbose --repo-update(加--verbose可以显示详细的检测过程,出错时会显示详细的错误信息)// pod update 的时候太慢的时候使用pod update --verbose --no-repo-update两者的安装时区别:pod install --ve...

2020-07-03 02:26:58 4550

原创 .gitignore 文件不生效的解决办法

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:git rm -r --cached .git add .git commit -m 'update .gitignore'.gitignore 文件内容参考:Xcode工程配置.DS_Store*/build/..

2020-06-24 18:05:28 654

原创 SourceTree push 代码每次都要输入密码解决办法 git

SourceTree push 代码每次都要输入密码解决办法git config --global credential.helper osxkeychain

2020-06-24 17:59:21 393

青花瓷 charles-proxy-4.5.6 for mac(附)

安装好之后,先打开一次,然后关闭 接着进入应用程序找到charles右击显示包内容,找到Java文件夹,将charles.jar拖入该文件夹并选择覆盖

2020-07-30

CocoaPods.zip

CocoaPods 官方的可视化工具,简化命令行,让管理更简单

2019-08-20

JSON 鬼脸 使用工具 For Mac

一款轻便的json转换工具,格式化后的数据,结构清晰,一目了然

2018-05-25

空空如也

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

TA关注的人

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