-
静态库
目录 0301 man nm 与 common符号 0302 链接AFN生成目标文件 0303 链接静态库生成可执行文件 0304 framework初探 0305 framework 0306 shell 0307 dead strip 0308 下节课内容0301 man nm 与 common符号1. 使用man命令man nmman objdumpman git2. 使用--helpnm --helpobjdump --helpgit --help0302 链接AF...…
-
符号表
目录 在xcconfig文件内配置 符号的可见性 0203 链接与符号表 0204 全局和本地符号 0205 同一文件相同全局符号 0206 导入导出符号 0207 weak符号表 0208 Swift符号 0209 strip 0210 llvm-strip在xcconfig文件内配置.xcconfig文件//1.//解决xcconfig文件的冲突#include "../../../Pods/Target Support Files/Pods-LCClientDem...…
-
工具使用
目录 终端快键键 man命令 objdump命令 clang命令 nm命令 swiftc命令 ar命令终端快键键control + E : 定位到尾部 control + W : 向前清除一个单词man命令 参考文章:man命令常用工具命令man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。比如查看 git 指令,在终端输入man git搜索git相关指令说明#比如查找 push 的说明/-push/ : 开始...…
-
xcconfig文件
目录 xcconfig指南 变量 优先级xcconfig指南语法xcconfig文件的语法比较简单,每个配置文件都由一系列键值分配组成,这些键值分配具有以下语法:1 BUILD_SETTING_NAME = value注释xcconfig文件只有一种注释方式//include导入其它设置在创建 xcconfig 文件的时候,可以根据需求,创建多个.也就意味着,可以通过 include 关键字导入其他的 xcconfig 内的配置.通过 include 关键字后接上双引号:1 #inc...…
-
多环境配置
目录 target方式 schemes方式 xcconfig方式Project:包含了项目所有的代码,资源文件,所有信息。 Target:对指定代码和资源文件的具体构建方式。 Scheme:对指定Target的环境配置。target方式第一步:复制一个target第二步:修改target名称第三步:创建一个新的AppIcon-Dev第四步:新target配置AppIcon-Dev第五步:新target配置info.plist第六步:新target配置Preprocessor...…
-
LLVM(三):clang、xcrun命令
参考文章:iOS编译命令 clang xcrun目录 clang命令 xcrun命令 clang命令编译成可执行文件clang main.m -o main -framework Foundation将OC代码转换成C++代码clang -rewrite-objc main.m__weak、__strong等修饰符报错,这是因为__weak需要运行时objc的支持,需要指定运行时环境clang -rewrite-objc -fobjc-arc -fobjc-runtime=ios-...…
-
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(六):遇到的问题建
目录 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
目录 介绍介绍一、是什么Combine 是 Apple 在 iOS 13 / macOS 10.15 引入的一个 响应式编程框架。 提供了一个统一的的数据流处理模型, Publisher → Operator → Subscriber。二、解决了什么问题KVO / NotificationCenter / Delegate 各种机制分散在不同 API,缺乏统一抽象,使用combine框架就可以不使用上述方案了。UI 与数据绑定 数据变化时自动更新 UI回调地狱(call...…