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

@@ -29,11 +29,11 @@ Project、Target、Scheme 主要管理什么?
#### 关键步骤
<img src="./../assets/MultipleTargetProjectConfig.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/MultipleTargetProjectConfig.png" style="zoom:30%" />
<img src="./../assets/XcodeMacroSupportedWithOCAndSwift.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeMacroSupportedWithOCAndSwift.png" style="zoom:30%" />
##### 管理配置文件
@@ -43,7 +43,7 @@ Project、Target、Scheme 主要管理什么?
当对某个 Target “Duplicate” 之后,会产生一份新的 plist 文件
<img src="./../assets/MultiplePListAfterDuplicateTarget.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/MultiplePListAfterDuplicateTarget.png" style="zoom:30%" />
- 在新 Target 的 `Build Settings``Packaging``Info.plist File` 指定新路径
@@ -93,19 +93,19 @@ Project、Target、Scheme 主要管理什么?
先选中 Project然后在右侧选择 Info 选项卡,在 Configurations Section ,点击 "+" ,即可创建新的 Configuration。
<img src="./../assets/XcodeAddScheme.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeAddScheme.png" style="zoom:30%" />
创建好之后,该 Target 存在3份 Configuration 了。不同的 Configuration 有什么作用呢?设置宏定义的时候可以针对不同的 Configuration 进行设置。
<img src="./../assets/AddMacroForDifferentScheme.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/AddMacroForDifferentScheme.png" style="zoom:30%" />
针对 OC、Swift 分别设置了很多宏定义,接下去需要跑 Beta 配置的代码,怎么办?
<img src="./../assets/XcodeSwitchSchemeManually.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeSwitchSchemeManually.png" style="zoom:30%" />
点击 Edit Scheme在 Run 里面选择对应的 Configuration。
@@ -117,13 +117,13 @@ Project、Target、Scheme 主要管理什么?
创建 Scheme 步骤Xcode -> New Scheme再弹出的方框内选择对应的 Target然后输入需要创建的 Scheme 名称。此次我们创建了Debug、Beta 2个新的 Scheme。
<img src="./../assets/XcodeCreateScheme.png" style="zoom:40%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeCreateScheme.png" style="zoom:40%" />
创建好之后,可以看到实体 Configuration 和虚拟 Scheme 存在多对多的关系。但我们可以基于此,选择实体的 Scheme然后在 Run 里面 “Build Configuration” 里面选择对应的 Configuration 与之对应。
<img src="./../assets/XcodeSchemeMatchWithConfigScheme.png" style="zoom:40%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeSchemeMatchWithConfigScheme.png" style="zoom:40%" />
@@ -134,7 +134,7 @@ Project、Target、Scheme 主要管理什么?
完整如下图:
<img src="./../assets/SetValueUseDifferentSchemeAndUseViaPlist.png" style="zoom:40%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/SetValueUseDifferentSchemeAndUseViaPlist.png" style="zoom:40%" />
切换不同的 Scheme可以运行不同的效果当前 case 下,选择 Debug Scheme输出不同结果 `HOST_URL: http://www.debug.baidu.com`
@@ -160,7 +160,7 @@ Xcode 自带的 Configuration Settings File 可以支持自定义一些宏,
第一:创建步骤如下:
<img src="./../assets/XcodeCreateXCConfig.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeCreateXCConfig.png" style="zoom:30%" />
文件命名为:`文件夹名称-项目名称.scheme名称.xcconfig`,比如 `Config-Xcconfig.debug.xcconfig`
@@ -170,13 +170,13 @@ Xcode 自带的 Configuration Settings File 可以支持自定义一些宏,
第二:修改和完善创建的 Xcconfig 配置文件里的内容。之后在 Xcode 的 Project 选项下,找到 Configurations选择对应的 Target然后选择右边对应的 Xcconfig 文件。如下图
<img src="./../assets/XcodeSpecifySchemeWithConfig.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeSpecifySchemeWithConfig.png" style="zoom:30%" />
我们只在 `Config-Xcconfig.debug.xcconfig` 文件中添加了 `OTHER_LDFLAGS = -framework "AFNetworking"`Xcode 切换到 debug scheme 下,然后 Command + B 编译。
<img src="./../assets/XcodeDebugXcconfigSpecifyLDLinkFlags.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeDebugXcconfigSpecifyLDLinkFlags.png" style="zoom:30%" />
验证结果:
@@ -204,7 +204,7 @@ Xcode 自带的 Configuration Settings File 可以支持自定义一些宏,
- 在 `.xcconfig` 文件里添加了:`HOST_URL=127.0.0.1`
- 在 plist 中需要加一栏key 为 `HOST_URL`value为 `${HOST_URL}`
<img src="./../assets/XccofigValueUseInPlist.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XccofigValueUseInPlist.png" style="zoom:30%" />
- 代码中使用
@@ -309,7 +309,7 @@ TEMP_LDFLAGS = $(BASE_LDFLAGS) -framework "AFNetworking" -framework "SDWebImage"
OTHER_LDFLAGS = $(TEMP_LDFLAGS)
```
<img src="./../assets/XcodeXcconfigDemo1.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeXcconfigDemo1.png" style="zoom:30%" />
第三步:
@@ -320,7 +320,7 @@ OTHER_LDFLAGS = $(TEMP_LDFLAGS)
结果:编译工程,可以看到报错了。符合预期
<img src="./../assets/XcodeXcconfigDemo2.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcodeXcconfigDemo2.png" style="zoom:30%" />
原因:本 Demo 的目的就是通过 `xcconfig` 文件和继承关系来验证对 Xcode Build Settings 中的 `Other Linker Flags` GUI 面板来验证 xcconfig 及其层级关系会正确影响到最终的编译参数上。
@@ -358,7 +358,7 @@ end
为了测试 xcconfig 配置信息的继承,故意把生成的原始信息注释掉。去掉了 `-framework "ImageIO"`
<img src="./../assets/XcconfigGeneratedByCocoapods.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcconfigGeneratedByCocoapods.png" style="zoom:30%" />
第三步:创建 `Base.xcconfig` 文件。引入 Cocoapods 自动生成的 `Pods-LDExploreDemo.debug.xcconfig` 然后声明 `OTHER_LDFLAGS = $(inherited) -framework "ImageIO"`由2部分组成一部分是 `$(inherited)` 一部分是新加的 `-framework "ImageIO"`
@@ -371,7 +371,7 @@ end
NSLog(@"%@", policy);
````
<img src="./../assets/XcconfigInheritedTest.png" style="zoom:30%" />
<img src="https://raw.githubusercontent.com/FantasticLBP/knowledge-kit/master/assets/XcconfigInheritedTest.png" style="zoom:30%" />
说明: