refactor(page): 删除旧版页面文件

This commit is contained in:
2026-08-16 05:31:45 +08:00
parent ca76678afc
commit 1396487af9
88 changed files with 12633 additions and 1081 deletions

View File

@@ -0,0 +1,44 @@
# Build the Right Artifact for the Feedback Loop
A release binary takes roughly an order of magnitude longer to build than a
debug binary, and umbrella tasks such as `build` and `assemble` compile the
same code several times. Map each feedback loop to one specific task.
## Task table
| Feedback loop | Correct task |
|---|---|
| Xcode builds and runs the app (direct integration) | `:shared:embedAndSignAppleFrameworkForXcode` |
| Gradle-only check of the Apple Silicon simulator framework | `:shared:linkDebugFrameworkIosSimulatorArm64` |
| CocoaPods integration | `:shared:linkPodDebugFrameworkIosSimulatorArm64` |
| Distribution or App Store validation | `assemble<Name>ReleaseXCFramework` — in CI, not in the local loop |
| Debug XCFramework genuinely required | `assemble<Name>DebugXCFramework` |
Per-target link tasks follow the pattern
`link<BuildType>Framework<Target>`; find the exact names with
`./gradlew :shared:tasks` or in the build log.
## Rules
- `embedAndSignAppleFrameworkForXcode` builds only the slice Xcode asked for
and must run from an Xcode build phase, not standalone. Direct integration
uses the documented run-script phase; keep its
`OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED` guard so the IDE does not trigger a
second Gradle invocation.
- Do not mix integration methods: a project either uses direct integration or
the CocoaPods integration, and the local task must match the one in use.
- Do not replace CI release artifacts with debug artifacts. If CI release
builds are slow, fix caching, the target matrix, and exports instead.
## Target matrix
`*XCFramework` tasks build every declared target. Remove a target only when
project policy confirms it is unused — the common case is dropping
`iosX64()` when the team no longer supports Intel-based simulators. State the
policy assumption in your report; if policy is unclear, ask instead of
deleting.
Docs:
https://kotlinlang.org/docs/multiplatform-ios-integration-overview.html,
https://kotlinlang.org/docs/multiplatform/multiplatform-direct-integration.html,
https://kotlinlang.org/docs/multiplatform/multiplatform-build-native-binaries.html