How to disable Crashlytics iOS library using a flag?

孤者浪人 提交于 2019-12-01 20:12:47

问题


I am using latest Crashlytics library for iOS. I am looking to disable crashlytics using a single flag. How can I do that?

PS: I am not using set API key method as per new SDK integration guidelines. (integrated using MAC app)


回答1:


Are you trying to prevent Crashlytics from running, or prevent the SDK from getting compiled in at all?

To prevent it from running, you can not make the Crashlyitcs call to get it going, generally done in your app delegate.

For example, if you're using Crashlytics before Fabric, just comment out the following line:

[Crashlytics startWithAPIKey:<your key>];

If you are using Fabric, you'd want to comment out the following line:

[Fabric with:@[CrashlyticsKit]];

If you're using another Fabric service, remove 'CrashlyticsKit' from the services for Fabric to launch with. So for example, you'd want to change:

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

to:

[Fabric with:@[TwitterKit]];

Since you want this done with a flag, there are a number of ways to go about this, One way is to use a processor macro. For example, if you're just trying to disable Crashlytics while running in XCode, you can use DEBUG, a preprocessor macro that's set to 1 in XCode projects by default, in the following way:

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

You can add your own preprocessor macros for whatever contexts you'd like by opening your project file (.xcodeproj) in XCode, select your target, select the "Build Settings" tab, scroll to the "Apple LLVM 6.0 - Preprocessing" section, and change the entries under "Preprocessor Macros". You can add them for any project configuration, however you'd like.




回答2:


Swift language also supports conditional compilation:

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

Define FABRIC as Swift compiler flag in Build Settings -> Swift Compiler - Custom Flags -> Other Swift Flags:



来源:https://stackoverflow.com/questions/28931322/how-to-disable-crashlytics-ios-library-using-a-flag

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!