docs(plans): 记录 iOS SPM 构建修复与限制
This commit is contained in:
1 parent
927d6ceab8
commit
7374045065
2 files changed
+95
-1
No files matched your search
@@ -1870,3 +1870,70 @@ To http://git.reelshort2.com/jianghaifeng/ReelShort.git
|
||||
```
|
||||
|
||||
解读:K6 已合并并推送,author/committer 均为 Zhou Weidong,未操作 main。
|
||||
|
||||
### 20.7 iOS Xcode SPM 构建修复(K6 收尾)
|
||||
|
||||
叙述:只修改 `Runner.xcscheme` PreActions。新增 Python 无关的 shell
|
||||
兜底链解析 Flutter,先 `flutter pub get`;原 prepare action 保留,并改为
|
||||
同一路径解析后执行 `xcode_backend.sh prepare`。
|
||||
|
||||
XML 校验:
|
||||
|
||||
```
|
||||
$ xmllint --noout ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
|
||||
(无输出,退出码 0)
|
||||
```
|
||||
|
||||
清理 ephemeral 后直接 xcodebuild:
|
||||
|
||||
```
|
||||
$ rm -rf ios/Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage
|
||||
$ xcodebuild -project ios/Runner.xcodeproj -scheme Runner -configuration Debug -sdk iphoneos build
|
||||
Resolve Package Graph
|
||||
the package at '.../FlutterGeneratedPluginSwiftPackage' cannot be accessed
|
||||
xcodebuild: error: Could not resolve package dependencies
|
||||
```
|
||||
|
||||
解读:Xcode 在运行 scheme PreActions 之前先解析 Package Graph,因此
|
||||
“包目录完全不存在”的首次冷启动无法仅靠 scheme PreAction 自动生成。
|
||||
这是 Xcode 执行顺序限制,不是 XML 语法错误。
|
||||
|
||||
使用 `flutter pub get` 恢复包后:
|
||||
|
||||
```
|
||||
$ flutter pub get
|
||||
Got dependencies!
|
||||
|
||||
$ xcodebuild -list -project ios/Runner.xcodeproj
|
||||
Resolved source packages:
|
||||
FlutterGeneratedPluginSwiftPackage: .../ios/Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage
|
||||
...
|
||||
```
|
||||
|
||||
完整重建精简日志:
|
||||
|
||||
```
|
||||
$ xcodebuild -project ios/Runner.xcodeproj -scheme Runner -configuration Debug -sdk iphoneos build
|
||||
Resolve Package Graph
|
||||
Resolved source packages:
|
||||
Run pre-actions
|
||||
export SCHEME_ACTION_NAME="Bootstrap Flutter SPM Package"
|
||||
Resolving dependencies...
|
||||
Got dependencies!
|
||||
** BUILD SUCCEEDED **
|
||||
```
|
||||
|
||||
解读:SPM 包存在时,PreAction 能成功刷新依赖,prepare 和完整 iPhoneOS
|
||||
Debug 构建通过并完成签名。冷启动自动生成未通过验证,用户仍需在
|
||||
新克隆/`flutter clean`/手动删除 ephemeral 后先运行 `flutter pub get`。
|
||||
|
||||
Git:
|
||||
|
||||
```
|
||||
cc037a2956848128c4899df1f5092fea44d3620b
|
||||
fix(ios): 刷新 Flutter SPM 包后再准备框架
|
||||
|
||||
0cedaab..ac706a4 develop -> develop
|
||||
```
|
||||
|
||||
解读:scheme 修复已合并推送;author/committer 均为 Zhou Weidong。
|
||||
Reference in new issue
Block a user