Commit 7a035955e79088ff7c37e76ab3fe93073a147a76

Authored by nvtu11790@gmail.com
1 parent 5111c4db95

Share LINE

Showing 3 changed files with 25 additions and 9 deletions Inline Diff

LifeLog/LifeLog/Info.plist
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0"> 3 <plist version="1.0">
4 <dict> 4 <dict>
5 <key>CFBundleDevelopmentRegion</key> 5 <key>CFBundleDevelopmentRegion</key>
6 <string>en</string> 6 <string>en</string>
7 <key>CFBundleExecutable</key> 7 <key>CFBundleExecutable</key>
8 <string>$(EXECUTABLE_NAME)</string> 8 <string>$(EXECUTABLE_NAME)</string>
9 <key>CFBundleIdentifier</key> 9 <key>CFBundleIdentifier</key>
10 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> 10 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11 <key>CFBundleInfoDictionaryVersion</key> 11 <key>CFBundleInfoDictionaryVersion</key>
12 <string>6.0</string> 12 <string>6.0</string>
13 <key>CFBundleName</key> 13 <key>CFBundleName</key>
14 <string>$(PRODUCT_NAME)</string> 14 <string>$(PRODUCT_NAME)</string>
15 <key>CFBundlePackageType</key> 15 <key>CFBundlePackageType</key>
16 <string>APPL</string> 16 <string>APPL</string>
17 <key>CFBundleShortVersionString</key> 17 <key>CFBundleShortVersionString</key>
18 <string>1.0</string> 18 <string>1.0</string>
19 <key>CFBundleURLTypes</key>
20 <array>
21 <dict/>
22 </array>
19 <key>CFBundleVersion</key> 23 <key>CFBundleVersion</key>
20 <string>1</string> 24 <string>1</string>
25 <key>LSApplicationQueriesSchemes</key>
26 <array>
27 <string>line</string>
28 </array>
21 <key>LSRequiresIPhoneOS</key> 29 <key>LSRequiresIPhoneOS</key>
22 <true/> 30 <true/>
31 <key>NSAppTransportSecurity</key>
32 <dict>
33 <key>NSAllowsArbitraryLoads</key>
34 <true/>
35 </dict>
36 <key>NSCameraUsageDescription</key>
37 <string>to take photos and video</string>
23 <key>NSMotionUsageDescription</key> 38 <key>NSMotionUsageDescription</key>
24 <string>$(PRODUCT_NAME) motion use</string> 39 <string>$(PRODUCT_NAME) motion use</string>
40 <key>NSPhotoLibraryUsageDescription</key>
41 <string>to save photos and videos</string>
25 <key>UILaunchStoryboardName</key> 42 <key>UILaunchStoryboardName</key>
26 <string>LaunchScreen</string> 43 <string>LaunchScreen</string>
27 <key>UIRequiredDeviceCapabilities</key> 44 <key>UIRequiredDeviceCapabilities</key>
28 <array> 45 <array>
29 <string>armv7</string> 46 <string>armv7</string>
30 </array> 47 </array>
31 <key>UIStatusBarHidden</key> 48 <key>UIStatusBarHidden</key>
32 <true/> 49 <true/>
33 <key>UISupportedInterfaceOrientations</key> 50 <key>UISupportedInterfaceOrientations</key>
34 <array> 51 <array>
35 <string>UIInterfaceOrientationPortrait</string> 52 <string>UIInterfaceOrientationPortrait</string>
36 </array> 53 </array>
37 <key>UISupportedInterfaceOrientations~ipad</key> 54 <key>UISupportedInterfaceOrientations~ipad</key>
38 <array> 55 <array>
39 <string>UIInterfaceOrientationPortrait</string> 56 <string>UIInterfaceOrientationPortrait</string>
40 <string>UIInterfaceOrientationPortraitUpsideDown</string> 57 <string>UIInterfaceOrientationPortraitUpsideDown</string>
41 <string>UIInterfaceOrientationLandscapeLeft</string> 58 <string>UIInterfaceOrientationLandscapeLeft</string>
42 <string>UIInterfaceOrientationLandscapeRight</string> 59 <string>UIInterfaceOrientationLandscapeRight</string>
43 </array> 60 </array>
44 <key>UIViewControllerBasedStatusBarAppearance</key> 61 <key>UIViewControllerBasedStatusBarAppearance</key>
45 <false/> 62 <false/>
46 <key>NSAppTransportSecurity</key>
47 <dict>
48 <key>NSAllowsArbitraryLoads</key>
LifeLog/LifeLog/Utilities.m
1 // 1 //
2 // Utilities.m 2 // Utilities.m
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by Nguyen Van Phong on 7/29/17. 5 // Created by Nguyen Van Phong on 7/29/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import <Social/Social.h> 9 #import <Social/Social.h>
10 #import <LineKit/Line.h>
10 11
11 #import "Utilities.h" 12 #import "Utilities.h"
12 13
13 @implementation Utilities 14 @implementation Utilities
14 + (NSString *)addCommaFromNumber:(NSInteger)number 15 + (NSString *)addCommaFromNumber:(NSInteger)number
15 { 16 {
16 NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init]; 17 NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
17 [fmt setNumberStyle:NSNumberFormatterDecimalStyle]; 18 [fmt setNumberStyle:NSNumberFormatterDecimalStyle];
18 [fmt setMaximumFractionDigits:0]; 19 [fmt setMaximumFractionDigits:0];
19 NSString *result = [fmt stringFromNumber:@(number)]; 20 NSString *result = [fmt stringFromNumber:@(number)];
20 return result; 21 return result;
21 } 22 }
22 23
23 + (UIColor *)convertHecToColor:(int) hex 24 + (UIColor *)convertHecToColor:(int) hex
24 { 25 {
25 return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 \ 26 return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 \
26 green:((float)((hex & 0xFF00) >> 8))/255.0 \ 27 green:((float)((hex & 0xFF00) >> 8))/255.0 \
27 blue:((float)(hex & 0xFF))/255.0 alpha:1.0]; 28 blue:((float)(hex & 0xFF))/255.0 alpha:1.0];
28 } 29 }
29 30
30 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc 31 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc
31 { 32 {
32 if (message.length > 0) { 33 if (message.length > 0) {
33 UIAlertController * alert= [UIAlertController 34 UIAlertController * alert= [UIAlertController
34 alertControllerWithTitle:@"Error" 35 alertControllerWithTitle:@"Error"
35 message:message 36 message:message
36 preferredStyle:UIAlertControllerStyleAlert]; 37 preferredStyle:UIAlertControllerStyleAlert];
37 38
38 UIAlertAction* ok = [UIAlertAction 39 UIAlertAction* ok = [UIAlertAction
39 actionWithTitle:@"OK" 40 actionWithTitle:@"OK"
40 style:UIAlertActionStyleDefault 41 style:UIAlertActionStyleDefault
41 handler:^(UIAlertAction * action) 42 handler:^(UIAlertAction * action)
42 { 43 {
43 [alert dismissViewControllerAnimated:YES completion:nil]; 44 [alert dismissViewControllerAnimated:YES completion:nil];
44 45
45 }]; 46 }];
46 47
47 [alert addAction:ok]; 48 [alert addAction:ok];
48 49
49 [vc presentViewController:alert animated:YES completion:nil]; 50 [vc presentViewController:alert animated:YES completion:nil];
50 } 51 }
51 } 52 }
52 53
53 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc { 54 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc {
54 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 55 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
55 { 56 {
56 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 57 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
57 58
58 [composeViewController setInitialText:content]; 59 [composeViewController setInitialText:content];
59 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { 60 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
60 61
61 switch (result) { 62 switch (result) {
62 case SLComposeViewControllerResultCancelled: 63 case SLComposeViewControllerResultCancelled:
63 NSLog(@"canceled"); 64 NSLog(@"canceled");
64 break; 65 break;
65 case SLComposeViewControllerResultDone: 66 case SLComposeViewControllerResultDone:
66 NSLog(@"done"); 67 NSLog(@"done");
67 break; 68 break;
68 default: 69 default:
69 break; 70 break;
70 } 71 }
71 }]; 72 }];
72 [vc presentViewController:composeViewController animated:YES completion:nil]; 73 [vc presentViewController:composeViewController animated:YES completion:nil];
73 } 74 }
74 else { 75 else {
75 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=FACEBOOK"]]; 76 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=FACEBOOK"]];
76 } 77 }
77 } 78 }
78 79
79 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc { 80 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc {
80 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 81 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
81 { 82 {
82 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 83 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
83 84
84 [composeViewController setInitialText:content]; 85 [composeViewController setInitialText:content];
85 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { 86 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
86 87
87 switch (result) { 88 switch (result) {
88 case SLComposeViewControllerResultCancelled: 89 case SLComposeViewControllerResultCancelled:
89 NSLog(@"canceled"); 90 NSLog(@"canceled");
90 break; 91 break;
91 case SLComposeViewControllerResultDone: 92 case SLComposeViewControllerResultDone:
92 NSLog(@"done"); 93 NSLog(@"done");
93 break; 94 break;
94 default: 95 default:
95 break; 96 break;
96 } 97 }
97 }]; 98 }];
98 [vc presentViewController:composeViewController animated:YES completion:nil]; 99 [vc presentViewController:composeViewController animated:YES completion:nil];
99 } 100 }
100 else { 101 else {
101 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=TWITTER"]]; 102 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=TWITTER"]];
102 } 103 }
103 } 104 }
104 105
105 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc { 106 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc {
107 if (![Line isLineInstalled]) {
108 [self showErrorMessage:@"Install Line app first" withViewController:vc];
109 }
110 else {
111 [Line shareText:content];
112 }
106 } 113 }
107 114
108 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc { 115 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc {
109 } 116 }
110 @end 117 @end
111 118
1 platform :ios, '9.0' 1 platform :ios, '9.0'
2 use_frameworks! 2 use_frameworks!
3 3
4 target 'LifeLog' do 4 target 'LifeLog' do
5 pod 'CircleProgressBar' 5 pod 'CircleProgressBar'
6 pod 'MBProgressHUD', '~> 1.0.0' 6 pod 'MBProgressHUD', '~> 1.0.0'
7 pod 'Charts' 7 pod 'Charts'
8 pod 'LineKit'
8 end 9 end
9 10