背景
作为一名iOS开发者,每一天都跟cocoapods指令打交道,但是每一个指令背后如何运行的,我们可以利用原理做什么可以提高工程效率是我们需要去探索的,本篇文档作为开篇拉开这个专题
一、环境
- mac os 版本:13.1
- rvm版本:1.29.12
- ruby版本:2.7.2
- 本地cocopods/pod版本:1.5.3
- cocoapods源码: 1.5.3
注意:cocoapods源码和本地cocopods/pod版本一定要对应
二、工程配置步骤
- 第一步:创建工程cocoapods_debug
- 第二步:在cocoapods_debug目录下,把cocoapods源码放入,cocoapods源码文件夹我这里叫 CocoaPods ,后续会配置加载路径
- 第三步:在cocoapods_debug目录下,创建一个pod测试工程,这里叫 TestLibrary,后续会配置加载路径,
- 3.1 在TestLibrary执行pod init
- 3.2 podfile配置如下
source 'https://cdn.cocoapods.org'
source 'https://github.com/CocoaPods/Specs.git'
#inhibit_all_warnings!
platform :ios, '10.0'
target 'TestLibrary' do
pod 'Masonry'
end
- 第四步:在cocoapods_debug目录下创建一个Gemfile文件,内容如下:
source 'https://rubygems.org'
gem 'cocoapods', path: './CocoaPods' # 1
gem 'ruby-debug-ide' # 2
gem 'debase'
#gem 'debase', '0.2.5.beta2' # 3 ruby3.0.0需要这个版本
-
第五步:在cocoapods_debug目录下,执行 bundle install
这里会遇到各种问题,ruby、cocopods版本、cocoapods源码版本 不对应都会遇到问题,不过上面整理的环境版本没有问题- 问题: 执行 bundle install 提示 ERROR: Error installing debase: ERROR: Failed to build gem native extension.
github.com/ruby-debug/… - 解决: debase依赖0.2.5.beta2 就可以,原因是ruby 3.0.0内部对debase版本不支持
- 问题: 执行 bundle install 提示 ERROR: Error installing debase: ERROR: Failed to build gem native extension.
-
第六步:vscode打开cocoapods_debug,第一次会提示创建一个launch.json或者自己新建 .vscode/launch.json,内容如下
{
"configurations": [
{
"name": "Debug CocoaPods Plugin",
"showDebuggerOutput": true,
"type": "Ruby",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}/TestLibrary", // pod 命令执行的路径
"program": "${workspaceRoot}/CocoaPods/bin/pod",
"args": ["install", "--verbose"], // `pod` 命令的参数
}
]
}
- 第七步:按F5或者debug按键 就可以断点调试了
-
问题1: [!] No `Podfile’ found in the project directory.在源码调试的时候,我们明明创建了Podfile文件,仍报这个错误,同时还报了一个警告
-
解决方案: 在 .bash_profile或者.zshrc文件里面,添加export LANG=en_US.UTF-8 即可,就解决了这个问题。
-
问题2:提示source源问题
-
解决方案:可以更换cdn或者github源
-
© 版权声明
文章版权归作者所有,未经允许请勿转载,侵权请联系 admin@trc20.tw 删除。
THE END