Se un progetto iOS 27.1 non compila per Mac Catalyst oppure la destinazione Mac Catalyst non compare in Xcode 27.1 beta, Apple documenta due problemi noti distinti. Per gli errori di compilazione bisogna isolare le API specifiche di iOS 27.1 dal target Catalyst; se manca la destinazione di esecuzione, Apple indica di impostare un deployment minimo Mac Catalyst 27.0.
I due casi sono descritti nelle release notes ufficiali di Xcode 27.1 beta. Non conviene quindi modificare certificati o ricreare il progetto prima di capire quale dei due sintomi stai vedendo.

Caso 1: errori “undeclared identifier”, “not found” o “has no member”
Apple segnala che i progetti che usano API specifiche di iOS 27.1 possono mostrare errori quando vengono compilati per Mac Catalyst. Tra i messaggi citati ci sono undeclared identifier, not found, has no member e cannot find.
Il punto importante è che il codice può essere valido per iOS 27.1 ma non disponibile nello stesso modo nel target Catalyst della beta. Non trattare quindi ogni errore come un import mancante o un package corrotto.
Il workaround per gli errori di compilazione
Per Swift Apple indica di isolare il codice interessato con una condizione sul target:
#if !targetEnvironment(macCatalyst)
// API specifica di iOS 27.1
#endif
In Objective-C il controllo equivalente indicato da Apple usa:
#if !TARGET_OS_MACCATALYST
// API specifica di iOS 27.1
#endif
Applica la condizione soltanto al codice realmente incompatibile. Racchiudere blocchi troppo ampi può nascondere funzionalità che invece funzionano correttamente su Mac Catalyst.
Caso 2: Mac Catalyst non appare tra le destinazioni
Un secondo problema noto riguarda i progetti che targettizzano iOS 27.1: Xcode 27.1 beta può non mostrare alcuna destinazione Mac Catalyst disponibile. In questo caso Apple indica come workaround di aggiungere Mac Catalyst 27.0 come minimum deployment nelle impostazioni del target.
Dopo la modifica chiudi e riapri la selezione delle destinazioni e controlla che Mac torni disponibile. Non cambiare il deployment target iOS solo per far apparire Catalyst: la correzione proposta riguarda specificamente il minimo di Mac Catalyst.

Come capire quale problema hai
| Sintomo | Controllo prioritario |
|---|---|
| Errori su simboli o API iOS 27.1 | Condizionali per target Mac Catalyst |
| Mac Catalyst assente dalle destinazioni | Minimum deployment Mac Catalyst 27.0 |
| Errore di firma | Certificati e signing, problema diverso |
| Build iOS fallisce allo stesso modo | Non attribuire il problema solo a Catalyst |
Non confondere il problema con un crash di Xcode 27.2
Se l’IDE si chiude mentre usi il completamento del codice, l’intento è diverso e riguarda un altro problema noto. Abbiamo una guida separata sul crash di Xcode 27.2 con il completamento del codice.
Per problemi più generali del sistema dopo un major update, può essere utile anche il cluster troubleshooting di macOS 27, senza mescolare però configurazioni utente con errori specifici dell’SDK.
Cosa evitare
- Non abbassare indiscriminatamente tutti i deployment target.
- Non rimuovere API dal progetto senza verificare se il problema riguarda solo Catalyst.
- Non rigenerare certificati per un errore di simboli.
- Non cancellare package e cache come primo tentativo.
- Non distribuire una build senza ricontrollare il comportamento quando arriva una beta successiva.
Verifica finale
Compila prima il target iOS, poi Mac Catalyst. Se iOS passa e Catalyst fallisce solo sulle API 27.1, applica il condizionale mirato. Se la destinazione Mac non compare, verifica il minimum deployment 27.0 per Catalyst. Conserva comunque una nota del workaround, perché una futura beta di Xcode può rendere inutile la modifica.
Se stai verificando compatibilità e supporto del sistema prima di cambiare deployment target, consulta anche OpenCore Legacy Patcher e macOS 27 sui Mac Intel: riguarda un caso diverso, ma aiuta a separare i limiti della piattaforma dai problemi specifici di Xcode.