docs: image url

This commit is contained in:
FantasticLBP
2026-01-02 10:28:57 +08:00
parent 7ac7513900
commit 7843661458
29 changed files with 719 additions and 719 deletions

View File

@@ -95,7 +95,7 @@ TrueClass
### 3. Bundler
Bundler 能够跟踪并安装所需的特定版本的 gem以此来为 Ruby 项目提供一致的运行环境
<img src="./../assets/RubyGemProcess.png" style="zoom:40%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/RubyGemProcess.png" style="zoom:40%" />
```
source 'https://rubygems.org' gem 'rails', '4.1.0.rc2'
@@ -285,15 +285,15 @@ Podfile 是一个文件,以 DSL 来描述依赖关系,用于描述项目所
```
10. VSCode 插件市场安装VSCode rdbg Ruby Debugger、Ruby LSP
11. VSCode 面板中,点击左侧的调试按钮。便可调试。要是看到下面的图,说明可以正常 Debug 了
<img src="./../assets/VSCodeDebugCocoapods.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/VSCodeDebugCocoapods.png" style="zoom:30%" />
接下来就可以愉快的调试了。
说明:
- pod 的每个指令,分别对应 Cocoapods 工程中一个代码文件
<img src="./../assets/CocoapodsCommandWithSciptFile.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsCommandWithSciptFile.png" style="zoom:30%" />
- 同时根据观察,发现 `target do` 的代码比 pre_install、post_install 执行更早。所以我们可以做一些脚本化的操作。
比如下面,增加了一段自定义的脚本
<img src="./../assets/CocoapodsSelfDefinedScript.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsSelfDefinedScript.png" style="zoom:30%" />
@@ -312,11 +312,11 @@ lc_rpath = MachO::LoadCommands::LoadCommand.create(:LC_RPATH, 'test_rpath')
file_exec.add_command lc_rpath
```
<img src="./../assets/RubyMachoAddLoadCommand.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/RubyMachoAddLoadCommand.png" style="zoom:30%" />
对 Mach-O 文件中删除了类型为 `LC_LINKER_OPTION` 的 Load Command
<img src="./../assets/RubyMachoDeleteLoadCommand.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/RubyMachoDeleteLoadCommand.png" style="zoom:30%" />
#### 2. 操作动态库
@@ -341,7 +341,7 @@ file_exec.add_command lc_rpath
修改后在终端用指令 **objdump --macho --private-headers ./macho/libAFNetworking_copy.dylib | grep 'LC_ID_DYLIB' -A 5** 验证效果,如下图所示:
<img src="./../assets/RubyMachoChangeIDOnDylib.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/RubyMachoChangeIDOnDylib.png" style="zoom:30%" />
也可以直接查看动态库的 id
@@ -360,7 +360,7 @@ file_exec.add_command lc_rpath
MachO::Tools.change_rpath(macho_copy_filepath, '@loader_path/Frameworks', '@loader_path/Frameworks/FantasicLBP')
```
<img src="./../assets/RubyMachoChangeRPath.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/RubyMachoChangeRPath.png" style="zoom:30%" />
#### 3. 合并动态库到胖二进制
@@ -374,7 +374,7 @@ MachO::Tools.merge_machos(dylib_merged_filepath, *filenames)
合并后用 `otool -f ./macho/libAFNetworking_merged.dylib` 指令查看指令集
<img src="./../assets/RubyMachoMergeMach.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/RubyMachoMergeMach.png" style="zoom:30%" />
@@ -392,7 +392,7 @@ app_workspace.schemes.each do | scheme |
end
```
<img src="./../assets/xcodeprojVisitScheme.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/xcodeprojVisitScheme.png" style="zoom:30%" />
也可以针对特定的 target 修改 xcconfig
@@ -407,7 +407,7 @@ app_project.targets.first.build_configurations.first.base_configuration_referenc
效果如下:
<img src="./../assets/xcodeprojSetXcconfig.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/xcodeprojSetXcconfig.png" style="zoom:30%" />
也可以对特定的 target 修改 buildSetting 中的信息,比如 bundle id
@@ -420,7 +420,7 @@ app_project.targets.each do | target |
end
```
<img src="./../assets/xcodeprojChangeBuildSettings.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/xcodeprojChangeBuildSettings.png" style="zoom:30%" />
@@ -560,7 +560,7 @@ end
VSCode 中运行效果如下:
<img src="./../assets/CocoapodsHMapV1.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapV1.png" style="zoom:30%" />
#### 4. 如何将自定义的指令加入到 cocoapods 中
@@ -574,7 +574,7 @@ VSCode 中运行效果如下:
调试运行后的效果如下:
<img src="./../assets/CocoapodsHMapV2.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapV2.png" style="zoom:30%" />
类名小写,和类文件关联起来
@@ -588,11 +588,11 @@ VSCode 中运行效果如下:
一开始有报错,如下图所示。按照提示修改 `cocoapods-hmap.gemspec` 中的配置,然后就可以成功安装了。然后输入 **gem list** 查看:
<img src="./../assets/CocoapodsHMapLocalInstall.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapLocalInstall.png" style="zoom:30%" />
输入: **gem info cocoapods-hmap** 查看安装信息
<img src="./../assets/CocoapodsHMapInfo.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapInfo.png" style="zoom:30%" />
@@ -603,7 +603,7 @@ VSCode 中运行效果如下:
| 随便一个工程目录,没有 Podfile 文件 | 执行 `pod hmap` 会报错 | 符合预期 |
| 存在 Podfile 文件的目录 | 正常执行 run 方法里面的逻辑(打印逻辑) | 符合预期 |
<img src="./../assets/CocoapodsHMapV2Test.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapV2Test.png" style="zoom:30%" />
@@ -715,7 +715,7 @@ VSCode 中运行效果如下:
- 第一种:在 cocospods-hmap 工程中测试,如下图
<img src="./../assets/CocoapodsHMapPostInstall.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapPostInstall.png" style="zoom:30%" />
- 第二种:
@@ -724,7 +724,7 @@ VSCode 中运行效果如下:
效果如下:
<img src="./../assets/CocoapodsHMapPostInstall2.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/CocoapodsHMapPostInstall2.png" style="zoom:30%" />