Update openssl/scrypt and Crashlytics/Fabric
This commit is contained in:
parent
db7f9d8af8
commit
c662065bc3
@ -6,6 +6,6 @@
|
|||||||
<file url="file://$PROJECT_DIR$/MasterPassword/Java/masterpassword-cli" charset="UTF-8" />
|
<file url="file://$PROJECT_DIR$/MasterPassword/Java/masterpassword-cli" charset="UTF-8" />
|
||||||
<file url="file://$PROJECT_DIR$/MasterPassword/Java/masterpassword-gui" charset="UTF-8" />
|
<file url="file://$PROJECT_DIR$/MasterPassword/Java/masterpassword-gui" charset="UTF-8" />
|
||||||
<file url="file://$PROJECT_DIR$/MasterPassword/Java/masterpassword-model" charset="UTF-8" />
|
<file url="file://$PROJECT_DIR$/MasterPassword/Java/masterpassword-model" charset="UTF-8" />
|
||||||
|
<file url="PROJECT" charset="UTF-8" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
2
External/Pearl
vendored
2
External/Pearl
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 986f092d10eaab64b2ff7347f29e193b9b9e5de4
|
Subproject commit 8086bd1b71e6d9d49e47a95a724ef672bf138a94
|
@ -1 +0,0 @@
|
|||||||
Versions/Current/Crashlytics
|
|
BIN
External/iOS/Crashlytics.framework/Crashlytics
vendored
Executable file
BIN
External/iOS/Crashlytics.framework/Crashlytics
vendored
Executable file
Binary file not shown.
1
External/iOS/Crashlytics.framework/Headers
vendored
1
External/iOS/Crashlytics.framework/Headers
vendored
@ -1 +0,0 @@
|
|||||||
Versions/Current/Headers
|
|
31
External/iOS/Crashlytics.framework/Headers/ANSCompatibility.h
vendored
Normal file
31
External/iOS/Crashlytics.framework/Headers/ANSCompatibility.h
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// ANSCompatibility.h
|
||||||
|
// AnswersKit
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#if !__has_feature(nullability)
|
||||||
|
#define nonnull
|
||||||
|
#define nullable
|
||||||
|
#define _Nullable
|
||||||
|
#define _Nonnull
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#define NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NS_ASSUME_NONNULL_END
|
||||||
|
#define NS_ASSUME_NONNULL_END
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __has_feature(objc_generics)
|
||||||
|
#define ANS_GENERIC_NSARRAY(type) NSArray<type>
|
||||||
|
#define ANS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary<key_type, object_key>
|
||||||
|
#else
|
||||||
|
#define ANS_GENERIC_NSARRAY(type) NSArray
|
||||||
|
#define ANS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary
|
||||||
|
#endif
|
206
External/iOS/Crashlytics.framework/Headers/Answers.h
vendored
Normal file
206
External/iOS/Crashlytics.framework/Headers/Answers.h
vendored
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
//
|
||||||
|
// Answers.h
|
||||||
|
// Crashlytics
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "ANSCompatibility.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface Answers : NSObject
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Sign Up event to see users signing up for your app in real-time, understand how
|
||||||
|
* many users are signing up with different methods and their success rate signing up.
|
||||||
|
*
|
||||||
|
* @param signUpMethodOrNil The method by which a user logged in, e.g. Twitter or Digits.
|
||||||
|
* @param signUpSucceededOrNil The ultimate success or failure of the login
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logSignUpWithMethod:(nullable NSString *)signUpMethodOrNil
|
||||||
|
success:(nullable NSNumber *)signUpSucceededOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log an Log In event to see users logging into your app in real-time, understand how many
|
||||||
|
* users are logging in with different methods and their success rate logging into your app.
|
||||||
|
*
|
||||||
|
* @param loginMethodOrNil The method by which a user logged in, e.g. email, Twitter or Digits.
|
||||||
|
* @param loginSucceededOrNil The ultimate success or failure of the login
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logLoginWithMethod:(nullable NSString *)loginMethodOrNil
|
||||||
|
success:(nullable NSNumber *)loginSucceededOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Share event to see users sharing from your app in real-time, letting you
|
||||||
|
* understand what content they're sharing from the type or genre down to the specific id.
|
||||||
|
*
|
||||||
|
* @param shareMethodOrNil The method by which a user shared, e.g. email, Twitter, SMS.
|
||||||
|
* @param contentNameOrNil The human readable name for this piece of content.
|
||||||
|
* @param contentTypeOrNil The type of content shared.
|
||||||
|
* @param contentIdOrNil The unique identifier for this piece of content. Useful for finding the top shared item.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this event.
|
||||||
|
*/
|
||||||
|
+ (void)logShareWithMethod:(nullable NSString *)shareMethodOrNil
|
||||||
|
contentName:(nullable NSString *)contentNameOrNil
|
||||||
|
contentType:(nullable NSString *)contentTypeOrNil
|
||||||
|
contentId:(nullable NSString *)contentIdOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log an Invite Event to track how users are inviting other users into
|
||||||
|
* your application.
|
||||||
|
*
|
||||||
|
* @param inviteMethodOrNil The method of invitation, e.g. GameCenter, Twitter, email.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logInviteWithMethod:(nullable NSString *)inviteMethodOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Purchase event to see your revenue in real-time, understand how many users are making purchases, see which
|
||||||
|
* items are most popular, and track plenty of other important purchase-related metrics.
|
||||||
|
*
|
||||||
|
* @param itemPriceOrNil The purchased item's price.
|
||||||
|
* @param currencyOrNil The ISO4217 currency code. Example: USD
|
||||||
|
* @param purchaseSucceededOrNil Was the purchase succesful or unsuccesful
|
||||||
|
* @param itemNameOrNil The human-readable form of the item's name. Example:
|
||||||
|
* @param itemIdOrNil The machine-readable, unique item identifier Example: SKU
|
||||||
|
* @param itemTypeOrNil The type, or genre of the item. Example: Song
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logPurchaseWithPrice:(nullable NSDecimalNumber *)itemPriceOrNil
|
||||||
|
currency:(nullable NSString *)currencyOrNil
|
||||||
|
success:(nullable NSNumber *)purchaseSucceededOrNil
|
||||||
|
itemName:(nullable NSString *)itemNameOrNil
|
||||||
|
itemType:(nullable NSString *)itemTypeOrNil
|
||||||
|
itemId:(nullable NSString *)itemIdOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Level Start Event to track where users are in your game.
|
||||||
|
*
|
||||||
|
* @param levelNameOrNil The level name
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this level start event.
|
||||||
|
*/
|
||||||
|
+ (void)logLevelStart:(nullable NSString *)levelNameOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Level End event to track how users are completing levels in your game.
|
||||||
|
*
|
||||||
|
* @param levelNameOrNil The name of the level completed, E.G. "1" or "Training"
|
||||||
|
* @param scoreOrNil The score the user completed the level with.
|
||||||
|
* @param levelCompletedSuccesfullyOrNil A boolean representing whether or not the level was completed succesfully.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logLevelEnd:(nullable NSString *)levelNameOrNil
|
||||||
|
score:(nullable NSNumber *)scoreOrNil
|
||||||
|
success:(nullable NSNumber *)levelCompletedSuccesfullyOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log an Add to Cart event to see users adding items to a shopping cart in real-time, understand how
|
||||||
|
* many users start the purchase flow, see which items are most popular, and track plenty of other important
|
||||||
|
* purchase-related metrics.
|
||||||
|
*
|
||||||
|
* @param itemPriceOrNil The purchased item's price.
|
||||||
|
* @param currencyOrNil The ISO4217 currency code. Example: USD
|
||||||
|
* @param itemNameOrNil The human-readable form of the item's name. Example:
|
||||||
|
* @param itemTypeOrNil The type, or genre of the item. Example: Song
|
||||||
|
* @param itemIdOrNil The machine-readable, unique item identifier Example: SKU
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logAddToCartWithPrice:(nullable NSDecimalNumber *)itemPriceOrNil
|
||||||
|
currency:(nullable NSString *)currencyOrNil
|
||||||
|
itemName:(nullable NSString *)itemNameOrNil
|
||||||
|
itemType:(nullable NSString *)itemTypeOrNil
|
||||||
|
itemId:(nullable NSString *)itemIdOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Start Checkout event to see users moving through the purchase funnel in real-time, understand how many
|
||||||
|
* users are doing this and how much they're spending per checkout, and see how it related to other important
|
||||||
|
* purchase-related metrics.
|
||||||
|
*
|
||||||
|
* @param totalPriceOrNil The total price of the cart.
|
||||||
|
* @param currencyOrNil The ISO4217 currency code. Example: USD
|
||||||
|
* @param itemCountOrNil The number of items in the cart.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase.
|
||||||
|
*/
|
||||||
|
+ (void)logStartCheckoutWithPrice:(nullable NSDecimalNumber *)totalPriceOrNil
|
||||||
|
currency:(nullable NSString *)currencyOrNil
|
||||||
|
itemCount:(nullable NSNumber *)itemCountOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Rating event to see users rating content within your app in real-time and understand what
|
||||||
|
* content is most engaging, from the type or genre down to the specific id.
|
||||||
|
*
|
||||||
|
* @param ratingOrNil The integer rating given by the user.
|
||||||
|
* @param contentNameOrNil The human readable name for this piece of content.
|
||||||
|
* @param contentTypeOrNil The type of content shared.
|
||||||
|
* @param contentIdOrNil The unique identifier for this piece of content. Useful for finding the top shared item.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this event.
|
||||||
|
*/
|
||||||
|
+ (void)logRating:(nullable NSNumber *)ratingOrNil
|
||||||
|
contentName:(nullable NSString *)contentNameOrNil
|
||||||
|
contentType:(nullable NSString *)contentTypeOrNil
|
||||||
|
contentId:(nullable NSString *)contentIdOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Content View event to see users viewing content within your app in real-time and
|
||||||
|
* understand what content is most engaging, from the type or genre down to the specific id.
|
||||||
|
*
|
||||||
|
* @param contentNameOrNil The human readable name for this piece of content.
|
||||||
|
* @param contentTypeOrNil The type of content shared.
|
||||||
|
* @param contentIdOrNil The unique identifier for this piece of content. Useful for finding the top shared item.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this event.
|
||||||
|
*/
|
||||||
|
+ (void)logContentViewWithName:(nullable NSString *)contentNameOrNil
|
||||||
|
contentType:(nullable NSString *)contentTypeOrNil
|
||||||
|
contentId:(nullable NSString *)contentIdOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Search event allows you to see users searching within your app in real-time and understand
|
||||||
|
* exactly what they're searching for.
|
||||||
|
*
|
||||||
|
* @param queryOrNil The user's query.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this event.
|
||||||
|
*/
|
||||||
|
+ (void)logSearchWithQuery:(nullable NSString *)queryOrNil
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a Custom Event to see user actions that are uniquely important for your app in real-time, to see how often
|
||||||
|
* they're performing these actions with breakdowns by different categories you add. Use a human-readable name for
|
||||||
|
* the name of the event, since this is how the event will appear in Answers.
|
||||||
|
*
|
||||||
|
* @param eventName The human-readable name for the event.
|
||||||
|
* @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase. Attribute keys
|
||||||
|
* must be <code>NSString</code> and and values must be <code>NSNumber</code> or <code>NSString</code>.
|
||||||
|
* @discussion How we treat <code>NSNumbers</code>:
|
||||||
|
* We will provide information about the distribution of values over time.
|
||||||
|
*
|
||||||
|
* How we treat <code>NSStrings</code>:
|
||||||
|
* NSStrings are used as categorical data, allowing comparison across different category values.
|
||||||
|
* Strings are limited to a maximum length of 100 characters, attributes over this length will be
|
||||||
|
* truncated.
|
||||||
|
*
|
||||||
|
* When tracking the Tweet views to better understand user engagement, sending the tweet's length
|
||||||
|
* and the type of media present in the tweet allows you to track how tweet length and the type of media influence
|
||||||
|
* engagement.
|
||||||
|
*/
|
||||||
|
+ (void)logCustomEventWithName:(NSString *)eventName
|
||||||
|
customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
33
External/iOS/Crashlytics.framework/Headers/CLSAttributes.h
vendored
Normal file
33
External/iOS/Crashlytics.framework/Headers/CLSAttributes.h
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
//
|
||||||
|
// CLSAttributes.h
|
||||||
|
// Crashlytics
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define CLS_DEPRECATED(x) __attribute__ ((deprecated(x)))
|
||||||
|
|
||||||
|
#if !__has_feature(nullability)
|
||||||
|
#define nonnull
|
||||||
|
#define nullable
|
||||||
|
#define _Nullable
|
||||||
|
#define _Nonnull
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#define NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NS_ASSUME_NONNULL_END
|
||||||
|
#define NS_ASSUME_NONNULL_END
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __has_feature(objc_generics)
|
||||||
|
#define CLS_GENERIC_NSARRAY(type) NSArray<type>
|
||||||
|
#define CLS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary<key_type, object_key>
|
||||||
|
#else
|
||||||
|
#define CLS_GENERIC_NSARRAY(type) NSArray
|
||||||
|
#define CLS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary
|
||||||
|
#endif
|
64
External/iOS/Crashlytics.framework/Headers/CLSLogging.h
vendored
Normal file
64
External/iOS/Crashlytics.framework/Headers/CLSLogging.h
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
//
|
||||||
|
// CLSLogging.h
|
||||||
|
// Crashlytics
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import "CLSAttributes.h"
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 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 __OBJC__
|
||||||
|
#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
|
||||||
|
#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.
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
OBJC_EXTERN void CLSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
|
||||||
|
OBJC_EXTERN void CLSLogv(NSString *format, va_list ap) 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 ap) NS_FORMAT_FUNCTION(1,0);
|
||||||
|
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
|
#endif
|
103
External/iOS/Crashlytics.framework/Headers/CLSReport.h
vendored
Normal file
103
External/iOS/Crashlytics.framework/Headers/CLSReport.h
vendored
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
//
|
||||||
|
// CLSReport.h
|
||||||
|
// Crashlytics
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "CLSAttributes.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The CLSCrashReport protocol is deprecated. See the CLSReport class and the CrashyticsDelegate changes for details.
|
||||||
|
**/
|
||||||
|
@protocol CLSCrashReport <NSObject>
|
||||||
|
|
||||||
|
@property (nonatomic, copy, readonly) NSString *identifier;
|
||||||
|
@property (nonatomic, copy, readonly) NSDictionary *customKeys;
|
||||||
|
@property (nonatomic, copy, readonly) NSString *bundleVersion;
|
||||||
|
@property (nonatomic, copy, readonly) NSString *bundleShortVersionString;
|
||||||
|
@property (nonatomic, copy, readonly) NSDate *crashedOnDate;
|
||||||
|
@property (nonatomic, copy, readonly) NSString *OSVersion;
|
||||||
|
@property (nonatomic, copy, readonly) NSString *OSBuildVersion;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The CLSReport exposes an interface to the phsyical report that Crashlytics has created. You can
|
||||||
|
* use this class to get information about the event, and can also set some values after the
|
||||||
|
* event has occured.
|
||||||
|
**/
|
||||||
|
@interface CLSReport : NSObject <CLSCrashReport>
|
||||||
|
|
||||||
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
+ (instancetype)new NS_UNAVAILABLE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the session identifier for the report.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSString *identifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the custom key value data for the report.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSDictionary *customKeys;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the CFBundleVersion of the application that generated the report.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSString *bundleVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the CFBundleShortVersionString of the application that generated the report.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSString *bundleShortVersionString;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the date that the report was created.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSDate *dateCreated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the os version that the application crashed on.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSString *OSVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the os build version that the application crashed on.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, readonly) NSString *OSBuildVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns YES if the report contains any crash information, otherwise returns NO.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, assign, readonly) BOOL isCrash;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* You can use this method to set, after the event, additional custom keys. The rules
|
||||||
|
* and semantics for this method are the same as those documented in Crashlytics.h. Be aware
|
||||||
|
* that the maximum size and count of custom keys is still enforced, and you can overwrite keys
|
||||||
|
* and/or cause excess keys to be deleted by using this method.
|
||||||
|
**/
|
||||||
|
- (void)setObjectValue:(nullable id)value forKey:(NSString *)key;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record an application-specific user identifier. See Crashlytics.h for details.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, nullable) NSString * userIdentifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record a user name. See Crashlytics.h for details.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, nullable) NSString * userName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record a user email. See Crashlytics.h for details.
|
||||||
|
**/
|
||||||
|
@property (nonatomic, copy, nullable) NSString * userEmail;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
37
External/iOS/Crashlytics.framework/Headers/CLSStackFrame.h
vendored
Normal file
37
External/iOS/Crashlytics.framework/Headers/CLSStackFrame.h
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
//
|
||||||
|
// CLSStackFrame.h
|
||||||
|
// Crashlytics
|
||||||
|
//
|
||||||
|
// Copyright 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "CLSAttributes.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* This class is used in conjunction with -[Crashlytics recordCustomExceptionName:reason:frameArray:] to
|
||||||
|
* record information about non-ObjC/C++ exceptions. All information included here will be displayed
|
||||||
|
* in the Crashlytics UI, and can influence crash grouping. Be particularly careful with the use of the
|
||||||
|
* address property. If set, Crashlytics will attempt symbolication and could overwrite other properities
|
||||||
|
* in the process.
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
@interface CLSStackFrame : NSObject
|
||||||
|
|
||||||
|
+ (instancetype)stackFrame;
|
||||||
|
+ (instancetype)stackFrameWithAddress:(NSUInteger)address;
|
||||||
|
+ (instancetype)stackFrameWithSymbol:(NSString *)symbol;
|
||||||
|
|
||||||
|
@property (nonatomic, copy, nullable) NSString *symbol;
|
||||||
|
@property (nonatomic, copy, nullable) NSString *library;
|
||||||
|
@property (nonatomic, copy, nullable) NSString *fileName;
|
||||||
|
@property (nonatomic, assign) uint32_t lineNumber;
|
||||||
|
@property (nonatomic, assign) uint64_t offset;
|
||||||
|
@property (nonatomic, assign) uint64_t address;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
248
External/iOS/Crashlytics.framework/Headers/Crashlytics.h
vendored
Normal file
248
External/iOS/Crashlytics.framework/Headers/Crashlytics.h
vendored
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
//
|
||||||
|
// Crashlytics.h
|
||||||
|
// Crashlytics
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Crashlytics, Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#import "CLSAttributes.h"
|
||||||
|
#import "CLSLogging.h"
|
||||||
|
#import "CLSReport.h"
|
||||||
|
#import "CLSStackFrame.h"
|
||||||
|
#import "Answers.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@protocol CrashlyticsDelegate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crashlytics. Handles configuration and initialization of Crashlytics.
|
||||||
|
*/
|
||||||
|
@interface Crashlytics : NSObject
|
||||||
|
|
||||||
|
@property (nonatomic, readonly, copy) NSString *APIKey;
|
||||||
|
@property (nonatomic, readonly, copy) NSString *version;
|
||||||
|
@property (nonatomic, assign) BOOL debugMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* The delegate can be used to influence decisions on reporting and behavior, as well as reacting
|
||||||
|
* to previous crashes.
|
||||||
|
*
|
||||||
|
* Make certain that the delegate is setup before starting Crashlytics with startWithAPIKey:... or
|
||||||
|
* via +[Fabric with:...]. Failure to do will result in missing any delegate callbacks that occur
|
||||||
|
* synchronously during start.
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
@property (nonatomic, assign, nullable) id <CrashlyticsDelegate> delegate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The recommended way to install Crashlytics into your application is to place a call to +startWithAPIKey:
|
||||||
|
* in your -application:didFinishLaunchingWithOptions: or -applicationDidFinishLaunching:
|
||||||
|
* method.
|
||||||
|
*
|
||||||
|
* Note: Starting with 3.0, the submission process has been significantly improved. The delay parameter
|
||||||
|
* is no longer required to throttle submissions on launch, performance will be great without it.
|
||||||
|
*
|
||||||
|
* @param apiKey The Crashlytics API Key for this app
|
||||||
|
*
|
||||||
|
* @return The singleton Crashlytics instance
|
||||||
|
*/
|
||||||
|
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey;
|
||||||
|
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey afterDelay:(NSTimeInterval)delay CLS_DEPRECATED("Crashlytics no longer needs or uses the delay parameter. Please use +startWithAPIKey: instead.");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @param apiKey The Crashlytics API Key for this app
|
||||||
|
* @param delegate A delegate object which conforms to CrashlyticsDelegate.
|
||||||
|
*
|
||||||
|
* @return The singleton Crashlytics instance
|
||||||
|
*/
|
||||||
|
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(nullable id<CrashlyticsDelegate>)delegate;
|
||||||
|
+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(nullable id<CrashlyticsDelegate>)delegate afterDelay:(NSTimeInterval)delay CLS_DEPRECATED("Crashlytics no longer needs or uses the delay parameter. Please use +startWithAPIKey:delegate: instead.");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Access the singleton Crashlytics instance.
|
||||||
|
*
|
||||||
|
* @return The singleton Crashlytics instance
|
||||||
|
*/
|
||||||
|
+ (Crashlytics *)sharedInstance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The easiest way to cause a crash - great for testing!
|
||||||
|
*/
|
||||||
|
- (void)crash;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The easiest way to cause a crash with an exception - great for testing.
|
||||||
|
*/
|
||||||
|
- (void)throwException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specify a user identifier which will be visible in the Crashlytics UI.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @param identifier An arbitrary user identifier string which ties an end-user to a record in your system.
|
||||||
|
*/
|
||||||
|
- (void)setUserIdentifier:(nullable NSString *)identifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specify a user name which will be visible in the Crashlytics UI.
|
||||||
|
* Please be mindful of your end-user's privacy and see if setUserIdentifier: can fulfil your needs.
|
||||||
|
* @see setUserIdentifier:
|
||||||
|
*
|
||||||
|
* @param name An end user's name.
|
||||||
|
*/
|
||||||
|
- (void)setUserName:(nullable NSString *)name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specify a user email which will be visible in the Crashlytics UI.
|
||||||
|
* Please be mindful of your end-user's privacy and see if setUserIdentifier: can fulfil your needs.
|
||||||
|
*
|
||||||
|
* @see setUserIdentifier:
|
||||||
|
*
|
||||||
|
* @param email An end user's email address.
|
||||||
|
*/
|
||||||
|
- (void)setUserEmail:(nullable NSString *)email;
|
||||||
|
|
||||||
|
+ (void)setUserIdentifier:(nullable NSString *)identifier CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
+ (void)setUserName:(nullable NSString *)name CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
+ (void)setUserEmail:(nullable NSString *)email CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a value for a for a key to be associated with your crash data which will be visible in the Crashlytics UI.
|
||||||
|
* When setting an object value, the object is converted to a string. This is typically done by calling
|
||||||
|
* -[NSObject description].
|
||||||
|
*
|
||||||
|
* @param value The object to be associated with the key
|
||||||
|
* @param key The key with which to associate the value
|
||||||
|
*/
|
||||||
|
- (void)setObjectValue:(nullable id)value forKey:(NSString *)key;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an int value for a key to be associated with your crash data which will be visible in the Crashlytics UI.
|
||||||
|
*
|
||||||
|
* @param value The integer value to be set
|
||||||
|
* @param key The key with which to associate the value
|
||||||
|
*/
|
||||||
|
- (void)setIntValue:(int)value forKey:(NSString *)key;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an BOOL value for a key to be associated with your crash data which will be visible in the Crashlytics UI.
|
||||||
|
*
|
||||||
|
* @param value The BOOL value to be set
|
||||||
|
* @param key The key with which to associate the value
|
||||||
|
*/
|
||||||
|
- (void)setBoolValue:(BOOL)value forKey:(NSString *)key;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an float value for a key to be associated with your crash data which will be visible in the Crashlytics UI.
|
||||||
|
*
|
||||||
|
* @param value The float value to be set
|
||||||
|
* @param key The key with which to associate the value
|
||||||
|
*/
|
||||||
|
- (void)setFloatValue:(float)value forKey:(NSString *)key;
|
||||||
|
|
||||||
|
+ (void)setObjectValue:(nullable id)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
+ (void)setIntValue:(int)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
+ (void)setBoolValue:(BOOL)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
+ (void)setFloatValue:(float)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method can be used to record a single exception structure in a report. This is particularly useful
|
||||||
|
* when your code interacts with non-native languages like Lua, C#, or Javascript. This call can be
|
||||||
|
* expensive and should only be used shortly before process termination. This API is not intended be to used
|
||||||
|
* to log NSException objects. All safely-reportable NSExceptions are automatically captured by
|
||||||
|
* Crashlytics.
|
||||||
|
*
|
||||||
|
* @param name The name of the custom exception
|
||||||
|
* @param reason The reason this exception occured
|
||||||
|
* @param frameArray An array of CLSStackFrame objects
|
||||||
|
*/
|
||||||
|
- (void)recordCustomExceptionName:(NSString *)name reason:(nullable NSString *)reason frameArray:(CLS_GENERIC_NSARRAY(CLSStackFrame *) *)frameArray;
|
||||||
|
|
||||||
|
- (void)logEvent:(NSString *)eventName CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:");
|
||||||
|
- (void)logEvent:(NSString *)eventName attributes:(nullable NSDictionary *) attributes CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:");
|
||||||
|
+ (void)logEvent:(NSString *)eventName CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:");
|
||||||
|
+ (void)logEvent:(NSString *)eventName attributes:(nullable NSDictionary *) attributes CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:");
|
||||||
|
|
||||||
|
@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: method.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@protocol CrashlyticsDelegate <NSObject>
|
||||||
|
@optional
|
||||||
|
|
||||||
|
|
||||||
|
- (void)crashlyticsDidDetectCrashDuringPreviousExecution:(Crashlytics *)crashlytics CLS_DEPRECATED("Please refer to -crashlyticsDidDetectReportForLastExecution:");
|
||||||
|
- (void)crashlytics:(Crashlytics *)crashlytics didDetectCrashDuringPreviousExecution:(id <CLSCrashReport>)crash CLS_DEPRECATED("Please refer to -crashlyticsDidDetectReportForLastExecution:");
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Called when a Crashlytics instance has determined that the last execution of the
|
||||||
|
* application ended in a crash. This is called synchronously on Crashlytics
|
||||||
|
* initialization. Your delegate must invoke the completionHandler, but does not need to do so
|
||||||
|
* synchronously, or even on the main thread. Invoking completionHandler with NO will cause the
|
||||||
|
* detected report to be deleted and not submitted to Crashlytics. This is useful for
|
||||||
|
* implementing permission prompts, or other more-complex forms of logic around submitting crashes.
|
||||||
|
*
|
||||||
|
* @warning Failure to invoke the completionHandler will prevent submissions from being reported. Watch out.
|
||||||
|
*
|
||||||
|
* @warning Just implementing this delegate method will disable all forms of synchronous report submission. This can
|
||||||
|
* impact the reliability of reporting crashes very early in application launch.
|
||||||
|
*
|
||||||
|
* @param report The CLSReport object representing the last detected crash
|
||||||
|
* @param completionHandler The completion handler to call when your logic has completed.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
- (void)crashlyticsDidDetectReportForLastExecution:(CLSReport *)report completionHandler:(void (^)(BOOL submit))completionHandler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If your app is running on an OS that supports it (OS X 10.9+, iOS 7.0+), Crashlytics will submit
|
||||||
|
* most reports using out-of-process background networking operations. This results in a significant
|
||||||
|
* improvement in reliability of reporting, as well as power and performance wins for your users.
|
||||||
|
* If you don't want this functionality, you can disable by returning NO from this method.
|
||||||
|
*
|
||||||
|
* @warning Background submission is not supported for extensions on iOS or OS X.
|
||||||
|
*
|
||||||
|
* @param crashlytics The Crashlytics singleton instance
|
||||||
|
*
|
||||||
|
* @return Return NO if you don't want out-of-process background network operations.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
- (BOOL)crashlyticsCanUseBackgroundSessions:(Crashlytics *)crashlytics;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `CrashlyticsKit` can be used as a parameter to `[Fabric with:@[CrashlyticsKit]];` in Objective-C. In Swift, use Crashlytics.sharedInstance()
|
||||||
|
*/
|
||||||
|
#define CrashlyticsKit [Crashlytics sharedInstance]
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
55
External/iOS/Crashlytics.framework/Info.plist
vendored
Normal file
55
External/iOS/Crashlytics.framework/Info.plist
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?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>BuildMachineOSBuild</key>
|
||||||
|
<string>14E46</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>Crashlytics</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>3.3.4</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>iPhoneOS</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>82</string>
|
||||||
|
<key>DTCompiler</key>
|
||||||
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
|
<key>DTPlatformBuild</key>
|
||||||
|
<string>13A340</string>
|
||||||
|
<key>DTPlatformName</key>
|
||||||
|
<string>iphoneos</string>
|
||||||
|
<key>DTPlatformVersion</key>
|
||||||
|
<string>9.0</string>
|
||||||
|
<key>DTSDKBuild</key>
|
||||||
|
<string>13A340</string>
|
||||||
|
<key>DTSDKName</key>
|
||||||
|
<string>iphoneos9.0</string>
|
||||||
|
<key>DTXcode</key>
|
||||||
|
<string>0700</string>
|
||||||
|
<key>DTXcodeBuild</key>
|
||||||
|
<string>7A220</string>
|
||||||
|
<key>MinimumOSVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>Copyright © 2015 Crashlytics, Inc. All rights reserved.</string>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>1</integer>
|
||||||
|
<integer>2</integer>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -1,6 +1,14 @@
|
|||||||
framework module Crashlytics {
|
framework module Crashlytics {
|
||||||
umbrella header "Crashlytics.h"
|
header "Crashlytics.h"
|
||||||
|
header "Answers.h"
|
||||||
|
header "ANSCompatibility.h"
|
||||||
|
header "CLSLogging.h"
|
||||||
|
header "CLSReport.h"
|
||||||
|
header "CLSStackFrame.h"
|
||||||
|
header "CLSAttributes.h"
|
||||||
|
|
||||||
export *
|
export *
|
||||||
module * { export * }
|
|
||||||
|
link "z"
|
||||||
|
link "c++"
|
||||||
}
|
}
|
||||||
|
1
External/iOS/Crashlytics.framework/Resources
vendored
1
External/iOS/Crashlytics.framework/Resources
vendored
@ -1 +0,0 @@
|
|||||||
Versions/Current/Resources
|
|
Binary file not shown.
@ -1,225 +0,0 @@
|
|||||||
//
|
|
||||||
// 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]
|
|
@ -1,30 +0,0 @@
|
|||||||
<?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>CFBundleExecutable</key>
|
|
||||||
<string>Crashlytics</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.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.10</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>iPhoneOS</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>45</string>
|
|
||||||
<key>DTPlatformName</key>
|
|
||||||
<string>iphoneos</string>
|
|
||||||
<key>MinimumOSVersion</key>
|
|
||||||
<string>4.0</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -1 +0,0 @@
|
|||||||
A
|
|
BIN
External/iOS/Crashlytics.framework/run
vendored
BIN
External/iOS/Crashlytics.framework/run
vendored
Binary file not shown.
BIN
External/iOS/Crashlytics.framework/submit
vendored
BIN
External/iOS/Crashlytics.framework/submit
vendored
Binary file not shown.
BIN
External/iOS/Crashlytics.framework/uploadDSYM
vendored
Executable file
BIN
External/iOS/Crashlytics.framework/uploadDSYM
vendored
Executable file
Binary file not shown.
BIN
External/iOS/Fabric.framework/Fabric
vendored
Executable file
BIN
External/iOS/Fabric.framework/Fabric
vendored
Executable file
Binary file not shown.
48
External/iOS/Fabric.framework/Headers/FABAttributes.h
vendored
Normal file
48
External/iOS/Fabric.framework/Headers/FABAttributes.h
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
//
|
||||||
|
// FABAttributes.h
|
||||||
|
// Fabric
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Twitter. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define FAB_UNAVAILABLE(x) __attribute__((unavailable(x)))
|
||||||
|
|
||||||
|
#if __has_feature(nullability)
|
||||||
|
#define fab_nullable nullable
|
||||||
|
#define fab_nonnull nonnull
|
||||||
|
#define fab_null_unspecified null_unspecified
|
||||||
|
#define fab_null_resettable null_resettable
|
||||||
|
#define __fab_nullable __nullable
|
||||||
|
#define __fab_nonnull __nonnull
|
||||||
|
#define __fab_null_unspecified __null_unspecified
|
||||||
|
#else
|
||||||
|
#define fab_nullable
|
||||||
|
#define fab_nonnull
|
||||||
|
#define fab_null_unspecified
|
||||||
|
#define fab_null_resettable
|
||||||
|
#define __fab_nullable
|
||||||
|
#define __fab_nonnull
|
||||||
|
#define __fab_null_unspecified
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#define NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NS_ASSUME_NONNULL_END
|
||||||
|
#define NS_ASSUME_NONNULL_END
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The following macros are defined here to provide
|
||||||
|
* backwards compatability. If you are still using
|
||||||
|
* them you should migrate to the new versions that
|
||||||
|
* are defined above.
|
||||||
|
*/
|
||||||
|
#define FAB_NONNULL __fab_nonnull
|
||||||
|
#define FAB_NULLABLE __fab_nullable
|
||||||
|
#define FAB_START_NONNULL NS_ASSUME_NONNULL_BEGIN
|
||||||
|
#define FAB_END_NONNULL NS_ASSUME_NONNULL_END
|
64
External/iOS/Fabric.framework/Headers/Fabric.h
vendored
Normal file
64
External/iOS/Fabric.framework/Headers/Fabric.h
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
//
|
||||||
|
// Fabric.h
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Twitter. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "FABAttributes.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
#if TARGET_OS_IPHONE
|
||||||
|
#if __IPHONE_OS_VERSION_MIN_REQUIRED < 60000
|
||||||
|
#error "Fabric's minimum iOS version is 6.0"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070
|
||||||
|
#error "Fabric's minimum OS X version is 10.7"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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:@[[Crashlytics class], [Twitter class], [Digits class], [MoPub class]]];`
|
||||||
|
*
|
||||||
|
* Swift:
|
||||||
|
*
|
||||||
|
* `Fabric.with([Crashlytics.self(), Twitter.self(), Digits.self(), MoPub.self()])`
|
||||||
|
*
|
||||||
|
* Only the first call to this method is honored. Subsequent calls are no-ops.
|
||||||
|
*
|
||||||
|
* @param kitClasses An array of kit Class objects
|
||||||
|
*
|
||||||
|
* @return Returns the shared Fabric instance. In most cases this can be ignored.
|
||||||
|
*/
|
||||||
|
+ (instancetype)with:(NSArray *)kitClasses;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 FAB_UNAVAILABLE("Use +sharedSDK to retrieve the shared Fabric instance.");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
|
|
55
External/iOS/Fabric.framework/Info.plist
vendored
Normal file
55
External/iOS/Fabric.framework/Info.plist
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?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>BuildMachineOSBuild</key>
|
||||||
|
<string>14E46</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>Fabric</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.5.5</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>iPhoneOS</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>30</string>
|
||||||
|
<key>DTCompiler</key>
|
||||||
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
|
<key>DTPlatformBuild</key>
|
||||||
|
<string>13A340</string>
|
||||||
|
<key>DTPlatformName</key>
|
||||||
|
<string>iphoneos</string>
|
||||||
|
<key>DTPlatformVersion</key>
|
||||||
|
<string>9.0</string>
|
||||||
|
<key>DTSDKBuild</key>
|
||||||
|
<string>13A340</string>
|
||||||
|
<key>DTSDKName</key>
|
||||||
|
<string>iphoneos9.0</string>
|
||||||
|
<key>DTXcode</key>
|
||||||
|
<string>0700</string>
|
||||||
|
<key>DTXcodeBuild</key>
|
||||||
|
<string>7A220</string>
|
||||||
|
<key>MinimumOSVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>Copyright © 2015 Twitter. All rights reserved.</string>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>1</integer>
|
||||||
|
<integer>2</integer>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
6
External/iOS/Fabric.framework/Modules/module.modulemap
vendored
Normal file
6
External/iOS/Fabric.framework/Modules/module.modulemap
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
framework module Fabric {
|
||||||
|
umbrella header "Fabric.h"
|
||||||
|
|
||||||
|
export *
|
||||||
|
module * { export * }
|
||||||
|
}
|
28
External/iOS/Fabric.framework/run
vendored
Executable file
28
External/iOS/Fabric.framework/run
vendored
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# run
|
||||||
|
#
|
||||||
|
# Copyright (c) 2015 Crashlytics. All rights reserved.
|
||||||
|
|
||||||
|
# Figure out where we're being called from
|
||||||
|
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||||
|
|
||||||
|
# Quote path in case of spaces or special chars
|
||||||
|
DIR="\"${DIR}"
|
||||||
|
|
||||||
|
PATH_SEP="/"
|
||||||
|
VALIDATE_COMMAND="uploadDSYM\" $@ validate"
|
||||||
|
UPLOAD_COMMAND="uploadDSYM\" $@"
|
||||||
|
|
||||||
|
# Ensure params are as expected, run in sync mode to validate
|
||||||
|
eval $DIR$PATH_SEP$VALIDATE_COMMAND
|
||||||
|
return_code=$?
|
||||||
|
|
||||||
|
if [[ $return_code != 0 ]]; then
|
||||||
|
exit $return_code
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verification passed, upload dSYM in background to prevent Xcode from waiting
|
||||||
|
# Note: Validation is performed again before upload.
|
||||||
|
# Output can still be found in Console.app
|
||||||
|
eval $DIR$PATH_SEP$UPLOAD_COMMAND > /dev/null 2>&1 &
|
BIN
External/iOS/Fabric.framework/uploadDSYM
vendored
Executable file
BIN
External/iOS/Fabric.framework/uploadDSYM
vendored
Executable file
Binary file not shown.
@ -69,39 +69,39 @@ int main(int argc, char *const argv[]) {
|
|||||||
masterKey, siteName, siteType, siteCounter, siteVariant, siteContext, MPAlgorithmVersionCurrent ) );
|
masterKey, siteName, siteType, siteCounter, siteVariant, siteContext, MPAlgorithmVersionCurrent ) );
|
||||||
free( (void *)masterKey );
|
free( (void *)masterKey );
|
||||||
|
|
||||||
if (i % 1 == 0)
|
if (i % ( iterations / 100 ) == 0)
|
||||||
fprintf( stderr, "\rmpw: iteration %d / %d..", i, iterations );
|
fprintf( stderr, "\rmpw: iteration %d / %d (%d%%)..", i, iterations, i * 100 / iterations );
|
||||||
}
|
}
|
||||||
const double mpwSpeed = mpw_showSpeed( startTime, iterations, "mpw" );
|
const double mpwSpeed = mpw_showSpeed( startTime, iterations, "mpw" );
|
||||||
|
|
||||||
// Start SHA-256
|
// Start SHA-256
|
||||||
iterations = 50000000;
|
iterations = 45000000;
|
||||||
uint8_t hash[32];
|
uint8_t hash[32];
|
||||||
mpw_getTime( &startTime );
|
mpw_getTime( &startTime );
|
||||||
for (int i = 0; i < iterations; ++i) {
|
for (int i = 0; i < iterations; ++i) {
|
||||||
SHA256_Buf( masterPassword, strlen( masterPassword ), hash );
|
SHA256_Buf( masterPassword, strlen( masterPassword ), hash );
|
||||||
|
|
||||||
if (i % 1000 == 0)
|
if (i % ( iterations / 100 ) == 0)
|
||||||
fprintf( stderr, "\rsha256: iteration %d / %d..", i, iterations );
|
fprintf( stderr, "\rsha256: iteration %d / %d (%d%%)..", i, iterations, i * 100 / iterations );
|
||||||
}
|
}
|
||||||
const double sha256Speed = mpw_showSpeed( startTime, iterations, "sha256" );
|
const double sha256Speed = mpw_showSpeed( startTime, iterations, "sha256" );
|
||||||
|
|
||||||
// Start BCrypt
|
// Start BCrypt
|
||||||
int bcrypt_cost = 9;
|
int bcrypt_cost = 9;
|
||||||
iterations = 600;
|
iterations = 500;
|
||||||
mpw_getTime( &startTime );
|
mpw_getTime( &startTime );
|
||||||
for (int i = 0; i < iterations; ++i) {
|
for (int i = 0; i < iterations; ++i) {
|
||||||
crypt( masterPassword, crypt_gensalt( "$2b$", bcrypt_cost, fullName, strlen( fullName ) ) );
|
crypt( masterPassword, crypt_gensalt( "$2b$", bcrypt_cost, fullName, strlen( fullName ) ) );
|
||||||
|
|
||||||
if (i % 10 == 0)
|
if (i % ( iterations / 100 ) == 0)
|
||||||
fprintf( stderr, "\rbcrypt (cost %d): iteration %d / %d..", bcrypt_cost, i, iterations );
|
fprintf( stderr, "\rbcrypt (cost %d): iteration %d / %d (%d%%)..", bcrypt_cost, i, iterations, i * 100 / iterations );
|
||||||
}
|
}
|
||||||
const double bcrypt9Speed = mpw_showSpeed( startTime, iterations, "bcrypt9" );
|
const double bcrypt9Speed = mpw_showSpeed( startTime, iterations, "bcrypt9" );
|
||||||
|
|
||||||
// Summarize.
|
// Summarize.
|
||||||
fprintf( stdout, "\n== SUMMARY ==\nOn this machine,\n" );
|
fprintf( stdout, "\n== SUMMARY ==\nOn this machine,\n" );
|
||||||
fprintf( stdout, " - mpw is %f times slower than sha256.\n", sha256Speed / mpwSpeed );
|
fprintf( stdout, " - mpw is %f times slower than sha256 (reference: 414000 on an MBP Late 2013).\n", sha256Speed / mpwSpeed );
|
||||||
fprintf( stdout, " - mpw is %f times slower than bcrypt (cost 9).\n", bcrypt9Speed / mpwSpeed );
|
fprintf( stdout, " - mpw is %f times slower than bcrypt (cost 9) (reference: 4.86 on an MBP Late 2013).\n", bcrypt9Speed / mpwSpeed );
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -150,8 +150,8 @@ static NSDictionary *keyQuery(MPUserEntity *user) {
|
|||||||
@try {
|
@try {
|
||||||
if ([[MPConfig get].sendInfo boolValue]) {
|
if ([[MPConfig get].sendInfo boolValue]) {
|
||||||
#ifdef CRASHLYTICS
|
#ifdef CRASHLYTICS
|
||||||
[Crashlytics setObjectValue:user.userID forKey:@"username"];
|
[[Crashlytics sharedInstance] setObjectValue:user.userID forKey:@"username"];
|
||||||
[Crashlytics setUserName:user.userID];
|
[[Crashlytics sharedInstance] setUserName:user.userID];
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -821,9 +821,9 @@ PearlAssociatedObjectProperty( NSNumber*, StoreCorrupted, storeCorrupted );
|
|||||||
NSString *contentExport = content?: @"";
|
NSString *contentExport = content?: @"";
|
||||||
[export appendFormat:@"%@ %8ld %8S %25S\t%25S\t%@\n",
|
[export appendFormat:@"%@ %8ld %8S %25S\t%25S\t%@\n",
|
||||||
lastUsedExport, usesExport,
|
lastUsedExport, usesExport,
|
||||||
(const unichar *)[typeExport cStringUsingEncoding:NSUTF16StringEncoding],
|
(const unsigned short *)[typeExport cStringUsingEncoding:NSUTF16StringEncoding],
|
||||||
(const unichar *)[loginNameExport cStringUsingEncoding:NSUTF16StringEncoding],
|
(const unsigned short *)[loginNameExport cStringUsingEncoding:NSUTF16StringEncoding],
|
||||||
(const unichar *)[siteName cStringUsingEncoding:NSUTF16StringEncoding],
|
(const unsigned short *)[siteName cStringUsingEncoding:NSUTF16StringEncoding],
|
||||||
contentExport];
|
contentExport];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,10 +46,10 @@
|
|||||||
#if defined (DEBUG) || defined (ADHOC)
|
#if defined (DEBUG) || defined (ADHOC)
|
||||||
[Crashlytics sharedInstance].debugMode = YES;
|
[Crashlytics sharedInstance].debugMode = YES;
|
||||||
#endif
|
#endif
|
||||||
[Crashlytics setUserIdentifier:[PearlKeyChain deviceIdentifier]];
|
[[Crashlytics sharedInstance] setUserIdentifier:[PearlKeyChain deviceIdentifier]];
|
||||||
[Crashlytics setObjectValue:[PearlKeyChain deviceIdentifier] forKey:@"deviceIdentifier"];
|
[[Crashlytics sharedInstance] setObjectValue:[PearlKeyChain deviceIdentifier] forKey:@"deviceIdentifier"];
|
||||||
[Crashlytics setUserName:@"Anonymous"];
|
[[Crashlytics sharedInstance] setUserName:@"Anonymous"];
|
||||||
[Crashlytics setObjectValue:@"Anonymous" forKey:@"username"];
|
[[Crashlytics sharedInstance] setObjectValue:@"Anonymous" forKey:@"username"];
|
||||||
[Crashlytics startWithAPIKey:crashlyticsAPIKey];
|
[Crashlytics startWithAPIKey:crashlyticsAPIKey];
|
||||||
[[PearlLogger get] registerListener:^BOOL(PearlLogMessage *message) {
|
[[PearlLogger get] registerListener:^BOOL(PearlLogMessage *message) {
|
||||||
PearlLogLevel level = PearlLogLevelInfo;
|
PearlLogLevel level = PearlLogLevelInfo;
|
||||||
|
@ -43,6 +43,20 @@
|
|||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>[auto]</string>
|
<string>[auto]</string>
|
||||||
|
<key>Fabric</key>
|
||||||
|
<dict>
|
||||||
|
<key>APIKey</key>
|
||||||
|
<string>0d10c90776f5ef5acd01ddbeaca9a6cba4814560</string>
|
||||||
|
<key>Kits</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>KitInfo</key>
|
||||||
|
<dict/>
|
||||||
|
<key>KitName</key>
|
||||||
|
<string>Crashlytics</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
@ -98,6 +98,9 @@
|
|||||||
DA29993219C9132F00AF7DF1 /* thumb_generated_login@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA29993119C9132F00AF7DF1 /* thumb_generated_login@3x.png */; };
|
DA29993219C9132F00AF7DF1 /* thumb_generated_login@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA29993119C9132F00AF7DF1 /* thumb_generated_login@3x.png */; };
|
||||||
DA29993319C9214600AF7DF1 /* icon_star-hollow.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD382A1711E29600CF925C /* icon_star-hollow.png */; };
|
DA29993319C9214600AF7DF1 /* icon_star-hollow.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD382A1711E29600CF925C /* icon_star-hollow.png */; };
|
||||||
DA29993419C9214600AF7DF1 /* icon_star-hollow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD382B1711E29600CF925C /* icon_star-hollow@2x.png */; };
|
DA29993419C9214600AF7DF1 /* icon_star-hollow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD382B1711E29600CF925C /* icon_star-hollow@2x.png */; };
|
||||||
|
DA2C3D611BD95EEE001137B3 /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA2C3D601BD95EEE001137B3 /* Fabric.framework */; };
|
||||||
|
DA2C3D631BD96126001137B3 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA2C3D621BD96126001137B3 /* libc++.tbd */; };
|
||||||
|
DA2C3D651BD9612F001137B3 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA2C3D641BD9612F001137B3 /* libz.tbd */; };
|
||||||
DA2CA4DD18D28859007798F8 /* NSArray+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */; };
|
DA2CA4DD18D28859007798F8 /* NSArray+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */; };
|
||||||
DA2CA4DE18D28859007798F8 /* NSArray+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */; };
|
DA2CA4DE18D28859007798F8 /* NSArray+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */; };
|
||||||
DA2CA4DF18D28859007798F8 /* NSTimer+PearlBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */; };
|
DA2CA4DF18D28859007798F8 /* NSTimer+PearlBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */; };
|
||||||
@ -163,7 +166,6 @@
|
|||||||
DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701B716406A4100B61001 /* Accounts.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701B716406A4100B61001 /* Accounts.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||||
DA6701DE16406B7300B61001 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DD16406B7300B61001 /* Social.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
DA6701DE16406B7300B61001 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DD16406B7300B61001 /* Social.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||||
DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DF16406BB400B61001 /* AdSupport.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DF16406BB400B61001 /* AdSupport.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||||
DA672D2F14F92C6B004A189C /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DA672D2E14F92C6B004A189C /* libz.dylib */; };
|
|
||||||
DA672D3014F9413D004A189C /* libPearl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC77CAD148291A600BCF976 /* libPearl.a */; };
|
DA672D3014F9413D004A189C /* libPearl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC77CAD148291A600BCF976 /* libPearl.a */; };
|
||||||
DA67460D18DE7F0C00DFE240 /* Exo2.0-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460918DE7F0C00DFE240 /* Exo2.0-Thin.otf */; };
|
DA67460D18DE7F0C00DFE240 /* Exo2.0-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460918DE7F0C00DFE240 /* Exo2.0-Thin.otf */; };
|
||||||
DA67460E18DE7F0C00DFE240 /* Exo2.0-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460A18DE7F0C00DFE240 /* Exo2.0-Regular.otf */; };
|
DA67460E18DE7F0C00DFE240 /* Exo2.0-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460A18DE7F0C00DFE240 /* Exo2.0-Regular.otf */; };
|
||||||
@ -171,7 +173,6 @@
|
|||||||
DA67461018DE7F0C00DFE240 /* Exo2.0-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460C18DE7F0C00DFE240 /* Exo2.0-Bold.otf */; };
|
DA67461018DE7F0C00DFE240 /* Exo2.0-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA67460C18DE7F0C00DFE240 /* Exo2.0-Bold.otf */; };
|
||||||
DA69540617D975D900BF294E /* icon_gears.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37841711E29500CF925C /* icon_gears.png */; };
|
DA69540617D975D900BF294E /* icon_gears.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37841711E29500CF925C /* icon_gears.png */; };
|
||||||
DA69540717D975D900BF294E /* icon_gears@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37851711E29500CF925C /* icon_gears@2x.png */; };
|
DA69540717D975D900BF294E /* icon_gears@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37851711E29500CF925C /* icon_gears@2x.png */; };
|
||||||
DA72BD7919C137DE00E6ACFE /* libopensslcrypto-ios-dev.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA72BD7719C137D500E6ACFE /* libopensslcrypto-ios-dev.a */; };
|
|
||||||
DA72BD7B19C1510C00E6ACFE /* UIView+FontScale.m in Sources */ = {isa = PBXBuildFile; fileRef = DACE2F6719BA6A2A0010F92E /* UIView+FontScale.m */; };
|
DA72BD7B19C1510C00E6ACFE /* UIView+FontScale.m in Sources */ = {isa = PBXBuildFile; fileRef = DACE2F6719BA6A2A0010F92E /* UIView+FontScale.m */; };
|
||||||
DA73049D194E022700E72520 /* ui_spinner.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD36511711E29400CF925C /* ui_spinner.png */; };
|
DA73049D194E022700E72520 /* ui_spinner.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD36511711E29400CF925C /* ui_spinner.png */; };
|
||||||
DA73049E194E022700E72520 /* ui_spinner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD36521711E29400CF925C /* ui_spinner@2x.png */; };
|
DA73049E194E022700E72520 /* ui_spinner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD36521711E29400CF925C /* ui_spinner@2x.png */; };
|
||||||
@ -331,7 +332,6 @@
|
|||||||
DACE2F6C19BA6A2A0010F92E /* PearlMutableStaticTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DACE2F6819BA6A2A0010F92E /* PearlMutableStaticTableViewController.m */; };
|
DACE2F6C19BA6A2A0010F92E /* PearlMutableStaticTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DACE2F6819BA6A2A0010F92E /* PearlMutableStaticTableViewController.m */; };
|
||||||
DACE2F6D19BA6A2A0010F92E /* PearlMutableStaticTableViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DACE2F6919BA6A2A0010F92E /* PearlMutableStaticTableViewController.h */; };
|
DACE2F6D19BA6A2A0010F92E /* PearlMutableStaticTableViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DACE2F6919BA6A2A0010F92E /* PearlMutableStaticTableViewController.h */; };
|
||||||
DACE2F6E19BA6A2A0010F92E /* UIView+FontScale.h in Headers */ = {isa = PBXBuildFile; fileRef = DACE2F6A19BA6A2A0010F92E /* UIView+FontScale.h */; };
|
DACE2F6E19BA6A2A0010F92E /* UIView+FontScale.h in Headers */ = {isa = PBXBuildFile; fileRef = DACE2F6A19BA6A2A0010F92E /* UIView+FontScale.h */; };
|
||||||
DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD312C01552A20800A3F9ED /* libsqlite3.dylib */; };
|
|
||||||
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAE1EF2417E942DE00BC0086 /* Localizable.strings */; };
|
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAE1EF2417E942DE00BC0086 /* Localizable.strings */; };
|
||||||
DAE2725919C93B80007C5262 /* libInAppSettingsKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */; };
|
DAE2725919C93B80007C5262 /* libInAppSettingsKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */; };
|
||||||
DAE2725A19C93B8E007C5262 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */; };
|
DAE2725A19C93B8E007C5262 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */; };
|
||||||
@ -601,6 +601,10 @@
|
|||||||
DA29992D19C86F5700AF7DF1 /* thumb_generated_login@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "thumb_generated_login@2x.png"; sourceTree = "<group>"; };
|
DA29992D19C86F5700AF7DF1 /* thumb_generated_login@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "thumb_generated_login@2x.png"; sourceTree = "<group>"; };
|
||||||
DA29992E19C86F5700AF7DF1 /* thumb_generated_login.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = thumb_generated_login.png; sourceTree = "<group>"; };
|
DA29992E19C86F5700AF7DF1 /* thumb_generated_login.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = thumb_generated_login.png; sourceTree = "<group>"; };
|
||||||
DA29993119C9132F00AF7DF1 /* thumb_generated_login@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "thumb_generated_login@3x.png"; sourceTree = "<group>"; };
|
DA29993119C9132F00AF7DF1 /* thumb_generated_login@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "thumb_generated_login@3x.png"; sourceTree = "<group>"; };
|
||||||
|
DA2C3D5E1BD95DEF001137B3 /* libscryptenc-ios-dev.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libscryptenc-ios-dev.a"; sourceTree = "<group>"; };
|
||||||
|
DA2C3D601BD95EEE001137B3 /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Fabric.framework; path = ../../../External/iOS/Fabric.framework; sourceTree = "<group>"; };
|
||||||
|
DA2C3D621BD96126001137B3 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||||
|
DA2C3D641BD9612F001137B3 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
|
||||||
DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Pearl.m"; sourceTree = "<group>"; };
|
DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Pearl.m"; sourceTree = "<group>"; };
|
||||||
DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Pearl.h"; sourceTree = "<group>"; };
|
DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Pearl.h"; sourceTree = "<group>"; };
|
||||||
DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+PearlBlock.m"; sourceTree = "<group>"; };
|
DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+PearlBlock.m"; sourceTree = "<group>"; };
|
||||||
@ -665,14 +669,12 @@
|
|||||||
DA6701B716406A4100B61001 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; };
|
DA6701B716406A4100B61001 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; };
|
||||||
DA6701DD16406B7300B61001 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
|
DA6701DD16406B7300B61001 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
|
||||||
DA6701DF16406BB400B61001 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; };
|
DA6701DF16406BB400B61001 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; };
|
||||||
DA672D2E14F92C6B004A189C /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
|
|
||||||
DA67460918DE7F0C00DFE240 /* Exo2.0-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Thin.otf"; sourceTree = "<group>"; };
|
DA67460918DE7F0C00DFE240 /* Exo2.0-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Thin.otf"; sourceTree = "<group>"; };
|
||||||
DA67460A18DE7F0C00DFE240 /* Exo2.0-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Regular.otf"; sourceTree = "<group>"; };
|
DA67460A18DE7F0C00DFE240 /* Exo2.0-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Regular.otf"; sourceTree = "<group>"; };
|
||||||
DA67460B18DE7F0C00DFE240 /* Exo2.0-ExtraBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-ExtraBold.otf"; sourceTree = "<group>"; };
|
DA67460B18DE7F0C00DFE240 /* Exo2.0-ExtraBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-ExtraBold.otf"; sourceTree = "<group>"; };
|
||||||
DA67460C18DE7F0C00DFE240 /* Exo2.0-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Bold.otf"; sourceTree = "<group>"; };
|
DA67460C18DE7F0C00DFE240 /* Exo2.0-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Bold.otf"; sourceTree = "<group>"; };
|
||||||
DA6774351A4749CC004F356A /* mpw-tests.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mpw-tests.c"; sourceTree = "<group>"; };
|
DA6774351A4749CC004F356A /* mpw-tests.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mpw-tests.c"; sourceTree = "<group>"; };
|
||||||
DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
||||||
DA72BD7419C133BF00E6ACFE /* libscryptenc-ios-sim.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libscryptenc-ios-sim.a"; sourceTree = "<group>"; };
|
|
||||||
DA72BD7719C137D500E6ACFE /* libopensslcrypto-ios-dev.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libopensslcrypto-ios-dev.a"; sourceTree = "<group>"; };
|
DA72BD7719C137D500E6ACFE /* libopensslcrypto-ios-dev.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libopensslcrypto-ios-dev.a"; sourceTree = "<group>"; };
|
||||||
DA8495271A9146E600B3053D /* MasterPassword 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 7.xcdatamodel"; sourceTree = "<group>"; };
|
DA8495271A9146E600B3053D /* MasterPassword 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 7.xcdatamodel"; sourceTree = "<group>"; };
|
||||||
DA854C8118D4CFBF00106317 /* avatar-add@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar-add@2x.png"; sourceTree = "<group>"; };
|
DA854C8118D4CFBF00106317 /* avatar-add@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar-add@2x.png"; sourceTree = "<group>"; };
|
||||||
@ -1407,7 +1409,6 @@
|
|||||||
DACE2F6819BA6A2A0010F92E /* PearlMutableStaticTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMutableStaticTableViewController.m; sourceTree = "<group>"; };
|
DACE2F6819BA6A2A0010F92E /* PearlMutableStaticTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMutableStaticTableViewController.m; sourceTree = "<group>"; };
|
||||||
DACE2F6919BA6A2A0010F92E /* PearlMutableStaticTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMutableStaticTableViewController.h; sourceTree = "<group>"; };
|
DACE2F6919BA6A2A0010F92E /* PearlMutableStaticTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMutableStaticTableViewController.h; sourceTree = "<group>"; };
|
||||||
DACE2F6A19BA6A2A0010F92E /* UIView+FontScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+FontScale.h"; sourceTree = "<group>"; };
|
DACE2F6A19BA6A2A0010F92E /* UIView+FontScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+FontScale.h"; sourceTree = "<group>"; };
|
||||||
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
|
|
||||||
DADBB55918DB0CFC00D099FE /* keyboard-dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard-dark@2x.png"; sourceTree = "<group>"; };
|
DADBB55918DB0CFC00D099FE /* keyboard-dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard-dark@2x.png"; sourceTree = "<group>"; };
|
||||||
DAE1EF2317E942DE00BC0086 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
DAE1EF2317E942DE00BC0086 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
DAE2726119CE9CB3007C5262 /* UITableViewCell+PearlDeque.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableViewCell+PearlDeque.m"; sourceTree = "<group>"; };
|
DAE2726119CE9CB3007C5262 /* UITableViewCell+PearlDeque.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableViewCell+PearlDeque.m"; sourceTree = "<group>"; };
|
||||||
@ -1550,6 +1551,8 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
DA2C3D651BD9612F001137B3 /* libz.tbd in Frameworks */,
|
||||||
|
DA2C3D631BD96126001137B3 /* libc++.tbd in Frameworks */,
|
||||||
DAA1761B19D86D0D0044227B /* libAttributedMarkdown.a in Frameworks */,
|
DAA1761B19D86D0D0044227B /* libAttributedMarkdown.a in Frameworks */,
|
||||||
DA32D03E19D11293004F3F0E /* libKCOrderedAccessorFix.a in Frameworks */,
|
DA32D03E19D11293004F3F0E /* libKCOrderedAccessorFix.a in Frameworks */,
|
||||||
DA04E33E14B1E70400ECA4F3 /* MobileCoreServices.framework in Frameworks */,
|
DA04E33E14B1E70400ECA4F3 /* MobileCoreServices.framework in Frameworks */,
|
||||||
@ -1558,20 +1561,18 @@
|
|||||||
DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */,
|
DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */,
|
||||||
DA6701DE16406B7300B61001 /* Social.framework in Frameworks */,
|
DA6701DE16406B7300B61001 /* Social.framework in Frameworks */,
|
||||||
DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */,
|
DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */,
|
||||||
DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */,
|
|
||||||
DABB981615100B4000B05417 /* SystemConfiguration.framework in Frameworks */,
|
DABB981615100B4000B05417 /* SystemConfiguration.framework in Frameworks */,
|
||||||
DA672D3014F9413D004A189C /* libPearl.a in Frameworks */,
|
DA672D3014F9413D004A189C /* libPearl.a in Frameworks */,
|
||||||
DA672D2F14F92C6B004A189C /* libz.dylib in Frameworks */,
|
|
||||||
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */,
|
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */,
|
||||||
DA95D5F214DF0B2C008D1B94 /* MessageUI.framework in Frameworks */,
|
DA95D5F214DF0B2C008D1B94 /* MessageUI.framework in Frameworks */,
|
||||||
DA48856019A5A82E000C2D79 /* Crashlytics.framework in Frameworks */,
|
DA48856019A5A82E000C2D79 /* Crashlytics.framework in Frameworks */,
|
||||||
DAC632891486D9690075AEA5 /* Security.framework in Frameworks */,
|
DAC632891486D9690075AEA5 /* Security.framework in Frameworks */,
|
||||||
DA72BD7919C137DE00E6ACFE /* libopensslcrypto-ios-dev.a in Frameworks */,
|
|
||||||
DA5BFA49147E415C00F98B1E /* UIKit.framework in Frameworks */,
|
DA5BFA49147E415C00F98B1E /* UIKit.framework in Frameworks */,
|
||||||
DA5BFA4B147E415C00F98B1E /* Foundation.framework in Frameworks */,
|
DA5BFA4B147E415C00F98B1E /* Foundation.framework in Frameworks */,
|
||||||
DA5BFA4D147E415C00F98B1E /* CoreGraphics.framework in Frameworks */,
|
DA5BFA4D147E415C00F98B1E /* CoreGraphics.framework in Frameworks */,
|
||||||
DA5BFA4F147E415C00F98B1E /* CoreData.framework in Frameworks */,
|
DA5BFA4F147E415C00F98B1E /* CoreData.framework in Frameworks */,
|
||||||
93D399433EA75E50656040CB /* Twitter.framework in Frameworks */,
|
93D399433EA75E50656040CB /* Twitter.framework in Frameworks */,
|
||||||
|
DA2C3D611BD95EEE001137B3 /* Fabric.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -1773,6 +1774,9 @@
|
|||||||
DA5BFA47147E415C00F98B1E /* Frameworks */ = {
|
DA5BFA47147E415C00F98B1E /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
DA2C3D641BD9612F001137B3 /* libz.tbd */,
|
||||||
|
DA2C3D621BD96126001137B3 /* libc++.tbd */,
|
||||||
|
DA2C3D601BD95EEE001137B3 /* Fabric.framework */,
|
||||||
DA3B844D190FC5DF00246EEA /* Crashlytics.framework */,
|
DA3B844D190FC5DF00246EEA /* Crashlytics.framework */,
|
||||||
DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */,
|
DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */,
|
||||||
DA6701DF16406BB400B61001 /* AdSupport.framework */,
|
DA6701DF16406BB400B61001 /* AdSupport.framework */,
|
||||||
@ -1780,10 +1784,8 @@
|
|||||||
DA6701B716406A4100B61001 /* Accounts.framework */,
|
DA6701B716406A4100B61001 /* Accounts.framework */,
|
||||||
93D394077F8FAB8167647187 /* Twitter.framework */,
|
93D394077F8FAB8167647187 /* Twitter.framework */,
|
||||||
DAAC35DD156BD77D00C5FD93 /* CoreTelephony.framework */,
|
DAAC35DD156BD77D00C5FD93 /* CoreTelephony.framework */,
|
||||||
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */,
|
|
||||||
DA95D5F014DF0B1E008D1B94 /* MessageUI.framework */,
|
DA95D5F014DF0B1E008D1B94 /* MessageUI.framework */,
|
||||||
DABB981515100B4000B05417 /* SystemConfiguration.framework */,
|
DABB981515100B4000B05417 /* SystemConfiguration.framework */,
|
||||||
DA672D2E14F92C6B004A189C /* libz.dylib */,
|
|
||||||
DAEBC45214F6364500987BF6 /* QuartzCore.framework */,
|
DAEBC45214F6364500987BF6 /* QuartzCore.framework */,
|
||||||
DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */,
|
DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */,
|
||||||
DAC632871486D95D0075AEA5 /* Security.framework */,
|
DAC632871486D95D0075AEA5 /* Security.framework */,
|
||||||
@ -1798,11 +1800,11 @@
|
|||||||
DA5E5C6317248959003798D8 /* lib */ = {
|
DA5E5C6317248959003798D8 /* lib */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
DA72BD7719C137D500E6ACFE /* libopensslcrypto-ios-dev.a */,
|
|
||||||
DA72BD7419C133BF00E6ACFE /* libscryptenc-ios-sim.a */,
|
|
||||||
DAE8E65119867AB500416A0F /* libopensslcrypto-ios.a */,
|
|
||||||
DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */,
|
|
||||||
DA5E5C6417248959003798D8 /* include */,
|
DA5E5C6417248959003798D8 /* include */,
|
||||||
|
DA72BD7719C137D500E6ACFE /* libopensslcrypto-ios-dev.a */,
|
||||||
|
DAE8E65119867AB500416A0F /* libopensslcrypto-ios.a */,
|
||||||
|
DA2C3D5E1BD95DEF001137B3 /* libscryptenc-ios-dev.a */,
|
||||||
|
DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */,
|
||||||
);
|
);
|
||||||
path = lib;
|
path = lib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -4020,15 +4022,18 @@
|
|||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-lscryptenc-ios",
|
|
||||||
"-framework",
|
"-framework",
|
||||||
Reveal,
|
Reveal,
|
||||||
);
|
);
|
||||||
|
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
|
||||||
|
"$(inherited)",
|
||||||
|
"-lscryptenc-ios",
|
||||||
|
"-lopensslcrypto-ios",
|
||||||
|
);
|
||||||
"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
|
"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-lscryptenc-ios-sim",
|
"-lscryptenc-ios-dev",
|
||||||
"-framework",
|
"-lopensslcrypto-ios-dev",
|
||||||
Reveal,
|
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword;
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
@ -4057,13 +4062,16 @@
|
|||||||
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
|
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = "$(inherited)";
|
||||||
|
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-lscryptenc-ios",
|
"-lscryptenc-ios",
|
||||||
|
"-lopensslcrypto-ios",
|
||||||
);
|
);
|
||||||
"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
|
"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-lscryptenc-ios-sim",
|
"-lscryptenc-ios-dev",
|
||||||
|
"-lopensslcrypto-ios-dev",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword;
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
@ -4173,13 +4181,16 @@
|
|||||||
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
|
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = "$(inherited)";
|
||||||
|
"OTHER_LDFLAGS[sdk=iphoneos*]" = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-lscryptenc-ios",
|
"-lscryptenc-ios",
|
||||||
|
"-lopensslcrypto-ios",
|
||||||
);
|
);
|
||||||
"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
|
"OTHER_LDFLAGS[sdk=iphonesimulator*]" = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-lscryptenc-ios-sim",
|
"-lscryptenc-ios-dev",
|
||||||
|
"-lopensslcrypto-ios-dev",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword;
|
||||||
PROVISIONING_PROFILE = "";
|
PROVISIONING_PROFILE = "";
|
||||||
|
Loading…
Reference in New Issue
Block a user