Foundation Models framework worked perfectly on macOS 26 Beta 2, but starting from Beta 3 and continuing through Beta 6 (latest), I get dyld symbol errors even with the exact code from Apple's documentation.
Environment:
- macOS 26.0 Beta 6 (25A5351b)
- Xcode 26 Beta 6
- M4 Max MacBook Pro
- Apple Intelligence enabled and downloaded
Error Details: dyld[Process]: Symbol not found: _$s16FoundationModels20LanguageModelSessionC5model10guardrails5tools12instructionsAcA06SystemcD0C_AC10GuardrailsVSayAA4Tool_pGAA12InstructionsVSgtcfC Referenced from: <UUID> /path/to/app.debug.dylib Expected in: <UUID> /System/Library/Frameworks/FoundationModels.framework/Versions/A/FoundationModels
Code Used (Exact from Documentation): import FoundationModels
// This worked on Beta 2, crashes on Beta 3+ let model = SystemLanguageModel.default let session = LanguageModelSession(model: model) let response = try await session.respond(to: "Hello")
What I've Verified:
- FoundationModels.framework exists in /System/Library/Frameworks/
- Framework is properly linked in Xcode project
- Apple Intelligence is enabled and working
- Same code works in older beta versions
- Issue persists even with completely fresh Xcode projects
Analysis: The dyld error suggests the LanguageModelSession(model:) constructor is missing. The symbol shows it's looking for a constructor with parameters (model:guardrails:tools:instructions:), but the documentation still shows the simple (model:) constructor.
Questions:
- Has the LanguageModelSession API changed since Beta 2?
- Should we now use the constructor with guardrails/tools/instructions parameters?
- Is this a known issue with recent betas?
- Are there updated code samples for the current API?
Additional Context: This affects both basic SystemLanguageModel usage AND custom adapter loading. The same dyld symbol errors occur when trying to create SystemLanguageModel(adapter: adapter) as well.
Any guidance on the correct API usage for current betas would be greatly appreciated. The documentation appears to be out of sync with the actual framework implementation.