fix(build): 手动 patch SPM 链接 + 清孤儿文件让 Task 6 真正可编译
经过多轮 Xcode UI / SPM 解析失败,本 commit 合并以下修复: pbxproj 手动 patch: - 删除孤立的 mlx-swift XCRemoteSwiftPackageReference(版本 0.31.3 与 mlx-swift-examples 2.29.1 锁定的 0.29.1..<0.30.0 冲突) - 在 体己 target 加入 MLXLLM + MLXLMCommon 两个 product 依赖,绑定到 mlx-swift-examples 包。补齐 PBXBuildFile + XCSwiftPackageProductDependency + packageProductDependencies + Frameworks build phase 4 处条目 LLMSession.swift 简化: - 去掉 import MLX(避免需要把 mlx-swift transitive MLX/MLXFast/MLXNN 等 5 个 product 也链上,大幅简化依赖) - 移除 MLX.GPU.synchronize() 调用——研究笔记里建议的尾部同步对 AsyncStream 数据正确性无影响,省一份直接 import 依赖 清理孤儿文件: - 体己/AI/Theme.swift 和 体己/AI/TabBar.swift 是早期混乱中由出错的 fix subagent 创建的占位 stub,跟 DesignSystem/Tokens.swift 重复声明 enum Tj,导致 invalid redeclaration 附:Package.resolved 由 xcodebuild SPM resolve 生成,加入版本控制确保 团队成员锁定相同版本图。 ** BUILD SUCCEEDED ** 验证通过(iPhone 17 Pro simulator)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import Foundation
|
||||
import MLX
|
||||
import MLXLLM
|
||||
import MLXLMCommon
|
||||
|
||||
@@ -65,10 +64,10 @@ actor LLMSession {
|
||||
break
|
||||
}
|
||||
}
|
||||
// 取消路径无需同步,避免浪费 GPU 阻塞
|
||||
if !Task.isCancelled {
|
||||
MLX.GPU.synchronize()
|
||||
}
|
||||
// 注:研究笔记里曾建议尾部 MLX.GPU.synchronize() 以确保
|
||||
// GPU 操作全部完成。但 AsyncStream 已经 yield 真实解码后的
|
||||
// 文字,GPU 是否完全空闲不影响数据正确性。去掉此调用同时省
|
||||
// 一份 transitive import MLX 的依赖,简化 SPM 链接。
|
||||
}
|
||||
continuation.finish()
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user