-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
30 changed files
with
463 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Crashlytics |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Headers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Resources |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,225 @@ | ||
// | ||
// Crashlytics.h | ||
// Crashlytics | ||
// | ||
// Copyright 2013 Crashlytics, Inc. All rights reserved. | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
/** | ||
* | ||
* The CLS_LOG macro provides as easy way to gather more information in your log messages that are | ||
* sent with your crash data. CLS_LOG prepends your custom log message with the function name and | ||
* line number where the macro was used. If your app was built with the DEBUG preprocessor macro | ||
* defined CLS_LOG uses the CLSNSLog function which forwards your log message to NSLog and CLSLog. | ||
* If the DEBUG preprocessor macro is not defined CLS_LOG uses CLSLog only. | ||
* | ||
* Example output: | ||
* -[AppDelegate login:] line 134 $ login start | ||
* | ||
* If you would like to change this macro, create a new header file, unset our define and then define | ||
* your own version. Make sure this new header file is imported after the Crashlytics header file. | ||
* | ||
* #undef CLS_LOG | ||
* #define CLS_LOG(__FORMAT__, ...) CLSNSLog... | ||
* | ||
**/ | ||
#ifdef DEBUG | ||
#define CLS_LOG(__FORMAT__, ...) CLSNSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) | ||
#else | ||
#define CLS_LOG(__FORMAT__, ...) CLSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) | ||
#endif | ||
|
||
/** | ||
* | ||
* Add logging that will be sent with your crash data. This logging will not show up in the system.log | ||
* and will only be visible in your Crashlytics dashboard. | ||
* | ||
**/ | ||
OBJC_EXTERN void CLSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); | ||
OBJC_EXTERN void CLSLogv(NSString *format, va_list args) NS_FORMAT_FUNCTION(1,0); | ||
|
||
/** | ||
* | ||
* Add logging that will be sent with your crash data. This logging will show up in the system.log | ||
* and your Crashlytics dashboard. It is not recommended for Release builds. | ||
* | ||
**/ | ||
OBJC_EXTERN void CLSNSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); | ||
OBJC_EXTERN void CLSNSLogv(NSString *format, va_list args) NS_FORMAT_FUNCTION(1,0); | ||
|
||
|
||
@protocol CrashlyticsDelegate; | ||
|
||
@interface Crashlytics : NSObject | ||
|
||
@property (nonatomic, readonly, copy) NSString *apiKey; | ||
@property (nonatomic, readonly, copy) NSString *version; | ||
@property (nonatomic, assign) BOOL debugMode; | ||
|
||
@property (nonatomic, assign) NSObject <CrashlyticsDelegate> *delegate; | ||
|
||
/** | ||
* | ||
* The recommended way to install Crashlytics into your application is to place a call | ||
* to +startWithAPIKey: in your -application:didFinishLaunchingWithOptions: method. | ||
* | ||
* This delay defaults to 1 second in order to generally give the application time to | ||
* fully finish launching. | ||
* | ||
**/ | ||
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey; | ||
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey afterDelay:(NSTimeInterval)delay; | ||
|
||
/** | ||
* | ||
* If you need the functionality provided by the CrashlyticsDelegate protocol, you can use | ||
* these convenience methods to activate the framework and set the delegate in one call. | ||
* | ||
**/ | ||
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(NSObject <CrashlyticsDelegate> *)delegate; | ||
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(NSObject <CrashlyticsDelegate> *)delegate afterDelay:(NSTimeInterval)delay; | ||
|
||
/** | ||
* | ||
* Access the singleton Crashlytics instance. | ||
* | ||
**/ | ||
+ (Crashlytics *)sharedInstance; | ||
|
||
/** | ||
* | ||
* The easiest way to cause a crash - great for testing! | ||
* | ||
**/ | ||
- (void)crash; | ||
|
||
/** | ||
* | ||
* Many of our customers have requested the ability to tie crashes to specific end-users of their | ||
* application in order to facilitate responses to support requests or permit the ability to reach | ||
* out for more information. We allow you to specify up to three separate values for display within | ||
* the Crashlytics UI - but please be mindful of your end-user's privacy. | ||
* | ||
* We recommend specifying a user identifier - an arbitrary string that ties an end-user to a record | ||
* in your system. This could be a database id, hash, or other value that is meaningless to a | ||
* third-party observer but can be indexed and queried by you. | ||
* | ||
* Optionally, you may also specify the end-user's name or username, as well as email address if you | ||
* do not have a system that works well with obscured identifiers. | ||
* | ||
* Pursuant to our EULA, this data is transferred securely throughout our system and we will not | ||
* disseminate end-user data unless required to by law. That said, if you choose to provide end-user | ||
* contact information, we strongly recommend that you disclose this in your application's privacy | ||
* policy. Data privacy is of our utmost concern. | ||
* | ||
**/ | ||
- (void)setUserIdentifier:(NSString *)identifier; | ||
- (void)setUserName:(NSString *)name; | ||
- (void)setUserEmail:(NSString *)email; | ||
|
||
+ (void)setUserIdentifier:(NSString *)identifier; | ||
+ (void)setUserName:(NSString *)name; | ||
+ (void)setUserEmail:(NSString *)email; | ||
|
||
/** | ||
* | ||
* Set a value for a key to be associated with your crash data. | ||
* | ||
**/ | ||
- (void)setObjectValue:(id)value forKey:(NSString *)key; | ||
- (void)setIntValue:(int)value forKey:(NSString *)key; | ||
- (void)setBoolValue:(BOOL)value forKey:(NSString *)key; | ||
- (void)setFloatValue:(float)value forKey:(NSString *)key; | ||
|
||
+ (void)setObjectValue:(id)value forKey:(NSString *)key; | ||
+ (void)setIntValue:(int)value forKey:(NSString *)key; | ||
+ (void)setBoolValue:(BOOL)value forKey:(NSString *)key; | ||
+ (void)setFloatValue:(float)value forKey:(NSString *)key; | ||
|
||
@end | ||
|
||
/** | ||
* The CLSCrashReport protocol exposes methods that you can call on crash report objects passed | ||
* to delegate methods. If you want these values or the entire object to stay in memory retain | ||
* them or copy them. | ||
**/ | ||
@protocol CLSCrashReport <NSObject> | ||
@required | ||
|
||
/** | ||
* Returns the session identifier for the crash report. | ||
**/ | ||
@property (nonatomic, readonly) NSString *identifier; | ||
|
||
/** | ||
* Returns the custom key value data for the crash report. | ||
**/ | ||
@property (nonatomic, readonly) NSDictionary *customKeys; | ||
|
||
/** | ||
* Returns the CFBundleVersion of the application that crashed. | ||
**/ | ||
@property (nonatomic, readonly) NSString *bundleVersion; | ||
|
||
/** | ||
* Returns the CFBundleShortVersionString of the application that crashed. | ||
**/ | ||
@property (nonatomic, readonly) NSString *bundleShortVersionString; | ||
|
||
/** | ||
* Returns the date that the application crashed at. | ||
**/ | ||
@property (nonatomic, readonly) NSDate *crashedOnDate; | ||
|
||
/** | ||
* Returns the os version that the application crashed on. | ||
**/ | ||
@property (nonatomic, readonly) NSString *OSVersion; | ||
|
||
/** | ||
* Returns the os build version that the application crashed on. | ||
**/ | ||
@property (nonatomic, readonly) NSString *OSBuildVersion; | ||
|
||
@end | ||
|
||
/** | ||
* | ||
* The CrashlyticsDelegate protocol provides a mechanism for your application to take | ||
* action on events that occur in the Crashlytics crash reporting system. You can make | ||
* use of these calls by assigning an object to the Crashlytics' delegate property directly, | ||
* or through the convenience startWithAPIKey:delegate:... methods. | ||
* | ||
**/ | ||
@protocol CrashlyticsDelegate <NSObject> | ||
@optional | ||
|
||
/** | ||
* | ||
* Called once a Crashlytics instance has determined that the last execution of the | ||
* application ended in a crash. This is called some time after the crash reporting | ||
* process has begun. If you have specified a delay in one of the | ||
* startWithAPIKey:... calls, this will take at least that long to be invoked. | ||
* | ||
**/ | ||
- (void)crashlyticsDidDetectCrashDuringPreviousExecution:(Crashlytics *)crashlytics; | ||
|
||
/** | ||
* | ||
* Just like crashlyticsDidDetectCrashDuringPreviousExecution this delegate method is | ||
* called once a Crashlytics instance has determined that the last execution of the | ||
* application ended in a crash. A CLSCrashReport is passed back that contains data about | ||
* the last crash report that was generated. See the CLSCrashReport protocol for method details. | ||
* This method is called after crashlyticsDidDetectCrashDuringPreviousExecution. | ||
* | ||
**/ | ||
- (void)crashlytics:(Crashlytics *)crashlytics didDetectCrashDuringPreviousExecution:(id <CLSCrashReport>)crash; | ||
|
||
@end | ||
|
||
/** | ||
* `CrashlyticsKit` can be used as a parameter to `[Fabric with:@[CrashlyticsKit]];` in Objective-C. In Swift, simply use `Crashlytics()` | ||
*/ | ||
#define CrashlyticsKit [Crashlytics sharedInstance] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
framework module Crashlytics { | ||
umbrella header "Crashlytics.h" | ||
|
||
export * | ||
module * { export * } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>CFBundleDevelopmentRegion</key> | ||
<string>English</string> | ||
<key>CFBundleGetInfoString</key> | ||
<string>Crashlytics Framework</string> | ||
<key>CFBundleIdentifier</key> | ||
<string>com.twitter.crashlytics.ios</string> | ||
<key>CFBundleInfoDictionaryVersion</key> | ||
<string>6.0</string> | ||
<key>CFBundleName</key> | ||
<string>Crashlytics</string> | ||
<key>CFBundlePackageType</key> | ||
<string>FMWK</string> | ||
<key>CFBundleShortVersionString</key> | ||
<string>2.2.9+kit</string> | ||
<key>CFBundleSupportedPlatforms</key> | ||
<array> | ||
<string>iPhoneOS</string> | ||
<string>iPhoneSimulator</string> | ||
<string>MacOSX</string> | ||
</array> | ||
<key>CFBundleVersion</key> | ||
<string>44</string> | ||
<key>NSHumanReadableCopyright</key> | ||
<string>Copyright 2014 Twitter Inc.</string> | ||
</dict> | ||
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
A |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Fabric |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Headers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Versions/Current/Resources |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
// | ||
// Fabric.h | ||
// | ||
// Copyright (c) 2014 Twitter. All rights reserved. | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
|
||
/** | ||
* Fabric Base. Coordinates configuration and starts all provided kits. | ||
*/ | ||
@interface Fabric : NSObject | ||
|
||
/** | ||
* Initialize Fabric and all provided kits. Call this method within your App Delegate's | ||
* `application:didFinishLaunchingWithOptions:` and provide the kits you wish to use. | ||
* | ||
* For example, in Objective-C: | ||
* | ||
* `[Fabric with:@[TwitterKit, CrashlyticsKit, MoPubKit]];` | ||
* | ||
* Swift: | ||
* | ||
* `Fabric.with([Twitter(), Crashlytics(), MoPub()])` | ||
* | ||
* @param kits An array of kit instances. Kits may provide a macro such as CrashlyticsKit which can be passed in as array elements in objective-c. | ||
* | ||
* @return Returns the shared Fabric instance. In most cases this can be ignored. | ||
*/ | ||
+ (instancetype)with:(NSArray *)kits; | ||
|
||
/** | ||
* Returns the Fabric singleton object. | ||
*/ | ||
+ (instancetype)sharedSDK; | ||
|
||
/** | ||
* This BOOL enables or disables debug logging, such as kit version information. The default value is NO. | ||
*/ | ||
@property (nonatomic, assign) BOOL debug; | ||
|
||
/** | ||
* Unavailable. Use `+sharedSDK` to retrieve the shared Fabric instance. | ||
*/ | ||
- (id)init __attribute__((unavailable("Use +sharedSDK to retrieve the shared Fabric instance."))); | ||
|
||
/** | ||
* Returns Fabrics's instance of the specified kit. | ||
* | ||
* @param klass The class of the kit. | ||
* | ||
* @return The kit instance of class klass which was provided to with: or nil. | ||
*/ | ||
- (id)kitForClass:(Class)klass; | ||
|
||
/** | ||
* Returns a dictionary containing the kit configuration info for the provided kit. | ||
* The configuration information is parsed from the application's Info.plist. This | ||
* method is primarily intended to be used by kits to retrieve their configuration. | ||
* | ||
* @param kitInstance An instance of the kit whose configuration should be returned. | ||
* | ||
* @return A dictionary containing kit specific configuration information or nil if none exists. | ||
*/ | ||
- (NSDictionary *)configurationDictionaryForKit:(id)kitInstance; | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
framework module Fabric { | ||
umbrella header "Fabric.h" | ||
|
||
export * | ||
module * { export * } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>CFBundleDevelopmentRegion</key> | ||
<string>English</string> | ||
<key>CFBundleGetInfoString</key> | ||
<string>Fabric Framework</string> | ||
<key>CFBundleIdentifier</key> | ||
<string>io.fabric.sdk.ios</string> | ||
<key>CFBundleInfoDictionaryVersion</key> | ||
<string>6.0</string> | ||
<key>CFBundleName</key> | ||
<string>Fabric</string> | ||
<key>CFBundlePackageType</key> | ||
<string>FMWK</string> | ||
<key>CFBundleShortVersionString</key> | ||
<string>1.1.1</string> | ||
<key>CFBundleSupportedPlatforms</key> | ||
<array> | ||
<string>iPhoneOS</string> | ||
<string>iPhoneSimulator</string> | ||
<string>MacOSX</string> | ||
</array> | ||
<key>CFBundleVersion</key> | ||
<string>1.1.1</string> | ||
<key>NSHumanReadableCopyright</key> | ||
<string>Copyright 2014 Twitter Inc.</string> | ||
</dict> | ||
</plist> |
Oops, something went wrong.