【发布时间】:2023-01-09 22:33:02
【问题描述】:
我正在使用 https://github.com/williamFalcon/SwiftTryCatch 作为罕见的 NSInternalInconsistencyException 事件的解决方法。
这是代码 sn-p。
private func safePerformBatchUpdates(_ updates: (() -> Void)?, completion: ((Bool) -> Void)? = nil) {
SwiftTryCatch.try({
collectionView.performBatchUpdates(updates, completion: completion)
}, catch: { (error) in
print("\(error)")
Crashlytics.crashlytics().record(error: error)
recoverFromPerformBatchUpdatesError()
}, finally: nil)
}
在 https://github.com/williamFalcon/SwiftTryCatch 中,它提到
有人指出,如果没有 -fobjc-arc-exceptions 标志,这将 导致内存泄漏 http://clang.llvm.org/docs/AutomaticReferenceCounting.html#exceptions 因此,ARC 生成的代码默认会在异常时泄漏,这 如果进程将立即终止就好了 反正。关心从异常中恢复的程序 应该启用该选项。
有谁知道如何将
-fobjc-arc-exceptions标志正确添加到我的 XCode 中?这些是我正在尝试执行的步骤
- 选择项目窗口左上角的项目。
- 选择目标。
- 打开构建阶段窗格。
- 选择“编译源”
现在,大约有 500 多个源代码文件。我在想,我应该
- 仅向文件
SwiftTryCatch.h和SwiftTryCatch.m添加-fobjc-arc-exceptions标志?- 仅将
-fobjc-arc-exceptions标志添加到文件SwiftTryCatch.h、SwiftTryCatch.m和任何使用SwiftTryCatch的 *.swift 文件?- 向所有 500 多个文件添加
-fobjc-arc-exceptions标志?谢谢你。
【问题讨论】:
标签: ios swift objective-c xcode