gpt4 book ai didi

swift - Swift 中的条件导入

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:11 25 4
gpt4 key购买 nike

我有一个在各种应用程序中使用的日志功能。由于我在整个应用程序中都使用它,因此还可以方便地进行 Crashlytics 日志记录调用。

但是,并非每个应用程序都使用 Crashlytics。在 Objective C 中,您可以使用预处理器条件来处理这个问题。

如何在代码中处理这个问题?我认为也许有一些方法可以使函数成为条件。但是我将如何选择性地或弱地导入 Crashlytics?

import Foundation
//import Crashlytics

/// Debug Log: Log useful information while automatically hiding after release.
func DLog<T>(message: T, filename: String = __FILE__, function: String = __FUNCTION__, line: Int = __LINE__) {
// CLSLogv("\(NSString(string: filename).lastPathComponent).\(function) line \(line) $ \(message)", getVaList([]))
print("[\(NSString(string: filename).lastPathComponent) \(function) L\(line)] \(message)")
}

最佳答案

您现在可以在 Swift 4.1 中使用新的 canImport() 指令执行此操作。这是描述其工作原理的 Swift Evolution 提案:https://github.com/apple/swift-evolution/blob/master/proposals/0075-import-test.md

所以你可以这样做:

#if canImport(Crashlytics)
func dLog() {
// use Crashlytics symbols
}
#endif

关于swift - Swift 中的条件导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897523/

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