T-iOS-1: ios/ XcodeGen project (iOS 17, Swift 6 strict concurrency, ATS per PLAN §5.2), 5 SPM package shells, CI skeleton T-iOS-2: Origin spike vs real server — URLSessionWebSocketTask custom Origin CONFIRMED (no Starscream); 16MiB replay + EMSGSIZE(40) errno correction written back to plan T-iOS-3: WireProtocol frozen contract, 59 tests, 100% line coverage, cross-impl vectors vs src/protocol.ts via tsx T-iOS-4: FakeTransport/FakeClock/FakeHTTPTransport doubles Verify: independent agent re-ran all acceptance — 6/6 PASS
25 lines
815 B
Swift
25 lines
815 B
Swift
// swift-tools-version: 6.0
|
||
// T-iOS-1 scaffold shell. SessionEngine / ReconnectMachine / PingScheduler /
|
||
// GateState / AwayDigest / URLSessionTermTransport land in W1–W2 tasks.
|
||
// Dependency direction is strictly downward: SessionCore → WireProtocol only.
|
||
import PackageDescription
|
||
|
||
let package = Package(
|
||
name: "SessionCore",
|
||
platforms: [.iOS(.v17), .macOS(.v14)],
|
||
products: [
|
||
.library(name: "SessionCore", targets: ["SessionCore"]),
|
||
],
|
||
dependencies: [
|
||
.package(path: "../WireProtocol"),
|
||
],
|
||
targets: [
|
||
.target(
|
||
name: "SessionCore",
|
||
dependencies: [.product(name: "WireProtocol", package: "WireProtocol")]
|
||
),
|
||
.testTarget(name: "SessionCoreTests", dependencies: ["SessionCore"]),
|
||
],
|
||
swiftLanguageModes: [.v6]
|
||
)
|