Browse Questions
- Secure Message is a stateless asymmetric primitive that encrypts or signs a single payload using your private key and the peer's public key, making it a natural fit for request/response APIs.
- TSCellSeal(key:) uses the bytes you supply directly as the symmetric key, while TSCellSeal(passphrase:) runs a human-typed string through a deliberately slow key derivation function first.
- These are three distinct levels of organisation in an Xcode workspace.
- XCTAssert functions are how you verify expected behaviour in tests.
Answer: These are three distinct levels of organisation in an Xcode workspace.
- Project — the
.xcodeprojfile; top-level container holding everything - Target — a single build product (app, framework, extension, test suite)
- Scheme — defines what to build, run, test, profile, and archive
Practical relationships:
Project (MyApp.xcodeproj)
├── Target: MyApp ← the main app
├── Target: MyAppTests ← unit tests
├── Target: MyAppUITests ← UI tests
├── Target: MyWidget ← widget extension
└── Target: NetworkKit ← internal framework
Scheme: MyApp
├── Build: MyApp + MyAppTests
├── Run: MyApp (Debug config)
├── Test: MyAppTests + MyAppUITests
└── Archive: MyApp (Release config)
When to add targets:
- App extensions (widgets, share extensions, notification service)
- Internal frameworks you want to share across apps
- White-label apps with different bundle IDs and assets