简体   繁体   中英

How to disable Crashlytics iOS library using a flag?

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)

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.

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 :

Swift编译器 - 自定义标志

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM