mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-24 20:00:37 +00:00
docs: image url
This commit is contained in:
@@ -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%" />
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user