背景
作为一名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源
-