[jenkins]iOS 自动打包上传 Appstore 环境mac 系统mac 系统上搭建 jenkins 服务其它请参考上级内容[jenkins]iOS 自动打包上传 fir直接上脚本// clean 内容xcodebuild clean -workspace ${workspace} -scheme ${scheme} -configuration Debug -sdk iphonesimulatorxcodebuild clean -workspace ${workspace} -scheme ${scheme} -configurati
[jenkins]iOS 自动打包上传 fir 环境Mac 系统作为服务器brew 安装 Jenkins,安装默认插件即可启动 Jenkins 服务器为了让局域网可以访问 Jenkins 可以修改如下配置打包前提是 Mac 服务器已经具有打包 iOS 的能力修改如下两个路径下的 httpListenAddress 配置 ip 为 0.0.0.0~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist/usr/local/opt/jenkins/homebrew.mxcl.jenkins.pl
【Cocoapods】安装升级 安装sudo gem update --systemsudo gem uninstall cocoapods或sudo gem install cocoapods -n /usr/local/bin
【ansible/ansible-tower】 环境mac 系统使用 docker 安装 ansible;docker image 为 ybalt/ansible-towerTower 3.2.1;Ansible 2.6.1;为了解决问题iOS 打包MAC,需要有在自己的电脑上访问,执行打包的 Shell 脚本。为什么选择 Ansible因为 ansible 是通过 ssh 进行配置管理,软件管理;client 不需要安装任何的 agent 插件。关键命令和路径tower-manage inventory_import
【MySql】常用命令 mysql常用命令总结连接:mysql -h [127.0.0.1] -P [3306] -u root -p (端口要用大写P,与密码p加以区分)查看mysql的数据库列表:show databases;使用某个库:use [数据库名];查看表列表:show tables;查看数据库的创建 show create database [数据库名称];查看表的创建:show create table [表名];查看数据的字符集相关信息: show variabl
【Sqlite3】命令行使用 简介sqlite3一款主要用于嵌入式的轻量级数据库,本文旨在为熟悉sqlite3基本命令提供技术文档。备注:本文所有操作均在root用户下进行。1、安装sqlite3brew install sqlite3mac 下安装sqlite3sqlite3 -version查看版本信息:2 、sqlite3常用命令sqlite3 test.db创建并打开数据库;注:如果不加数据库的名字,则为使用内存模式,在内存中创建表等。.database查看数据库文件信息命令(注意命令前带字符’.’).sch
【Tool/Git】git-flow 小解master: 主分支devlop: 开发分支;所有功能的集合分支;feature:功能分支;开发部分功能;开发完成后,被 develop 分支 merge;release: 待发布分支,来自develop分支;可以进行最后的 bug 修复和功能验证;hotfix:master bug 修复分支;修复后被 master,develop分支merge;master 分支每个提交必须有 tag所有的 feature 分支必须是从 develop分支创建release 分支每次只能有一个
【Curl】用法 curl 请求命令可以代替 postman 图形化命令curl https://baidu.comGET 请求参考链接-A-A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]。$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.3.
【iOS】基础内存管理(招聘一个靠谱的 iOS) 转载参考:引用计数带来的一次讨论Objective-C 引用计数原理各个线程 Autorelease 对象的内存管理Practical Memory ManagementiOS内存管理Xcode 10 下如何创建可调试的objc4-723、objc4-750.1工程Block技巧与底层解析Objective-C Autorelease Pool 的实现原理《招聘一个靠谱的 iOS》iOS 中 weak 的实现原理iOS 底层解析weak的实现原理weak的生命周期:具体实现方法i
【HTTPS】握手加密 HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。 HTTP+加密+认证+完整性保护 = HTTPS HTTP: 直接通过明文在浏览器和服务器之间传递信息。HTTPS: 采用 对称加密 和 非对称加密 结合的方式来保护浏览器和服务端之间的通信安全。对称加密算法加密数据+非对称加密算法交换密钥+数字证书验证身份=安全过程HTTPS加密请求(一次握手)过程首先,客户端发起
【iOS】lipo otool 动、静态库 查看库是否是动态库如果是动态库则会有 Mach-O dynamically linked shared library标记file xxxx.afile xxxx.framework/xxxxxxxx: Mach-O universal binary with 3 architectures: [arm_v7:Mach-O dynamically linked shared library arm_v7] [arm_v7s] [arm64]xxxx (for architecture ar
【iOS】 app 的优化 启动优化启动优化之前必须知道,app 启动的全过程;而想知道全过程,只要按照以下操作:Edit scheme -> Run -> Auguments 将环境变量 DYLD_PRINT_STATISTICS 设为 1则在启动过程,就会在 lldb 中打印出来;打印结果如下:Total pre-main time: 5.62 milliseconds (100.0%) dylib loading time: 25.33 milliseconds (450.5%)
【iOS/动画】显式动画 创建动画类(CABasicAnimation, CAKeyframeAnimation,CASpringAnimation)如下:基础动画CATransaction.begin()self.layerView.backgroundColor = UIColor.green.cgColorlet baseanimation = CABasicAnimation()baseanimation.keyPath = "backgroundColor" // 这个值为 keypath 的值basean.
【iOS/动画】隐式动画 隐式动画系统默认在在 Layer 层上实现的动画,只要改变属性,系统就会自动作出默认实现的过度动画;例如:修改背景颜色红色为绿色,系统会默认有0.25秒的过渡动画。类似这样的动画为隐式动画隐式动画是在 iOS 平台创建动态用户界面的一种直接的方式,也是UIKit动画机制的基础事务解释什么是隐式动画。什么是事务。系统如何确定动画的类型和动画的执行时长。CoreAnimation 基于一个假设,屏幕上显示的任何东西都是可以做动画的。动画并不需要开发者打开,相反需要开发者主动关闭,即:动画默
【Swift】UnsafePointer等指针 指正分类UnsafePointer类似于 const Pointee *UnsafeMutablePointer 类似于 Pointee *UnsafeRawPointer 类似于 const void *UnsafeMutableRawPointer 类似于 void *UnsafeBufferPointerUnsafeMutableBufferPointerunsafeBitCastUnsafePointer/UnsafeMutablePointer打印属性指针var nic
【系统架构师x2_1_0_0】计算机基础-操作系统 计算机组成计算机由软件和硬件组成计算机软件分为系统软件和应用软件系统软件:支持软件的运行,为应用软件提供平台,用户可以使用它但是不能随意修改它语言处理软件、连接程序、诊断程序、数据库管理系统。应用软件:利用软硬件资源为某一专门应用目的而开发的软件科学计算、CAD、实时处理、表格处理等关系图如下:操作系统计算机硬件资源CPU、存储器、输入输出设备等物理设备。计算机软件资源以文件形式保存在存储器上的程序和数据信息操作系统有效的组织和管理系统中的软硬件
【iOS/runtime/003】字典转模型、模型转字典和自定义 KVO 字典转模型字典转模型遍历字典获取 key valueobjc_msgSend() 调用 set 赋值函数指针写法:返回类型 (*名称)(params1, params2…)#import <objc/message.h>@implementation User- (instancetype)initWithDic:(NSDictionary *)dic { if (self = [super init]) { for (NSString* key i