Le portage d'applications sur mac est enfin possible grâce à Catalyst , le problème est que de nombreux pods ne prennent pas en charge AppKit. Le plus courant serait Crashlytics / Firebase.
In [...]/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSInternalReport.o), building for Mac Catalyst, but linking in object file built for iOS Simulator, file '[...]/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics' for architecture x86_64
Puisqu'il s'agit d'un sujet récent, je n'ai pas pu trouver de document sur la façon de supprimer un pod de ma version pour macOS, mais le conserver pour iOS et iPadO S.
Il est possible d'utiliser en code:
#if !targetEnvironment(macCatalyst)
// Code to exclude for your macOS app
#endif
Mais cette partie du problème, l'autre partie est de lier le pod uniquement pour iOS ...
Quelle serait la ligne de conduite la plus simple / la meilleure lorsque la bibliothèque n'est pas vitale pour macOS mais toujours souhaitée sur iOS?
if target.name.start_with?("Pods")
pour attraper toutes les cibles du pod.