gpt4 book ai didi

ios - Mac Catalyst 问题 - 链接为 iOS 模拟器构建的目标文件

转载 作者:行者123 更新时间:2023-12-01 19:01:42 26 4
gpt4 key购买 nike

我正在尝试使用新的 Mac Catalyst 在我的 Mac 上构建我的 iOS/iPadOS 项目。当我在 iPhone 模拟器上构建它时一切正常,但当我在 Mac 上构建它时,我收到此错误。

in /Users/nevin/Documents/[projectName]/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics(CLSInternalReport.o), building for Mac Catalyst, but linking in object file built for iOS Simulator, file '/Users/nevin/Documents/[projectName]/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics' for architecture x86_64

这种情况会发生在多个 Pod 上,因此,如果我删除 Crashlytics,则另一个 Pod 也会出现类似的错误。有谁知道这是 Crashlytics 需要修复的问题还是我可以在我的项目中修复的问题?

最佳答案

Mac Catalyst 使用 x86_64,但使用 Mac Catalyst 的目标进行编译。

我有一个为 Mac Catalyst 编译的项目,您需要添加这些标志: https://github.com/ezored/conan-darwin-toolchain/blob/stable/1.1.0/conanfile.py#L183-L188

如果您的框架不兼容,请不要在“常规 > 框架”中链接它,而是选择“iOS”而不是“macOS + iOS”。示例:

xcode

并在您的 swift 代码中添加 IF 代码来检查您的框架是否可以导入并与此一起使用:

#if targetEnvironment(macCatalyst)
print("UIKit running on macOS")
#else
print("Your regular code")
#endif

通过此功能,您可以使应用程序与 Mac Catalyst 兼容。当您的框架(如 Crashlytics)兼容时,再次检查“macOS + iOS”并删除对代码的检查。

另一个选择是为 Mac Catalyst 创建另一个目标,并只放置 Mac Catalyst 的内容,但使用我的第一个选项,您可以毫无问题地进行构建。

如果您想使用 C++ 代码创建支持 Mac Catalyst 的框架,您可以查看我的框架 ( https://github.com/ezored/ezored )。

关于ios - Mac Catalyst 问题 - 链接为 iOS 模拟器构建的目标文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58633853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com