mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Added method configureWithBetaIdentifier:liveIdentifier:delegate.
This commit is contained in:
parent
d8bb3b07eb
commit
2f4dc46c57
@ -19,14 +19,23 @@
|
|||||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
// THE SOFTWARE.
|
// THE SOFTWARE.
|
||||||
|
|
||||||
|
@protocol CNSHockeyManagerDelegate <NSObject>
|
||||||
|
|
||||||
|
@optional
|
||||||
|
- (BOOL)shouldUseLiveIdenfitier;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
@interface CNSHockeyManager : NSObject {
|
@interface CNSHockeyManager : NSObject {
|
||||||
@private
|
@private
|
||||||
|
id delegate;
|
||||||
NSString *appIdentifier;
|
NSString *appIdentifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (CNSHockeyManager *)sharedHockeyManager;
|
+ (CNSHockeyManager *)sharedHockeyManager;
|
||||||
|
|
||||||
- (void)configureWithIdentifier:(NSString *)appIdentifier delegate:(id)delegate;
|
- (void)configureWithIdentifier:(NSString *)appIdentifier delegate:(id)delegate;
|
||||||
|
- (void)configureWithBetaIdentifier:(NSString *)betaIdentifier liveIdentifier:(NSString *)liveIdentifier delegate:(id)delegate;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -25,12 +25,18 @@
|
|||||||
|
|
||||||
@interface CNSHockeyManager ()
|
@interface CNSHockeyManager ()
|
||||||
|
|
||||||
|
- (BOOL)shouldUseLiveIdenfitier;
|
||||||
|
|
||||||
- (void)configureJMC;
|
- (void)configureJMC;
|
||||||
|
- (void)configureHockeyManager;
|
||||||
|
- (void)configureQuincyManager;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation CNSHockeyManager
|
@implementation CNSHockeyManager
|
||||||
|
|
||||||
|
#pragma mark - Public Class Methods
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 40000
|
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 40000
|
||||||
+ (CNSHockeyManager *)sharedHockeyManager {
|
+ (CNSHockeyManager *)sharedHockeyManager {
|
||||||
static CNSHockeyManager *sharedInstance = nil;
|
static CNSHockeyManager *sharedInstance = nil;
|
||||||
@ -71,6 +77,8 @@
|
|||||||
return (jmcClass) && ([jmcClass respondsToSelector:@selector(instance)]);
|
return (jmcClass) && ([jmcClass respondsToSelector:@selector(instance)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark - Private Class Methods
|
||||||
|
|
||||||
+ (void)disableJMCCrashReporter {
|
+ (void)disableJMCCrashReporter {
|
||||||
id jmcClass = NSClassFromString(@"JMC");
|
id jmcClass = NSClassFromString(@"JMC");
|
||||||
id jmcInstance = [jmcClass performSelector:@selector(instance)];
|
id jmcInstance = [jmcClass performSelector:@selector(instance)];
|
||||||
@ -111,18 +119,53 @@
|
|||||||
[invocation invoke];
|
[invocation invoke];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark - Public Instance Methods
|
||||||
|
|
||||||
- (void)configureWithIdentifier:(NSString *)newAppIdentifier delegate:(id)delegate {
|
- (void)configureWithIdentifier:(NSString *)newAppIdentifier delegate:(id)delegate {
|
||||||
[appIdentifier release];
|
[appIdentifier release];
|
||||||
appIdentifier = [newAppIdentifier copy];
|
appIdentifier = [newAppIdentifier copy];
|
||||||
|
|
||||||
// Crash Reporting
|
[self configureQuincyManager];
|
||||||
|
[self configureHockeyManager];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)configureWithBetaIdentifier:(NSString *)betaIdentifier liveIdentifier:(NSString *)liveIdentifier delegate:(id)delegate {
|
||||||
|
[appIdentifier release];
|
||||||
|
|
||||||
|
if ([self shouldUseLiveIdenfitier]) {
|
||||||
|
appIdentifier = [liveIdentifier copy];
|
||||||
|
|
||||||
|
[self configureQuincyManager];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
appIdentifier = [betaIdentifier copy];
|
||||||
|
|
||||||
|
[self configureQuincyManager];
|
||||||
|
[self configureHockeyManager];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - Private Instance Methods
|
||||||
|
|
||||||
|
- (BOOL)shouldUseLiveIdenfitier {
|
||||||
|
BOOL delegateResult = NO;
|
||||||
|
if ([delegate respondsToSelector:@selector(shouldUseLiveIdenfitier)]) {
|
||||||
|
delegateResult = [(NSObject <CNSHockeyManagerDelegate>*)delegate shouldUseLiveIdenfitier];
|
||||||
|
}
|
||||||
|
|
||||||
|
return (delegateResult) || ([[BWHockeyManager sharedHockeyManager] isAppStoreEnvironment]);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)configureQuincyManager {
|
||||||
[[BWQuincyManager sharedQuincyManager] setAppIdentifier:appIdentifier];
|
[[BWQuincyManager sharedQuincyManager] setAppIdentifier:appIdentifier];
|
||||||
|
}
|
||||||
// Distribution
|
|
||||||
|
- (void)configureHockeyManager {
|
||||||
[[BWHockeyManager sharedHockeyManager] setAppIdentifier:appIdentifier];
|
[[BWHockeyManager sharedHockeyManager] setAppIdentifier:appIdentifier];
|
||||||
[[BWHockeyManager sharedHockeyManager] setCheckForTracker:YES];
|
[[BWHockeyManager sharedHockeyManager] setCheckForTracker:YES];
|
||||||
|
|
||||||
// JMC
|
// Only if JMC is part of the project
|
||||||
if ([[self class] isJMCPresent]) {
|
if ([[self class] isJMCPresent]) {
|
||||||
[[BWHockeyManager sharedHockeyManager] addObserver:self forKeyPath:@"trackerConfig" options:0 context:nil];
|
[[BWHockeyManager sharedHockeyManager] addObserver:self forKeyPath:@"trackerConfig" options:0 context:nil];
|
||||||
[[self class] disableJMCCrashReporter];
|
[[self class] disableJMCCrashReporter];
|
||||||
@ -168,6 +211,8 @@
|
|||||||
|
|
||||||
- (void)dealloc {
|
- (void)dealloc {
|
||||||
[appIdentifier release], appIdentifier = nil;
|
[appIdentifier release], appIdentifier = nil;
|
||||||
|
delegate = nil;
|
||||||
|
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user