ios - MacCatalyst 的条件 Pod 链接

标签 ios xcode linker mac-catalyst

MacCatalyst 仍不支持 Flurry Analytics。在我的应用程序中,Flurry 是该目标环境中唯一不支持的 CocoaPod。 Fernando Moya de Rivas 在 Medium 上发表了一篇关于这个问题的条件链接的好文章 ( https://medium.com/better-programming/macos-catalyst-debugging-problems-using-catalyst-and-cocoapods-579679150fa9 )。 Pod 是一个静态的预编译库。 Moya de Rivas 建议编辑 xcconfig 文件以有条件地链接文件(如果它们仅来自 iOS):

OTHER_LDFLAGS = $(inherited) -framework "Crashlytics" -framework "Fabric" -framework "FrameworkThatSupportsCatalyst"

至:

OTHER_LDFLAGS = $(inherited) -framework "FrameworkThatSupportsCatalyst"
OTHER_LDFLAGS[iphone*] = $(inherited) -framework "Crashlytics" -framework "Fabric"

因此,在我的 xcconfig 中,我从加载列表中删除了 Flurry_iOS_SDK 并将其放入仅 iOS 列表中:

OTHER_LDFLAGS = $(inherited) -ObjC -framework "Accelerate" -framework "CFNetwork" -framework "CalmParametricAnimations" -framework "CampcotCollectionView" -framework "CoreGraphics"   -framework "Foundation" -framework "KenBurns" -framework "Kingfisher" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit"
OTHER_LDFLAGS[iphone*] = $(inherited) -framework "Flurry_iOS_SDK"

问题是 Xcode 似乎不喜欢条件链接语句:

xxxxxxx.debug.xcconfig Ignoring build settings configuration file Pods-HieroglyphicsPro.debug.xcconfig due to an error: String 'OTHER_LDFLAGS[iphone*] = $(inherited) -framework "Flurry_iOS_SDK"' could not be parsed: macro string representation 'OTHER_LDFLAGS[iphone*]' isn't well formed: parameter name is empty.

Moya de Rivas 的方法被广泛引用为一个很好的解决方案,但我使用的是更高版本的 Xcode(12.2 版本 12B45b)。是否不再支持此语法,或者我是否存在未发现的语法错误?我无法找到 Xcode 链接器工具链命令的引用。

最佳答案

OTHER_LDFLAGS[iphone*] = $(inherited) -framework "Flurry_iOS_SDK"

效果更好

OTHER_LDFLAGS[sdk=iphone*] = $(inherited) -framework "Flurry_iOS_SDK"

关于ios - MacCatalyst 的条件 Pod 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65146039/

相关文章:

ios - 如何检测 iOS 中特定 View Controller 的空闲时间/非事件时间?

c - 链接我用 pthread 库编写的库

ios - 自定义 iPhone 框架的 Mach-O 类型应该是什么?

c++ - 如何使用 find_package 通过 CMake 静态链接到许可的 Qt 库?

iOS为图片创建唯一标识符

iOS Firebase 动态链接未在冷启动 iOS 14 上处理

ios - 在单点触控中使用 UIActivityViewController

iOS 如何在任何 View Controller 中捕获触摸?

ios - Xcode 中的构建错误。链接问题

ios - 我的应用程序在 Xcode 7 中的主屏幕消失了