由于Catalyst,最终可以将应用程序移植到macOS了,问题是,许多Pod不支持AppKit。最常见的一种是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
由于这是一个最近的话题,我找不到有关如何从macOS的构建中删除pod的文档,但是却保留了iOS和iPadO S的文档。
可以在代码中使用:
#if !targetEnvironment(macCatalyst)
// Code to exclude for your macOS app
#endif
但是问题的一部分,另一部分是仅针对iOS链接容器...
如果该库对于macOS而言不是至关重要的,但在iOS上仍然需要,那么最简单/最佳的做法是什么?
if target.name.start_with?("Pods")
捕获所有Pod目标。