AppDelegate.m 5.66 KB
Newer Older
曹云霄's avatar
曹云霄 committed
1 2 3 4 5 6 7 8 9 10
//
//  AppDelegate.m
//  Lighting
//
//  Created by 曹云霄 on 16/4/27.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "AppDelegate.h"
#import "LoginViewController.h"
11
#import "DeviceDirectionManager.h"
12
#import <Bugly/Bugly.h>
13

曹云霄's avatar
曹云霄 committed
14 15 16 17 18 19 20 21 22
@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
23 24

    [self setUpBuglyAndPgy];
25
    [self detectionNetwork];
曹云霄's avatar
曹云霄 committed
26 27
    [self SetIQKeyboardManager];
    [self RootViewcontroller];
28
    [self setUMShare];
曹云霄's avatar
曹云霄 committed
29 30
    return YES;
}
31

32 33 34 35 36 37
#pragma mark - 设置bugly和pgy
- (void)setUpBuglyAndPgy
{
    [Bugly startWithAppId:@"900033734"];
}

曹云霄's avatar
曹云霄 committed
38
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window
39 40 41 42
{
    //判断是否是横屏
    if ( [[DeviceDirectionManager instance] isHorizontal]) {
        return UIInterfaceOrientationMaskAll ;
曹云霄's avatar
曹云霄 committed
43
    } else{
44 45 46
       return UIInterfaceOrientationMaskLandscape;
    }
}
47

48 49 50 51 52 53 54 55 56
//分享回调
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    BOOL result = [UMSocialSnsService handleOpenURL:url];
    if (result == FALSE) {
        //调用其他SDK,例如支付宝SDK等
    }
    return result;
}
曹云霄's avatar
曹云霄 committed
57 58 59
#pragma mark -设置根视图
- (void)RootViewcontroller
{
曹云霄's avatar
曹云霄 committed
60
    UIStoryboard *story = [UIStoryboard storyboardWithName:@"StoryboardwithCYX" bundle:nil];
曹云霄's avatar
曹云霄 committed
61 62 63 64
    LoginViewController *login = [story instantiateViewControllerWithIdentifier:@"Login"];
    self.window.rootViewController = login;
}

65

66 67 68 69
#pragma mark -接收到内存警告
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
    [[SDImageCache sharedImageCache] clearDisk];
70
    [[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];
71 72
}

曹云霄's avatar
曹云霄 committed
73 74 75 76 77

#pragma mark - 键盘
- (void)SetIQKeyboardManager
{
    IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
78
    [[IQKeyboardManager sharedManager]setKeyboardDistanceFromTextField:0];
曹云霄's avatar
曹云霄 committed
79 80
    manager.enable = YES;
    manager.shouldResignOnTouchOutside = YES;
勾芒's avatar
勾芒 committed
81
    manager.enableAutoToolbar = NO;
曹云霄's avatar
曹云霄 committed
82 83
}

曹云霄's avatar
曹云霄 committed
84 85 86 87

#pragma mark -检测网络的可连接性
- (void)detectionNetwork
{
88
    self.Networkstatus = true;
曹云霄's avatar
曹云霄 committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        
        switch (status) {
                
            case AFNetworkReachabilityStatusUnknown:
            case AFNetworkReachabilityStatusNotReachable:{
                
                NSLog(@"无网络");
                self.Networkstatus = false;
                break;
            }
            case AFNetworkReachabilityStatusReachableViaWiFi:{
                
                NSLog(@"WiFi网络");
                self.Networkstatus = true;
                break;
                
            }
            case AFNetworkReachabilityStatusReachableViaWWAN:{
                
                NSLog(@"流量网络");
                self.Networkstatus = true;
                break;
            }
            default:
                break;
        }
    }];
}

120
#pragma mark - 友盟
121 122 123 124 125 126 127 128 129
-(void)setUMShare
{
    // 友盟分享初始化
    [UMSocialData setAppKey:@"57425f2467e58e645f00210a"];
    
    // 设置微信AppId、appSecret,分享url
    [UMSocialWechatHandler setWXAppId:@"wxab385878d9441f23" appSecret:@"58b85af13973bdf597fa807208ac0dff " url:@"http://www.umeng.com/social"];
    
    // 设置微博的AppKey、appSecret,分享url
130
    [UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"1111393286" secret:@"5d011c05122b5539ec9592372f944d3c" RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
131
}
132 133 134 135 136 137 138 139 140


#pragma mark -更新通知
- (void)updateVersion
{
    [[NSNotificationCenter defaultCenter] postNotificationName:UPLOADVERSION object:nil];
}


曹云霄's avatar
曹云霄 committed
141 142 143 144 145 146 147 148 149 150 151 152
- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
曹云霄's avatar
曹云霄 committed
153
    [self updateVersion];
曹云霄's avatar
曹云霄 committed
154 155 156 157 158 159 160 161 162 163 164 165 166 167
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    // Saves changes in the application's managed object context before the application terminates.
}



@end