如何使用标志禁用Crashlytics iOS库?

我正在使用iOS的最新Crashlytics库。 我正在寻找使用单个标志禁用crashlytics。 我怎样才能做到这一点?

PS:我没有按照新的SDK集成准则使用set API key方法。 (使用MAC应用程序集成)

你是否试图阻止Crashlytics运行,或者阻止SDK被编译?

为了防止它运行,你不能让Crashlyitcs调用去实现它,通常在你的应用程序委托中完成。

例如,如果您在Fabric之前使用Crashlytics,请将以下行注释掉:

[Crashlytics startWithAPIKey:<your key>]; 

如果您正在使用Fabric,则需要注释掉以下行:

 [Fabric with:@[CrashlyticsKit]]; 

如果您正在使用其他Fabric服务,请从Fabric中启动的服务中删除“CrashlyticsKit”。 所以,例如,你想改变:

 [Fabric with:@[TwitterKit, CrashlyticsKit]]; 

至:

 [Fabric with:@[TwitterKit]]; 

既然你想用一个标志来完成,有很多方法可以解决这个问题。一种方法是使用处理器macros。 例如,如果您只是试图在XCode中运行时禁用Crashlytics,则可以使用DEBUG(默认情况下,在XCode项目中设置为1的预处理器macros),方法如下:

#if DEBUG == 0 [Crashlytics startWithAPIKey:<your key>]; #endif

您可以通过在XCode中打开您的项目文件(.xcodeproj),select您的目标,select“Build Settings”选项卡,滚动到“Apple LLVM 6.0 – 预处理”部分,添加您自己的预处理器macros,并更改“预处理器macros”下的条目。 您可以将它们添加到任何项目configuration中,但是您可以。

Swift语言也支持条件编译 :

 #if FABRIC Fabric.with([Crashlytics.self]) #endif 

Build Settings -> Swift Compiler - Custom Flags -> Other Swift Flags定义FABRIC作为Swift编译器Build Settings -> Swift Compiler - Custom Flags -> Other Swift Flags

Swift编译器 - 自定义标志