diff --git a/Crashlytics.framework/Crashlytics b/Crashlytics.framework/Crashlytics new file mode 120000 index 0000000..7074275 --- /dev/null +++ b/Crashlytics.framework/Crashlytics @@ -0,0 +1 @@ +Versions/Current/Crashlytics \ No newline at end of file diff --git a/Crashlytics.framework/Headers b/Crashlytics.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/Crashlytics.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/Crashlytics.framework/Modules b/Crashlytics.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/Crashlytics.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/Crashlytics.framework/Resources b/Crashlytics.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/Crashlytics.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/Crashlytics.framework/Versions/A/Crashlytics b/Crashlytics.framework/Versions/A/Crashlytics new file mode 100644 index 0000000..94352a9 Binary files /dev/null and b/Crashlytics.framework/Versions/A/Crashlytics differ diff --git a/Crashlytics.framework/Versions/A/Headers/Crashlytics.h b/Crashlytics.framework/Versions/A/Headers/Crashlytics.h new file mode 100644 index 0000000..9683173 --- /dev/null +++ b/Crashlytics.framework/Versions/A/Headers/Crashlytics.h @@ -0,0 +1,225 @@ +// +// Crashlytics.h +// Crashlytics +// +// Copyright 2013 Crashlytics, Inc. All rights reserved. +// + +#import + +/** + * + * 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 *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 *)delegate; ++ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(NSObject *)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 +@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 +@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 )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] diff --git a/Crashlytics.framework/Versions/A/Modules/module.modulemap b/Crashlytics.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..e552e9c --- /dev/null +++ b/Crashlytics.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module Crashlytics { + umbrella header "Crashlytics.h" + + export * + module * { export * } +} diff --git a/Crashlytics.framework/Versions/A/Resources/Info.plist b/Crashlytics.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..bf09a17 --- /dev/null +++ b/Crashlytics.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleGetInfoString + Crashlytics Framework + CFBundleIdentifier + com.twitter.crashlytics.ios + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Crashlytics + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.2.9+kit + CFBundleSupportedPlatforms + + iPhoneOS + iPhoneSimulator + MacOSX + + CFBundleVersion + 44 + NSHumanReadableCopyright + Copyright 2014 Twitter Inc. + + diff --git a/Crashlytics.framework/Versions/Current b/Crashlytics.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/Crashlytics.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/Crashlytics.framework/run b/Crashlytics.framework/run new file mode 100755 index 0000000..b9211c3 Binary files /dev/null and b/Crashlytics.framework/run differ diff --git a/Crashlytics.framework/submit b/Crashlytics.framework/submit new file mode 100755 index 0000000..9ed6928 Binary files /dev/null and b/Crashlytics.framework/submit differ diff --git a/Fabric.framework/Fabric b/Fabric.framework/Fabric new file mode 120000 index 0000000..4df0d3a --- /dev/null +++ b/Fabric.framework/Fabric @@ -0,0 +1 @@ +Versions/Current/Fabric \ No newline at end of file diff --git a/Fabric.framework/Headers b/Fabric.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/Fabric.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/Fabric.framework/Modules b/Fabric.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/Fabric.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/Fabric.framework/Resources b/Fabric.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/Fabric.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/Fabric.framework/Versions/A/Fabric b/Fabric.framework/Versions/A/Fabric new file mode 100644 index 0000000..0e7b6fd Binary files /dev/null and b/Fabric.framework/Versions/A/Fabric differ diff --git a/Fabric.framework/Versions/A/Headers/Fabric.h b/Fabric.framework/Versions/A/Headers/Fabric.h new file mode 100644 index 0000000..5736943 --- /dev/null +++ b/Fabric.framework/Versions/A/Headers/Fabric.h @@ -0,0 +1,67 @@ +// +// Fabric.h +// +// Copyright (c) 2014 Twitter. All rights reserved. +// + +#import + +/** + * 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 diff --git a/Fabric.framework/Versions/A/Modules/module.modulemap b/Fabric.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..2a31223 --- /dev/null +++ b/Fabric.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module Fabric { + umbrella header "Fabric.h" + + export * + module * { export * } +} \ No newline at end of file diff --git a/Fabric.framework/Versions/A/Resources/Info.plist b/Fabric.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..055ffd3 --- /dev/null +++ b/Fabric.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleGetInfoString + Fabric Framework + CFBundleIdentifier + io.fabric.sdk.ios + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Fabric + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.1.1 + CFBundleSupportedPlatforms + + iPhoneOS + iPhoneSimulator + MacOSX + + CFBundleVersion + 1.1.1 + NSHumanReadableCopyright + Copyright 2014 Twitter Inc. + + diff --git a/Fabric.framework/Versions/Current b/Fabric.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/Fabric.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/Fabric.framework/run b/Fabric.framework/run new file mode 100755 index 0000000..bb0ba8e Binary files /dev/null and b/Fabric.framework/run differ diff --git a/freelansim-client/KKAppDelegate.m b/freelansim-client/KKAppDelegate.m index c2a9224..336203e 100644 --- a/freelansim-client/KKAppDelegate.m +++ b/freelansim-client/KKAppDelegate.m @@ -9,11 +9,16 @@ #import "KKAppDelegate.h" #import "UIRender.h" #import "FLFirstFavoritesCreator.h" +#import +#import + @implementation KKAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [Fabric with:@[CrashlyticsKit]]; + [MagicalRecord setupCoreDataStackWithStoreNamed:@"DataStore.sqlite"]; [UIRender applyStylesheet]; [self loadPreStoringData]; diff --git a/freelansim-client/MainStoryboard.storyboard b/freelansim-client/MainStoryboard.storyboard index 185a028..8b3f898 100644 --- a/freelansim-client/MainStoryboard.storyboard +++ b/freelansim-client/MainStoryboard.storyboard @@ -58,7 +58,7 @@ - + @@ -429,7 +429,7 @@ - +