Not logged in · Please run /login

[2026-05-22] vault sync
This commit is contained in:
Alexey Martemyanov
2026-05-22 03:01:44 +06:00
parent a7bdc12bcd
commit da1d6a70f7
10 changed files with 469 additions and 9 deletions
+43 -2
View File
@@ -1,14 +1,17 @@
---
title: reflect-skip Skip Fuse — New SwiftUI View Stub
title: reflect-skip Skip Fuse — Pitfalls
created: '2026-05-20'
updated: '2026-05-20'
updated: '2026-05-22'
last_synced: '2026-05-22'
type: reference
namespace: personal
tags:
- reflect
- skip
- swiftui
- kotlin
- pitfall
confidence: 0.9
---
# reflect-skip Skip Fuse — Adding a New SwiftUI View
@@ -35,6 +38,44 @@ Constructor принимает closure-параметры.
skip gradle assembleDebug
```
## Package.swift — обязательная структура
Без этих секций Xcode падает с "Missing package product 'ReflectApp'":
```swift
// Package.swift обязательные поля
products: [
.library(name: "ReflectApp", targets: ["ReflectApp"])
],
targets: [
.target(
name: "ReflectApp",
path: "Sources/ReflectApp",
dependencies: [
.product(name: "SkipFuse", package: "skip-fuse"),
.product(name: "SkipUI", package: "skip-ui"),
// НЕ добавлять skip-fuse-ui как отдельную зависимость
],
plugins: [.plugin(name: "skipstone", package: "skip")]
)
]
```
**Pitfall:** `skip-fuse-ui` как отдельный product не существует — нужны `skip-fuse` + `skip-ui` раздельно.
## Прочие питфоллы
- `@State private` → менять на `internal` в Kotlin-стабе
- `case none` в enum крашит JNI — избегать
- `ViewModifier` → инлайнить в тело View
- `PRODUCT_NAME=ReflectApp` в Build Settings не менять
- `@AppStorage` поля добавлять вручную в Kotlin-стаб
## Проект
`~/Developer/reflect-skip`
## Связанные страницы
- [[tech/hermes-eagle-mac]] — Hermes на Eagle, openclaw-claude-proxy
- [[tech/hermes-docker-kraken]] — Hermes на Кракене (Docker)