-
LLVM(二):编译过程
参考文章:llvm 参考文章:iOS编译过程 参考文章:iOS学习之深入理解程序编译过程 参考文章:iOS编译命令 clang xcrun目录 编译过程查看 编译过程 编译过程查看main.m文件内容如下#import <Foundation/Foundation.h>#import "Person.h"#define AGE (18)int main(int argc, const char * argv[]) { @autoreleasepool { ...…
-
LLVM(一):简介
参考文章:llvm 参考文章:简述 LLVM 与 Clang 及其关系 参考文章:深入剖析 iOS 编译 Clang / LLVM目录 简介 与Clang关系 简介在理解 LLVM 之前,先说下传统编译器的工作原理,基本上都是三段式的,可以分为前端、优化器和后端。 前端负责解析源代码,检查语法错误,并将其翻译为抽象的语法树; 优化器对这一中间代码进行优化,试图使代码更高效; 后端则负责将优化器优化后的中间代码转换为目标机器的代码,这一过程后端会最大化的利用目标机器的...…
-
新APP上线
目录 需要关注的点需要关注的点1、邓白氏编码2、隐私协议url(没有服务器采用云服务)3、ICP备案 行者常至,为者常成!…
-
上传方式整理
参考文章:Xcode11找不到Application Loader解决方式目录 使用xcode 使用Application Loader 使用xcrun altool 使用Transporter使用xcode1、第一步:product -> archive,完成构建版本 2、第二步:window -> Organizer -> Distribute App使用Application Loader 参考文章:打包上传App Store时登录Applicat...…
-
审核被拒收集
参考文章:App Store 审核指南目录 2.5.1 使用私有API additional information 2.2 Beta 测试 2.3.3 Accurate Metadata 5.1.1 数据收集和存储 2.1 完成度 4.3 马甲包被拒 5.0 法律跳转解决方案中心:https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app/1436269620/platform/io...…
-
上传构建版本遇到的问题
目录 提交时一直卡在 Authenticating with the iTunes Store 版本号问题 可以销售的版本再次上传构建版本无效 xcassets文件问题 权限问题 TestFlight相关 法规相关 图片配置问题 状态展示 深色模式适配问题提交时一直卡在 Authenticating with the iTunes Store 参考文章:https://blog.csdn.net/Han_Laomo/article/details/93001613 ...…
-
cocoaPods(八):待整理
目录 待整理 行者常至,为者常成!…
-
cocoaPods(七):三方库私有化
目录 三方库私有化三方库私有化1、创建一个自己的代码仓库比如是:https://xxxx/yyyyy/myAfn.git 2、将三方库完整的clone下来git clone https://github/afnetworking/afn.git3、修改三方库的远程仓库地址cd afngit remote set-url origin https://xxxx/yyyyy/myAfn.git4、创建一个新的分支,并推送到远端git checkout -b maingit push ...…
-
cocoaPods(六):遇到的问题建
目录 pod install 时报错 私有库验证错误 将公开库私有化pod install 时报错pod版本冲突引起的问题╰─ pod install Analyzing dependencies[!] CocoaPods could not find compatible versions for pod "XYUIKit": In snapshot (Podfile.lock): XYUIKit (= 0.0.1) In Podfile: XYSwift...…
-
cocoaPods(五):私有库创建
目录 私有pod库创建 私有pod库索引库创建 私有库使用 私有库更新 spec文件私有pod库创建一、创建流程#1 github 或者 gitlab 等 创建一个仓库 用来存储工程文件https://github.com/JiangHuHiKe/XYUIKit.git#2 创建pod私有库的项目工程 在合适的目录下执行 pod lib create 命令 按提示输入需要的内容创建名字叫XYUIKit的私有库项目pod lib create XYUIKit #3 添...…
-
cocoaPods(四):目录及文件介绍
目录 master与trunk podfile文件 podspec文件master与trunk一、master 与 trunk 的区别二、repos目录介绍repos目录位于~/.cocoapods/repos下存放了各个三方库的源仓库,其中trunk是官方的源仓库,其它的是私有源仓库$ ls ~/.cocoapods/reposXYAppMobileSpec trunk三、trunk目录介绍trunk目录内的文件和文件夹all_pods.txt...…
-
cocoaPods(三):多种集成方式
目录 集成方式集成方式一、版本集成pod 'AFNetworking' # 最新版本pod 'AFNetworking', '~> 4.0' # 兼容 4.x 最新版本pod 'AFNetworking', '4.0.1' # 指定具体版本pod 'XYUIKit', '~> 0.2.0'二、从 Git 仓库地址 集成最新主分支pod 'AFNetworking', :git => 'ht...…
-
cocoaPods(二):使用
参考文章:Cocoapods三重奏 (一)安装和使用目录 基本指令介绍 三方库集成 三方库删除基本指令介绍 参考文章:https://www.cnblogs.com/chzheng/p/5949353.html一、版本查看及帮助#1 查看版本pod --version#2 查看一级指令的帮助pod --help #3 查看子指令的帮助pod repo -- help二、索引库相关#0 初始化环境,下载索引仓库到本地,一般首次安装时执行pod setup#1 添加镜像索引po...…
-
cocoaPods(一):环境配置及安装
参考文章:Cocoapods官网 参考文章:Cocoapods三重奏 (一)安装和使用目录 环境配置 cocoaPods环境配置RVM(ruby管理器) -> ruby(ruby环境) -> gem(包管理器)一、安装RVM什么是RVM呢?RVM的全称是Ruby Version Manager,翻译过来就是Ruby版本管理器. RVM是一个命令行工具,通过它可以轻松的安装、管理多个Ruby环境 如果想更多的了解RVM可以通过访问 http://www.rv...…
-
Combine 1
目录 介绍 Publisher Operator Subscriber介绍一、是什么Combine 是 Apple 在 iOS 13 / macOS 10.15 引入的一个 响应式编程框架。 提供了一个统一的的数据流处理模型, Publisher → Operator → Subscriber。二、解决了什么问题KVO / NotificationCenter / Delegate 各种机制分散在不同 API,缺乏统一抽象,使用combine框架就可以不使用上述方案了...…
-
Swift Concurrency 2
目录 async / await Task 与 TaskGroup actor 与 MainActorasync / await一、基本用法async:声明异步函数。表示该函数可能会挂起执行await:调用异步函数,等待结果。创建两个异步函数,用来模拟数据请求//模拟请求数据func fetchData () async -> String { // 模拟异步延迟 print("---发起了fetchData") try? await Task.sleep(n...…
-
Swift Concurrency 1
目录 Swift Concurrency 是什么 为什么要有 Swift Concurrency 举个小例子Swift Concurrency 是什么Swift Concurrency 是 Swift 从 5.5 开始引入的一套现代化并发模型,让我们用更安全、更直观的方式来写并发代码。它的核心有三部分:async/await 用来写异步函数和等待异步结果。 让异步代码像同步代码一样清晰。Task & TaskGroupTask 用来创建并发任务。 TaskGr...…
-
Swift混编4
-The Swift Programming Language (6) -Swift目录 行者常至,为者常成!…
-
Swift混编3
-参考文章1:从预编译的角度理解Swift与Objective-C及混编机制目录 简图 在同一个target内的互相调用 在不同的target内的互相调用 总结简图在同一个target内的互相调用我们知道,每个文件的编译是独立的。能够互相调用,就是在编译阶段能够找到对方声明的接口。一、在 App target 内的互相调用我们创建一个Object-C的工程:InvocationDemo1、OC调用OC 通过头文件来知道对方的声明接口2、OC调用Swift 在 App tar...…
-
Swift混编2
-参考文章1:从预编译的角度理解Swift与Objective-C及混编机制目录 modulemap swiftmodule 总结modulemap一、介绍modulemap 是为解决 Objective-C 头文件引用问题引入的。解决了头文件的重复编译问题(常规引用头文件会重复编译),并且使头文件可以按需引入(PCH是全量引入)。 将非模块化的 Objective-C 代码转化为模块化,使其可以以模块的方式被其它(OC或Swift)模块导入。 说明:modu...…