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 .xcodeproj file; 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