SHA256
docs: record verified development delivery and explicit release gates
Document independent native architecture, server compatibility, build/signing procedures, privacy limitations and persistent continuation steps. Record two consecutive seven-test API 35 HTTPS/OIDC passes, portable and host-tool checks, and inspected unsigned artifacts. Explicitly withhold production readiness pending Apple SDK validation, API 37/current-device testing, real IdPs, resource-limit review, human security review and maintainer signing.
This commit is contained in:
1 parent
9ca11e4fb5
commit
2d12491516
13 files changed
+674
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# iOS development
|
||||
|
||||
Requires macOS, Xcode 16.4 or newer with an iOS simulator, and XcodeGen 2.44.1.
|
||||
Minimum iOS/iPadOS 18.4: the auth window must be able to deny native file-panel
|
||||
requests, which earlier WKWebView delegates cannot do. No CocoaPods or external
|
||||
runtime package is required. For App Store submission use Apple's currently
|
||||
required Xcode/iOS SDK, not merely the oldest compiler that can build the source.
|
||||
|
||||
```sh
|
||||
bash scripts/install-xcodegen.sh "$HOME/.local/yuvomi-xcodegen"
|
||||
"$HOME/.local/yuvomi-xcodegen/xcodegen/bin/xcodegen" generate --spec ios/project.yml
|
||||
device=$(python3 scripts/select-simulator.py)
|
||||
xcodebuild -project ios/Yuvomi.xcodeproj -scheme Yuvomi \
|
||||
-destination "platform=iOS Simulator,id=$device" CODE_SIGNING_ALLOWED=NO test
|
||||
xcodebuild -project ios/Yuvomi.xcodeproj -scheme Yuvomi \
|
||||
-destination 'generic/platform=iOS' -archivePath artifacts/Yuvomi-unsigned.xcarchive \
|
||||
CODE_SIGNING_ALLOWED=NO archive
|
||||
```
|
||||
|
||||
`project.yml` is the source of truth. The Xcode project and generated Info.plist
|
||||
are ignored. The XcodeGen download is version- and SHA256-pinned. The project
|
||||
includes a privacy manifest, camera/photo/local-network usage strings, universal
|
||||
app icon, orientation support, unit and UI test targets, and no ATS exception.
|
||||
|
||||
On macOS or Linux with Swift 6 installed:
|
||||
|
||||
```sh
|
||||
swift test --package-path ios
|
||||
swiftc -frontend -parse ios/Sources/*.swift ios/Tests/*.swift ios/UITests/*.swift
|
||||
```
|
||||
|
||||
These portable tests compile the **production URL/metadata policies only**.
|
||||
Parsing does not typecheck UIKit, SwiftUI or WebKit APIs. Neither command is
|
||||
evidence that the iOS application builds. Actual Xcode testing is mandatory.
|
||||
|
||||
For a device build select your authorized development team in Xcode, use your own
|
||||
registered bundle identifier, and let Xcode manage development provisioning.
|
||||
Never commit generated profiles or certificates. See `release-process.md` for
|
||||
distribution. A Linux environment cannot produce a validated iOS archive.
|
||||
Reference in new issue
Block a user