swift语言Codable 用法及原理详解
目录Codable Codable 的用法JSON 和 模型的相互转换解码(JSON Data -> Model):编码(Model -> JSON Data):Codable 支持的数据类型基础数据类型Date嵌套对象枚举自定义 CodingKeysCodable 的原理Decodable 协议Container核心原理分析(Container <--> JSON)JSONDecoder 的解码过程编译器帮我们做了什么?默认值问 ...
Swift Extension扩展得使用详细介绍
目录扩展(Extension)协议与初始化器协议泛型扩展(Extension)
1、Swift中的扩展,有点类似于OC中的分类(Category)
2、扩展可以为枚举、结构体、类、协议添加新功能
可以添加方法、计算属性、下标、(便捷)初始化器、嵌套类型、协议等等
3、扩展不能办到的事情
不能覆盖原有的功能
不能添加存储属性,不能向已有的属性 ...
swift语言AutoreleasePool原理及使用场景
目录使用场景NSAutoreleasePool@autoreleasepool__autoreleasing源码分析__AtAutoreleasePool结构体AutoreleasePoolPagePOOL_BOUNDARY多层嵌套pushautoreleaseFastautoreleaseFullPageautoreleaseNoPageaddpoppopPagereleaseUntilautoreleasehotPagecoldPage调试_objc_autoreleasePoolPrintUIApplicationMain释放时机区分ru ...
Swift运算符使用方法浅析
目录溢出运算符(Overflow Operator)运算符重载(Operator Overload)EquatableComparable自定义运算符 (Custom Operator)溢出运算符(Overflow Operator)
1、Swift的算数运算符出现溢出时会抛出运行时错误
var v: UInt8 = UInt8.min
v -= 1
2、Swift有溢出运算符(&+、&-、&*),用来支持溢出运算
var v1 = UInt8.min
va ...
ios开发 try-catch引起的野指针问题排查
目录1、野指针问题2、崩溃栈3、场景复现代码4、问题分析5、上报可能引起野指针崩溃栈1、野指针问题
【EXC_BAD_ACCESS (SIGSEGV) / KERN_INVALID_ADDRESS]
Possible zombie in call: Function: objc_releaseParam 1: 0x157f2a740 Originated at or in a subcall of unknown, cannot find symb
如有以下崩溃栈可以怀疑是在dea ...
Swift Access Control访问控制与断言详细介绍
目录访问控制(Access Control)访问级别的使用准则元组类型泛型类型成员、嵌套类型getter与setter初始化器枚举类型的case协议扩展将方法赋值给var\let一些补充知识CustomStringConvertibleSelfassert (断言)fatalError访问控制(Access Control)
1、在访问权限控制这块,Swift提供了5个不同的访问级别(以下是从高到低排 ...
替代pod update速度慢的lg_pod_plugin安装使用详解
目录1. 安装方式2. 如何使用lg_pod_plugin3. 工作原理1. 安装方式
推荐使用bundle 安装lg_pod_plugin , 免去手动安装 gem install lg_pod_plugin , 方便后续升级lg_pod_plugin版本, 适合团队开发, 总不能让所有人在自己电脑上都安装一次 lg_pod_plugin吧.
创建 Gemfile 文件
bundle init #初始化一个bundle 环境, 类似于pod ...
关于ios低版本在app store下载软件时由于版本低导致不能下载的解决办法
最近有人提出问题,说IOS7怎么在APP store中下载软件,好多软件都提示需要ios8及以上才可以下载,而App Store里下载又不会提供给你旧版本,难倒ios7就必须升级才能下载吗?对此本人在网上查了好多资料也做了好多测试,大多数说的都是升级系统(这纯属废话,要是升级系统还用问你啊),终于皇天不负有心人,经过多次 ...
APP上架需要的准备和流程
一 上架iOS应用市场前的准备
1.选择适合自己的苹果开发者账号
(1) 个人账号(Individual):费用99美金一年, 该账号在App Store销售者只能显示个人的ID,比如zhitian zhang,单人使用。个人账号只能有一个开发者。100个苹果的iOS设备UDID测试。
(2) 公司/机构账号(Company/Organization):费用99美元一年, 该账号在A ...
iOS-申请开发证书流程
1、开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;
2、appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的pus ...
iOS开发各种证书详解
引言
关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做iOS开发的同学没少被折腾。对于一个iOS开发小白、半吊子(比如像我自己)抑或老兵,或多或少会有或曾有过以下不详、疑问、疑惑甚至困惑:
什么是App ID?Explicit/Wildcard App ID有何区别?什么是App Group ID?
什么是证书(C ...
ios利用RunLoop原理实现去监控卡顿实例详解
目录一、卡顿问题的几种原因二、监测卡顿的思路监测FPS:RunLoop:三、如何检查卡顿一、卡顿问题的几种原因
复杂 UI 、图文混排的绘制量过大;
在主线程上做网络同步请求;
在主线程做大量的 IO 操作;
运算量过大,CPU 持续高占用;
死锁和主子线程抢锁。
二、监测卡顿的思路
监测FPS:
FPS 是一秒显示的帧数,也就是一秒 ...
【2021】IOS证书(.p12)和描述文件(.mobileprovision)申请
IOS 证书与描述文件申请
前言
前置条件(申请环境)
申请流程
一、申请苹果APP ID
二、添加调试设备
三、申请证书请求文件
四、申请开发证书和描述
五、申请发布证书和描述
前言
IOS 有两种证书和描述文件
证书类型描述文件
开发(Development)证书和描述文件用于开发测试,在 HBuilderX 中打包后可 ...
iOS开发xconfig和script脚本使用详解
目录引言Xcode编译Xcode targetXcode projectXcode scheme新建configurationConfiguration文件的使用利用Configuration设置不同的项目名设置Configuration查看是否设置成功设置Info.plist测试是否生效利用xconfig文件实现OC条件编译xconfig文件的设置Swift中条件编译的实现script的使用script的初步认识script的实际运用总 ...
iOS 上传应用到APPStore 详细版
现在仔细写个上传应用的过程,希望可以帮助到有需要得人
上传应用第一步:去到苹果开发者中心https://developer.apple.com/account/ios/certificate/certificateList.action?type=developmenta按照图片里的标示一步步来
先去给工程注册个APP IDs如果已经有了就不用重新注册了 ...
iOS 上传AppStore 被拒汇总
、苹果要求版本更新必须使用iOS版本更新内置更新机制。 4. Design: Preamble Design Preamble Your app includes a responsive version button or alerts the user to update the app. To avoid user confusion, app version updates must utilize the iOS built-in update mechanism. Please see attached scre ...
iOS界面布局简化UIStackView使用详解
目录前言UIStackView布局思想distribution:alignment:UIStackView用法初始化添加、删除子视图排列方向布局方式对齐方式间距前言
在过去iOS页面布局较为传统,大多数人使用Frame或者AutoLayout来布局,在iOS9以后,引入了UIStackView。UIStackView是用于线性布局的控件,可以自动管理子视图布局,自动填充。它借鉴了前端的 ...
iOS RN启动中管理Native Module详解
目录1. 全局的 native module 注册表2. RCTBridgeModule 协议 3. RCTModuleClasses中Class数据的处理4. ModuleClasse包装成RCTModuleData过程5. RCTModuleData在什么时候进行module instance5. RCTModuleData在进行module instance的细节1. 全局的 native module 注册表
RCTModuleClasses 数组
首先, RN中拥有一个全局 ...
iOS创建苹果证书、制作p12证书流程
一、创建Certificates
1、在苹果开发者后台点击右上角【Account】进入以下界面,然后点击【Certificates, Identifiers & Profiles】
2、进入以下界面后点击【Create a certificate】
3、然后选择证书类型,Apple Development(开发者证书),Apple Distribution(发布证书),这里选择开发证书,选中【Apple ...
iOS 生成证书、描述文件、打包上架Appstore详细流程
简介
我打算将生成证书,描述文件、上架App的步骤一步一步写下来,于是就有了这篇文章
编译环境
系统版本:macOS Sierra 10.12.6
Xcode: v9.2(9C40b)
1.开发者账号
苹果官方开发者网站
开发者账号分为四类:
1 个人开发者账号 Individual
个人的是比较好申请的,相比于公司开发者账号,不需要 申请 邓 ...