Commit 2bab9a9ab1748f24cb669774aae02a0ff5a629e1
1 parent
3b284106de
Exists in
master
and in
1 other branch
update api and token
Showing 12 changed files with 252 additions and 2 deletions Inline Diff
- LifeLog/LifeLog.xcodeproj/project.pbxproj
- LifeLog/LifeLog/AppDelegate.m
- LifeLog/LifeLog/Entities.h
- LifeLog/LifeLog/HomeViewController.m
- LifeLog/LifeLog/ServerAPI.h
- LifeLog/LifeLog/ServerAPI.m
- LifeLog/LifeLog/StepObject.h
- LifeLog/LifeLog/StepObject.m
- LifeLog/LifeLog/TargetInfor.h
- LifeLog/LifeLog/TargetInfor.m
- LifeLog/LifeLog/TopObject.h
- LifeLog/LifeLog/TopObject.m
LifeLog/LifeLog.xcodeproj/project.pbxproj
1 | // !$*UTF8*$! | 1 | // !$*UTF8*$! |
2 | { | 2 | { |
3 | archiveVersion = 1; | 3 | archiveVersion = 1; |
4 | classes = { | 4 | classes = { |
5 | }; | 5 | }; |
6 | objectVersion = 46; | 6 | objectVersion = 46; |
7 | objects = { | 7 | objects = { |
8 | 8 | ||
9 | /* Begin PBXBuildFile section */ | 9 | /* Begin PBXBuildFile section */ |
10 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */; }; | 10 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */; }; |
11 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED11F2E39DB0029891F /* LoginViewController.m */; }; | 11 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED11F2E39DB0029891F /* LoginViewController.m */; }; |
12 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E18CED21F2E39DB0029891F /* LoginViewController.xib */; }; | 12 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E18CED21F2E39DB0029891F /* LoginViewController.xib */; }; |
13 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED71F2E3C840029891F /* ServerAPI.m */; }; | 13 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED71F2E3C840029891F /* ServerAPI.m */; }; |
14 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CEDB1F2E40F50029891F /* User.m */; }; | 14 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CEDB1F2E40F50029891F /* User.m */; }; |
15 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */; }; | 15 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */; }; |
16 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */; }; | 16 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */; }; |
17 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */; }; | 17 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */; }; |
18 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */; }; | 18 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */; }; |
19 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; }; | 19 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; }; |
20 | 6E84E3761F27A701001EB88E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3751F27A701001EB88E /* main.m */; }; | 20 | 6E84E3761F27A701001EB88E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3751F27A701001EB88E /* main.m */; }; |
21 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3781F27A701001EB88E /* AppDelegate.m */; }; | 21 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3781F27A701001EB88E /* AppDelegate.m */; }; |
22 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3801F27A701001EB88E /* Assets.xcassets */; }; | 22 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3801F27A701001EB88E /* Assets.xcassets */; }; |
23 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */; }; | 23 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */; }; |
24 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E38E1F27A703001EB88E /* LifeLogTests.m */; }; | 24 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E38E1F27A703001EB88E /* LifeLogTests.m */; }; |
25 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3991F27A703001EB88E /* LifeLogUITests.m */; }; | 25 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3991F27A703001EB88E /* LifeLogUITests.m */; }; |
26 | 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3AE1F27A975001EB88E /* HomeViewController.m */; }; | 26 | 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3AE1F27A975001EB88E /* HomeViewController.m */; }; |
27 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */; }; | 27 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */; }; |
28 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */; }; | 28 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */; }; |
29 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */; }; | 29 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */; }; |
30 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */; }; | 30 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */; }; |
31 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */; }; | 31 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */; }; |
32 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */; }; | 32 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */; }; |
33 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */; }; | 33 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */; }; |
34 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3C31F27ACAE001EB88E /* MapViewController.m */; }; | 34 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3C31F27ACAE001EB88E /* MapViewController.m */; }; |
35 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */; }; | 35 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */; }; |
36 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */; }; | 36 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */; }; |
37 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */; }; | 37 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */; }; |
38 | 6EA4AF311F40BB7A00F52CFE /* StepObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */; }; | ||
39 | 6EA4AF321F40BB7A00F52CFE /* TargetInfor.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */; }; | ||
40 | 6EA4AF331F40BB7A00F52CFE /* TopObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF301F40BB7A00F52CFE /* TopObject.m */; }; | ||
38 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */; }; | 41 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */; }; |
39 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BED1F2C2FB800765ACC /* Utilities.m */; }; | 42 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BED1F2C2FB800765ACC /* Utilities.m */; }; |
40 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */; }; | 43 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */; }; |
41 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6EF163091F29069300DA306C /* Localizable.strings */; }; | 44 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6EF163091F29069300DA306C /* Localizable.strings */; }; |
42 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */; }; | 45 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */; }; |
43 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */; }; | 46 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */; }; |
44 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; }; | 47 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; }; |
45 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; }; | 48 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; }; |
46 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; }; | 49 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; }; |
47 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */; }; | 50 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */; }; |
48 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */; }; | 51 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */; }; |
49 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */; }; | 52 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */; }; |
50 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */; }; | 53 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */; }; |
51 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6731F3E0E4E002926F5 /* GroupObject.m */; }; | 54 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6731F3E0E4E002926F5 /* GroupObject.m */; }; |
52 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6771F40513C002926F5 /* GroupDetailViewController.m */; }; | 55 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6771F40513C002926F5 /* GroupDetailViewController.m */; }; |
53 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E6781F40513C002926F5 /* GroupDetailViewController.xib */; }; | 56 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E6781F40513C002926F5 /* GroupDetailViewController.xib */; }; |
54 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; }; | 57 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; }; |
55 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; }; | 58 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; }; |
56 | E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E4C1F361A230059355A /* HistoryGraphObject.m */; }; | 59 | E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E4C1F361A230059355A /* HistoryGraphObject.m */; }; |
57 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */; }; | 60 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */; }; |
58 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */; }; | 61 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */; }; |
59 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E96855091F3C444900317CEF /* AutoTransButton.m */; }; | 62 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E96855091F3C444900317CEF /* AutoTransButton.m */; }; |
60 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */; }; | 63 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */; }; |
61 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */; }; | 64 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */; }; |
62 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E997E0251F3AB66500709FB1 /* Social.framework */; }; | 65 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E997E0251F3AB66500709FB1 /* Social.framework */; }; |
63 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; }; | 66 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; }; |
64 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; }; | 67 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; }; |
65 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; }; | 68 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; }; |
66 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */; }; | 69 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */; }; |
67 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909201F3D559D004CF99F /* TweetObject.m */; }; | 70 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909201F3D559D004CF99F /* TweetObject.m */; }; |
68 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */; }; | 71 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */; }; |
69 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */; }; | 72 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */; }; |
70 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */; }; | 73 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */; }; |
71 | /* End PBXBuildFile section */ | 74 | /* End PBXBuildFile section */ |
72 | 75 | ||
73 | /* Begin PBXContainerItemProxy section */ | 76 | /* Begin PBXContainerItemProxy section */ |
74 | 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */ = { | 77 | 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */ = { |
75 | isa = PBXContainerItemProxy; | 78 | isa = PBXContainerItemProxy; |
76 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; | 79 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; |
77 | proxyType = 1; | 80 | proxyType = 1; |
78 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; | 81 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; |
79 | remoteInfo = LifeLog; | 82 | remoteInfo = LifeLog; |
80 | }; | 83 | }; |
81 | 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */ = { | 84 | 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */ = { |
82 | isa = PBXContainerItemProxy; | 85 | isa = PBXContainerItemProxy; |
83 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; | 86 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; |
84 | proxyType = 1; | 87 | proxyType = 1; |
85 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; | 88 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; |
86 | remoteInfo = LifeLog; | 89 | remoteInfo = LifeLog; |
87 | }; | 90 | }; |
88 | /* End PBXContainerItemProxy section */ | 91 | /* End PBXContainerItemProxy section */ |
89 | 92 | ||
90 | /* Begin PBXFileReference section */ | 93 | /* Begin PBXFileReference section */ |
91 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.debug.xcconfig"; sourceTree = "<group>"; }; | 94 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.debug.xcconfig"; sourceTree = "<group>"; }; |
92 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LifeLog.framework; sourceTree = BUILT_PRODUCTS_DIR; }; | 95 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LifeLog.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
93 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.release.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.release.xcconfig"; sourceTree = "<group>"; }; | 96 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.release.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.release.xcconfig"; sourceTree = "<group>"; }; |
94 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; }; | 97 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; }; |
95 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; }; | 98 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; }; |
96 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginViewController.xib; sourceTree = "<group>"; }; | 99 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginViewController.xib; sourceTree = "<group>"; }; |
97 | 6E18CED61F2E3C840029891F /* ServerAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerAPI.h; sourceTree = "<group>"; }; | 100 | 6E18CED61F2E3C840029891F /* ServerAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerAPI.h; sourceTree = "<group>"; }; |
98 | 6E18CED71F2E3C840029891F /* ServerAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerAPI.m; sourceTree = "<group>"; }; | 101 | 6E18CED71F2E3C840029891F /* ServerAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerAPI.m; sourceTree = "<group>"; }; |
99 | 6E18CEDA1F2E40F50029891F /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = "<group>"; }; | 102 | 6E18CEDA1F2E40F50029891F /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = "<group>"; }; |
100 | 6E18CEDB1F2E40F50029891F /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = "<group>"; }; | 103 | 6E18CEDB1F2E40F50029891F /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = "<group>"; }; |
101 | 6E18CEDD1F2E46570029891F /* Entities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Entities.h; sourceTree = "<group>"; }; | 104 | 6E18CEDD1F2E46570029891F /* Entities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Entities.h; sourceTree = "<group>"; }; |
102 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomTextField.h; sourceTree = "<group>"; }; | 105 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomTextField.h; sourceTree = "<group>"; }; |
103 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomTextField.m; sourceTree = "<group>"; }; | 106 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomTextField.m; sourceTree = "<group>"; }; |
104 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; }; | 107 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; }; |
105 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; }; | 108 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; }; |
106 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; }; | 109 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; }; |
107 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; }; | 110 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; }; |
108 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; }; | 111 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; }; |
109 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; }; | 112 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; }; |
110 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; }; | 113 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; }; |
111 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; }; | 114 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; }; |
112 | 6E84E3711F27A700001EB88E /* LifeLog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LifeLog.app; sourceTree = BUILT_PRODUCTS_DIR; }; | 115 | 6E84E3711F27A700001EB88E /* LifeLog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LifeLog.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
113 | 6E84E3751F27A701001EB88E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; | 116 | 6E84E3751F27A701001EB88E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; |
114 | 6E84E3771F27A701001EB88E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; | 117 | 6E84E3771F27A701001EB88E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; |
115 | 6E84E3781F27A701001EB88E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; | 118 | 6E84E3781F27A701001EB88E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; |
116 | 6E84E3801F27A701001EB88E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | 119 | 6E84E3801F27A701001EB88E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
117 | 6E84E3831F27A701001EB88E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | 120 | 6E84E3831F27A701001EB88E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
118 | 6E84E3851F27A701001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 121 | 6E84E3851F27A701001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
119 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | 122 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; |
120 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogTests.m; sourceTree = "<group>"; }; | 123 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogTests.m; sourceTree = "<group>"; }; |
121 | 6E84E3901F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 124 | 6E84E3901F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
122 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | 125 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; |
123 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogUITests.m; sourceTree = "<group>"; }; | 126 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogUITests.m; sourceTree = "<group>"; }; |
124 | 6E84E39B1F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 127 | 6E84E39B1F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
125 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; }; | 128 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; }; |
126 | 6E84E3AE1F27A975001EB88E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; }; | 129 | 6E84E3AE1F27A975001EB88E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; }; |
127 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; }; | 130 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; }; |
128 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryViewController.h; sourceTree = "<group>"; }; | 131 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryViewController.h; sourceTree = "<group>"; }; |
129 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryViewController.m; sourceTree = "<group>"; }; | 132 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryViewController.m; sourceTree = "<group>"; }; |
130 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryViewController.xib; sourceTree = "<group>"; }; | 133 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryViewController.xib; sourceTree = "<group>"; }; |
131 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingViewController.h; sourceTree = "<group>"; }; | 134 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingViewController.h; sourceTree = "<group>"; }; |
132 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingViewController.m; sourceTree = "<group>"; }; | 135 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingViewController.m; sourceTree = "<group>"; }; |
133 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingViewController.xib; sourceTree = "<group>"; }; | 136 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingViewController.xib; sourceTree = "<group>"; }; |
134 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSViewController.h; sourceTree = "<group>"; }; | 137 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSViewController.h; sourceTree = "<group>"; }; |
135 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSViewController.m; sourceTree = "<group>"; }; | 138 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSViewController.m; sourceTree = "<group>"; }; |
136 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSViewController.xib; sourceTree = "<group>"; }; | 139 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSViewController.xib; sourceTree = "<group>"; }; |
137 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewController.h; sourceTree = "<group>"; }; | 140 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewController.h; sourceTree = "<group>"; }; |
138 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewController.m; sourceTree = "<group>"; }; | 141 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewController.m; sourceTree = "<group>"; }; |
139 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; }; | 142 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; }; |
140 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TodayViewController.h; sourceTree = "<group>"; }; | 143 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TodayViewController.h; sourceTree = "<group>"; }; |
141 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TodayViewController.m; sourceTree = "<group>"; }; | 144 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TodayViewController.m; sourceTree = "<group>"; }; |
142 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TodayViewController.xib; sourceTree = "<group>"; }; | 145 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TodayViewController.xib; sourceTree = "<group>"; }; |
146 | 6EA4AF2B1F40BB7A00F52CFE /* StepObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StepObject.h; sourceTree = "<group>"; }; | ||
147 | 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StepObject.m; sourceTree = "<group>"; }; | ||
148 | 6EA4AF2D1F40BB7A00F52CFE /* TargetInfor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TargetInfor.h; sourceTree = "<group>"; }; | ||
149 | 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TargetInfor.m; sourceTree = "<group>"; }; | ||
150 | 6EA4AF2F1F40BB7A00F52CFE /* TopObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopObject.h; sourceTree = "<group>"; }; | ||
151 | 6EA4AF301F40BB7A00F52CFE /* TopObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopObject.m; sourceTree = "<group>"; }; | ||
143 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+helper.h"; sourceTree = "<group>"; }; | 152 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+helper.h"; sourceTree = "<group>"; }; |
144 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+helper.m"; sourceTree = "<group>"; }; | 153 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+helper.m"; sourceTree = "<group>"; }; |
145 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = "<group>"; }; | 154 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = "<group>"; }; |
146 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = "<group>"; }; | 155 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = "<group>"; }; |
147 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMMotionActivityExtra.h; sourceTree = "<group>"; }; | 156 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMMotionActivityExtra.h; sourceTree = "<group>"; }; |
148 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CMMotionActivityExtra.m; sourceTree = "<group>"; }; | 157 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CMMotionActivityExtra.m; sourceTree = "<group>"; }; |
149 | 6EF163091F29069300DA306C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; | 158 | 6EF163091F29069300DA306C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; |
150 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfirmForgetPassViewController.h; sourceTree = "<group>"; }; | 159 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfirmForgetPassViewController.h; sourceTree = "<group>"; }; |
151 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfirmForgetPassViewController.m; sourceTree = "<group>"; }; | 160 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfirmForgetPassViewController.m; sourceTree = "<group>"; }; |
152 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfirmForgetPassViewController.xib; sourceTree = "<group>"; }; | 161 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfirmForgetPassViewController.xib; sourceTree = "<group>"; }; |
153 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; }; | 162 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; }; |
154 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; }; | 163 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; }; |
155 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = "<group>"; }; | 164 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = "<group>"; }; |
156 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = "<group>"; }; | 165 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = "<group>"; }; |
157 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = "<group>"; }; | 166 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = "<group>"; }; |
158 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupViewController.h; sourceTree = "<group>"; }; | 167 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupViewController.h; sourceTree = "<group>"; }; |
159 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupViewController.m; sourceTree = "<group>"; }; | 168 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupViewController.m; sourceTree = "<group>"; }; |
160 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupViewController.xib; sourceTree = "<group>"; }; | 169 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupViewController.xib; sourceTree = "<group>"; }; |
161 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupTableViewCell.h; sourceTree = "<group>"; }; | 170 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupTableViewCell.h; sourceTree = "<group>"; }; |
162 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupTableViewCell.m; sourceTree = "<group>"; }; | 171 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupTableViewCell.m; sourceTree = "<group>"; }; |
163 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupTableViewCell.xib; sourceTree = "<group>"; }; | 172 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupTableViewCell.xib; sourceTree = "<group>"; }; |
164 | E933E6721F3E0E4E002926F5 /* GroupObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupObject.h; sourceTree = "<group>"; }; | 173 | E933E6721F3E0E4E002926F5 /* GroupObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupObject.h; sourceTree = "<group>"; }; |
165 | E933E6731F3E0E4E002926F5 /* GroupObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupObject.m; sourceTree = "<group>"; }; | 174 | E933E6731F3E0E4E002926F5 /* GroupObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupObject.m; sourceTree = "<group>"; }; |
166 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupDetailViewController.h; sourceTree = "<group>"; }; | 175 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupDetailViewController.h; sourceTree = "<group>"; }; |
167 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupDetailViewController.m; sourceTree = "<group>"; }; | 176 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupDetailViewController.m; sourceTree = "<group>"; }; |
168 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GroupDetailViewController.xib; sourceTree = "<group>"; }; | 177 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GroupDetailViewController.xib; sourceTree = "<group>"; }; |
169 | E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = "<group>"; }; | 178 | E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = "<group>"; }; |
170 | E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = "<group>"; }; | 179 | E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = "<group>"; }; |
171 | E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = "<group>"; }; | 180 | E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = "<group>"; }; |
172 | E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = "<group>"; }; | 181 | E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = "<group>"; }; |
173 | E9373E4B1F361A230059355A /* HistoryGraphObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryGraphObject.h; sourceTree = "<group>"; }; | 182 | E9373E4B1F361A230059355A /* HistoryGraphObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryGraphObject.h; sourceTree = "<group>"; }; |
174 | E9373E4C1F361A230059355A /* HistoryGraphObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryGraphObject.m; sourceTree = "<group>"; }; | 183 | E9373E4C1F361A230059355A /* HistoryGraphObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryGraphObject.m; sourceTree = "<group>"; }; |
175 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingTableViewCell.h; sourceTree = "<group>"; }; | 184 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingTableViewCell.h; sourceTree = "<group>"; }; |
176 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingTableViewCell.m; sourceTree = "<group>"; }; | 185 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingTableViewCell.m; sourceTree = "<group>"; }; |
177 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingTableViewCell.xib; sourceTree = "<group>"; }; | 186 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingTableViewCell.xib; sourceTree = "<group>"; }; |
178 | E96855081F3C444900317CEF /* AutoTransButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransButton.h; sourceTree = "<group>"; }; | 187 | E96855081F3C444900317CEF /* AutoTransButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransButton.h; sourceTree = "<group>"; }; |
179 | E96855091F3C444900317CEF /* AutoTransButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransButton.m; sourceTree = "<group>"; }; | 188 | E96855091F3C444900317CEF /* AutoTransButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransButton.m; sourceTree = "<group>"; }; |
180 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSRecentTopicTableViewCell.h; sourceTree = "<group>"; }; | 189 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSRecentTopicTableViewCell.h; sourceTree = "<group>"; }; |
181 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSRecentTopicTableViewCell.m; sourceTree = "<group>"; }; | 190 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSRecentTopicTableViewCell.m; sourceTree = "<group>"; }; |
182 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSRecentTopicTableViewCell.xib; sourceTree = "<group>"; }; | 191 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSRecentTopicTableViewCell.xib; sourceTree = "<group>"; }; |
183 | E997E0251F3AB66500709FB1 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; | 192 | E997E0251F3AB66500709FB1 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; |
184 | E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = "<group>"; }; | 193 | E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = "<group>"; }; |
185 | E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = "<group>"; }; | 194 | E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = "<group>"; }; |
186 | E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = "<group>"; }; | 195 | E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = "<group>"; }; |
187 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelCollectionViewCell.h; sourceTree = "<group>"; }; | 196 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelCollectionViewCell.h; sourceTree = "<group>"; }; |
188 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LabelCollectionViewCell.m; sourceTree = "<group>"; }; | 197 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LabelCollectionViewCell.m; sourceTree = "<group>"; }; |
189 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LabelCollectionViewCell.xib; sourceTree = "<group>"; }; | 198 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LabelCollectionViewCell.xib; sourceTree = "<group>"; }; |
190 | E9D9091F1F3D559D004CF99F /* TweetObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TweetObject.h; sourceTree = "<group>"; }; | 199 | E9D9091F1F3D559D004CF99F /* TweetObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TweetObject.h; sourceTree = "<group>"; }; |
191 | E9D909201F3D559D004CF99F /* TweetObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TweetObject.m; sourceTree = "<group>"; }; | 200 | E9D909201F3D559D004CF99F /* TweetObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TweetObject.m; sourceTree = "<group>"; }; |
192 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTableViewController.h; sourceTree = "<group>"; }; | 201 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTableViewController.h; sourceTree = "<group>"; }; |
193 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTableViewController.m; sourceTree = "<group>"; }; | 202 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTableViewController.m; sourceTree = "<group>"; }; |
194 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableViewCell.h; sourceTree = "<group>"; }; | 203 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableViewCell.h; sourceTree = "<group>"; }; |
195 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryListTableViewCell.m; sourceTree = "<group>"; }; | 204 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryListTableViewCell.m; sourceTree = "<group>"; }; |
196 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryListTableViewCell.xib; sourceTree = "<group>"; }; | 205 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryListTableViewCell.xib; sourceTree = "<group>"; }; |
197 | /* End PBXFileReference section */ | 206 | /* End PBXFileReference section */ |
198 | 207 | ||
199 | /* Begin PBXFrameworksBuildPhase section */ | 208 | /* Begin PBXFrameworksBuildPhase section */ |
200 | 6E84E36E1F27A700001EB88E /* Frameworks */ = { | 209 | 6E84E36E1F27A700001EB88E /* Frameworks */ = { |
201 | isa = PBXFrameworksBuildPhase; | 210 | isa = PBXFrameworksBuildPhase; |
202 | buildActionMask = 2147483647; | 211 | buildActionMask = 2147483647; |
203 | files = ( | 212 | files = ( |
204 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */, | 213 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */, |
205 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */, | 214 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */, |
206 | ); | 215 | ); |
207 | runOnlyForDeploymentPostprocessing = 0; | 216 | runOnlyForDeploymentPostprocessing = 0; |
208 | }; | 217 | }; |
209 | 6E84E3871F27A703001EB88E /* Frameworks */ = { | 218 | 6E84E3871F27A703001EB88E /* Frameworks */ = { |
210 | isa = PBXFrameworksBuildPhase; | 219 | isa = PBXFrameworksBuildPhase; |
211 | buildActionMask = 2147483647; | 220 | buildActionMask = 2147483647; |
212 | files = ( | 221 | files = ( |
213 | ); | 222 | ); |
214 | runOnlyForDeploymentPostprocessing = 0; | 223 | runOnlyForDeploymentPostprocessing = 0; |
215 | }; | 224 | }; |
216 | 6E84E3921F27A703001EB88E /* Frameworks */ = { | 225 | 6E84E3921F27A703001EB88E /* Frameworks */ = { |
217 | isa = PBXFrameworksBuildPhase; | 226 | isa = PBXFrameworksBuildPhase; |
218 | buildActionMask = 2147483647; | 227 | buildActionMask = 2147483647; |
219 | files = ( | 228 | files = ( |
220 | ); | 229 | ); |
221 | runOnlyForDeploymentPostprocessing = 0; | 230 | runOnlyForDeploymentPostprocessing = 0; |
222 | }; | 231 | }; |
223 | /* End PBXFrameworksBuildPhase section */ | 232 | /* End PBXFrameworksBuildPhase section */ |
224 | 233 | ||
225 | /* Begin PBXGroup section */ | 234 | /* Begin PBXGroup section */ |
226 | 020C1721B642EF36F31E1BB4 /* Frameworks */ = { | 235 | 020C1721B642EF36F31E1BB4 /* Frameworks */ = { |
227 | isa = PBXGroup; | 236 | isa = PBXGroup; |
228 | children = ( | 237 | children = ( |
229 | E997E0251F3AB66500709FB1 /* Social.framework */, | 238 | E997E0251F3AB66500709FB1 /* Social.framework */, |
230 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */, | 239 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */, |
231 | ); | 240 | ); |
232 | name = Frameworks; | 241 | name = Frameworks; |
233 | sourceTree = "<group>"; | 242 | sourceTree = "<group>"; |
234 | }; | 243 | }; |
235 | 6E18CECF1F2E398C0029891F /* Login */ = { | 244 | 6E18CECF1F2E398C0029891F /* Login */ = { |
236 | isa = PBXGroup; | 245 | isa = PBXGroup; |
237 | children = ( | 246 | children = ( |
238 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */, | 247 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */, |
239 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */, | 248 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */, |
240 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */, | 249 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */, |
241 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */, | 250 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */, |
242 | ); | 251 | ); |
243 | name = Login; | 252 | name = Login; |
244 | sourceTree = "<group>"; | 253 | sourceTree = "<group>"; |
245 | }; | 254 | }; |
246 | 6E18CED51F2E3C0E0029891F /* ServerAPI */ = { | 255 | 6E18CED51F2E3C0E0029891F /* ServerAPI */ = { |
247 | isa = PBXGroup; | 256 | isa = PBXGroup; |
248 | children = ( | 257 | children = ( |
249 | 6E18CED61F2E3C840029891F /* ServerAPI.h */, | 258 | 6E18CED61F2E3C840029891F /* ServerAPI.h */, |
250 | 6E18CED71F2E3C840029891F /* ServerAPI.m */, | 259 | 6E18CED71F2E3C840029891F /* ServerAPI.m */, |
251 | ); | 260 | ); |
252 | name = ServerAPI; | 261 | name = ServerAPI; |
253 | sourceTree = "<group>"; | 262 | sourceTree = "<group>"; |
254 | }; | 263 | }; |
255 | 6E18CED91F2E40AE0029891F /* Model */ = { | 264 | 6E18CED91F2E40AE0029891F /* Model */ = { |
256 | isa = PBXGroup; | 265 | isa = PBXGroup; |
257 | children = ( | 266 | children = ( |
267 | 6E18CEDD1F2E46570029891F /* Entities.h */, | ||
268 | 6EA4AF2B1F40BB7A00F52CFE /* StepObject.h */, | ||
269 | 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */, | ||
270 | 6EA4AF2D1F40BB7A00F52CFE /* TargetInfor.h */, | ||
271 | 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */, | ||
272 | 6EA4AF2F1F40BB7A00F52CFE /* TopObject.h */, | ||
273 | 6EA4AF301F40BB7A00F52CFE /* TopObject.m */, | ||
258 | 6E18CEDA1F2E40F50029891F /* User.h */, | 274 | 6E18CEDA1F2E40F50029891F /* User.h */, |
259 | 6E18CEDB1F2E40F50029891F /* User.m */, | 275 | 6E18CEDB1F2E40F50029891F /* User.m */, |
260 | 6E18CEDD1F2E46570029891F /* Entities.h */, | ||
261 | E9373E481F35AA180059355A /* HistoryObject.h */, | 276 | E9373E481F35AA180059355A /* HistoryObject.h */, |
262 | E9373E491F35AA180059355A /* HistoryObject.m */, | 277 | E9373E491F35AA180059355A /* HistoryObject.m */, |
263 | E9373E4B1F361A230059355A /* HistoryGraphObject.h */, | 278 | E9373E4B1F361A230059355A /* HistoryGraphObject.h */, |
264 | E9373E4C1F361A230059355A /* HistoryGraphObject.m */, | 279 | E9373E4C1F361A230059355A /* HistoryGraphObject.m */, |
265 | E9D9091F1F3D559D004CF99F /* TweetObject.h */, | 280 | E9D9091F1F3D559D004CF99F /* TweetObject.h */, |
266 | E9D909201F3D559D004CF99F /* TweetObject.m */, | 281 | E9D909201F3D559D004CF99F /* TweetObject.m */, |
267 | E933E6721F3E0E4E002926F5 /* GroupObject.h */, | 282 | E933E6721F3E0E4E002926F5 /* GroupObject.h */, |
268 | E933E6731F3E0E4E002926F5 /* GroupObject.m */, | 283 | E933E6731F3E0E4E002926F5 /* GroupObject.m */, |
269 | ); | 284 | ); |
270 | name = Model; | 285 | name = Model; |
271 | sourceTree = "<group>"; | 286 | sourceTree = "<group>"; |
272 | }; | 287 | }; |
273 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */ = { | 288 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */ = { |
274 | isa = PBXGroup; | 289 | isa = PBXGroup; |
275 | children = ( | 290 | children = ( |
276 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */, | 291 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */, |
277 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */, | 292 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */, |
278 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */, | 293 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */, |
279 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */, | 294 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */, |
280 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */, | 295 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */, |
281 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */, | 296 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */, |
282 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, | 297 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, |
283 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, | 298 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, |
284 | ); | 299 | ); |
285 | name = TPKeyboardAvoiding; | 300 | name = TPKeyboardAvoiding; |
286 | sourceTree = "<group>"; | 301 | sourceTree = "<group>"; |
287 | }; | 302 | }; |
288 | 6E84E3681F27A700001EB88E = { | 303 | 6E84E3681F27A700001EB88E = { |
289 | isa = PBXGroup; | 304 | isa = PBXGroup; |
290 | children = ( | 305 | children = ( |
291 | 6E84E3731F27A700001EB88E /* LifeLog */, | 306 | 6E84E3731F27A700001EB88E /* LifeLog */, |
292 | 6E84E38D1F27A703001EB88E /* LifeLogTests */, | 307 | 6E84E38D1F27A703001EB88E /* LifeLogTests */, |
293 | 6E84E3981F27A703001EB88E /* LifeLogUITests */, | 308 | 6E84E3981F27A703001EB88E /* LifeLogUITests */, |
294 | DE8269E957EA47CD771BAB33 /* Pods */, | 309 | DE8269E957EA47CD771BAB33 /* Pods */, |
295 | 020C1721B642EF36F31E1BB4 /* Frameworks */, | 310 | 020C1721B642EF36F31E1BB4 /* Frameworks */, |
296 | ); | 311 | ); |
297 | sourceTree = "<group>"; | 312 | sourceTree = "<group>"; |
298 | }; | 313 | }; |
299 | 6E84E3721F27A700001EB88E /* Products */ = { | 314 | 6E84E3721F27A700001EB88E /* Products */ = { |
300 | isa = PBXGroup; | 315 | isa = PBXGroup; |
301 | children = ( | 316 | children = ( |
302 | 6E84E3711F27A700001EB88E /* LifeLog.app */, | 317 | 6E84E3711F27A700001EB88E /* LifeLog.app */, |
303 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */, | 318 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */, |
304 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */, | 319 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */, |
305 | ); | 320 | ); |
306 | name = Products; | 321 | name = Products; |
307 | sourceTree = "<group>"; | 322 | sourceTree = "<group>"; |
308 | }; | 323 | }; |
309 | 6E84E3731F27A700001EB88E /* LifeLog */ = { | 324 | 6E84E3731F27A700001EB88E /* LifeLog */ = { |
310 | isa = PBXGroup; | 325 | isa = PBXGroup; |
311 | children = ( | 326 | children = ( |
312 | 6E18CED91F2E40AE0029891F /* Model */, | 327 | 6E18CED91F2E40AE0029891F /* Model */, |
313 | 6E18CED51F2E3C0E0029891F /* ServerAPI */, | 328 | 6E18CED51F2E3C0E0029891F /* ServerAPI */, |
314 | 6EDC8BEB1F2C2F3300765ACC /* Common */, | 329 | 6EDC8BEB1F2C2F3300765ACC /* Common */, |
315 | 6ECC406D1F2A5FA500AAEB97 /* Library */, | 330 | 6ECC406D1F2A5FA500AAEB97 /* Library */, |
316 | E99E13A71F336F0C00C78787 /* CustomView */, | 331 | E99E13A71F336F0C00C78787 /* CustomView */, |
317 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */, | 332 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */, |
318 | 6E84E3A71F27A887001EB88E /* AppDelegate */, | 333 | 6E84E3A71F27A887001EB88E /* AppDelegate */, |
319 | 6E84E3801F27A701001EB88E /* Assets.xcassets */, | 334 | 6E84E3801F27A701001EB88E /* Assets.xcassets */, |
320 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */, | 335 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */, |
321 | 6E84E3851F27A701001EB88E /* Info.plist */, | 336 | 6E84E3851F27A701001EB88E /* Info.plist */, |
322 | 6E84E3741F27A701001EB88E /* Supporting Files */, | 337 | 6E84E3741F27A701001EB88E /* Supporting Files */, |
323 | ); | 338 | ); |
324 | path = LifeLog; | 339 | path = LifeLog; |
325 | sourceTree = "<group>"; | 340 | sourceTree = "<group>"; |
326 | }; | 341 | }; |
327 | 6E84E3741F27A701001EB88E /* Supporting Files */ = { | 342 | 6E84E3741F27A701001EB88E /* Supporting Files */ = { |
328 | isa = PBXGroup; | 343 | isa = PBXGroup; |
329 | children = ( | 344 | children = ( |
330 | 6E84E3751F27A701001EB88E /* main.m */, | 345 | 6E84E3751F27A701001EB88E /* main.m */, |
331 | 6EF163091F29069300DA306C /* Localizable.strings */, | 346 | 6EF163091F29069300DA306C /* Localizable.strings */, |
332 | ); | 347 | ); |
333 | name = "Supporting Files"; | 348 | name = "Supporting Files"; |
334 | sourceTree = "<group>"; | 349 | sourceTree = "<group>"; |
335 | }; | 350 | }; |
336 | 6E84E38D1F27A703001EB88E /* LifeLogTests */ = { | 351 | 6E84E38D1F27A703001EB88E /* LifeLogTests */ = { |
337 | isa = PBXGroup; | 352 | isa = PBXGroup; |
338 | children = ( | 353 | children = ( |
339 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */, | 354 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */, |
340 | 6E84E3901F27A703001EB88E /* Info.plist */, | 355 | 6E84E3901F27A703001EB88E /* Info.plist */, |
341 | ); | 356 | ); |
342 | path = LifeLogTests; | 357 | path = LifeLogTests; |
343 | sourceTree = "<group>"; | 358 | sourceTree = "<group>"; |
344 | }; | 359 | }; |
345 | 6E84E3981F27A703001EB88E /* LifeLogUITests */ = { | 360 | 6E84E3981F27A703001EB88E /* LifeLogUITests */ = { |
346 | isa = PBXGroup; | 361 | isa = PBXGroup; |
347 | children = ( | 362 | children = ( |
348 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */, | 363 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */, |
349 | 6E84E39B1F27A703001EB88E /* Info.plist */, | 364 | 6E84E39B1F27A703001EB88E /* Info.plist */, |
350 | ); | 365 | ); |
351 | path = LifeLogUITests; | 366 | path = LifeLogUITests; |
352 | sourceTree = "<group>"; | 367 | sourceTree = "<group>"; |
353 | }; | 368 | }; |
354 | 6E84E3A71F27A887001EB88E /* AppDelegate */ = { | 369 | 6E84E3A71F27A887001EB88E /* AppDelegate */ = { |
355 | isa = PBXGroup; | 370 | isa = PBXGroup; |
356 | children = ( | 371 | children = ( |
357 | 6E84E3771F27A701001EB88E /* AppDelegate.h */, | 372 | 6E84E3771F27A701001EB88E /* AppDelegate.h */, |
358 | 6E84E3781F27A701001EB88E /* AppDelegate.m */, | 373 | 6E84E3781F27A701001EB88E /* AppDelegate.m */, |
359 | ); | 374 | ); |
360 | name = AppDelegate; | 375 | name = AppDelegate; |
361 | sourceTree = "<group>"; | 376 | sourceTree = "<group>"; |
362 | }; | 377 | }; |
363 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */ = { | 378 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */ = { |
364 | isa = PBXGroup; | 379 | isa = PBXGroup; |
365 | children = ( | 380 | children = ( |
366 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */, | 381 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */, |
367 | 9CBDA0FB1F2F03490055DED1 /* Register */, | 382 | 9CBDA0FB1F2F03490055DED1 /* Register */, |
368 | 6E18CECF1F2E398C0029891F /* Login */, | 383 | 6E18CECF1F2E398C0029891F /* Login */, |
369 | 6E84E3AC1F27A954001EB88E /* SNS */, | 384 | 6E84E3AC1F27A954001EB88E /* SNS */, |
370 | 6E84E3C11F27AC89001EB88E /* Map */, | 385 | 6E84E3C11F27AC89001EB88E /* Map */, |
371 | 6E84E3AB1F27A946001EB88E /* Ranking */, | 386 | 6E84E3AB1F27A946001EB88E /* Ranking */, |
372 | 6E84E3AA1F27A924001EB88E /* History */, | 387 | 6E84E3AA1F27A924001EB88E /* History */, |
373 | 6E84E3A91F27A915001EB88E /* Home */, | 388 | 6E84E3A91F27A915001EB88E /* Home */, |
374 | ); | 389 | ); |
375 | name = ViewControllers; | 390 | name = ViewControllers; |
376 | sourceTree = "<group>"; | 391 | sourceTree = "<group>"; |
377 | }; | 392 | }; |
378 | 6E84E3A91F27A915001EB88E /* Home */ = { | 393 | 6E84E3A91F27A915001EB88E /* Home */ = { |
379 | isa = PBXGroup; | 394 | isa = PBXGroup; |
380 | children = ( | 395 | children = ( |
381 | 6E8DA0F31F2BAC0800CCE941 /* Today */, | 396 | 6E8DA0F31F2BAC0800CCE941 /* Today */, |
382 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */, | 397 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */, |
383 | 6E84E3AE1F27A975001EB88E /* HomeViewController.m */, | 398 | 6E84E3AE1F27A975001EB88E /* HomeViewController.m */, |
384 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */, | 399 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */, |
385 | ); | 400 | ); |
386 | name = Home; | 401 | name = Home; |
387 | sourceTree = "<group>"; | 402 | sourceTree = "<group>"; |
388 | }; | 403 | }; |
389 | 6E84E3AA1F27A924001EB88E /* History */ = { | 404 | 6E84E3AA1F27A924001EB88E /* History */ = { |
390 | isa = PBXGroup; | 405 | isa = PBXGroup; |
391 | children = ( | 406 | children = ( |
392 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */, | 407 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */, |
393 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */, | 408 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */, |
394 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */, | 409 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */, |
395 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */, | 410 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */, |
396 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */, | 411 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */, |
397 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */, | 412 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */, |
398 | ); | 413 | ); |
399 | name = History; | 414 | name = History; |
400 | sourceTree = "<group>"; | 415 | sourceTree = "<group>"; |
401 | }; | 416 | }; |
402 | 6E84E3AB1F27A946001EB88E /* Ranking */ = { | 417 | 6E84E3AB1F27A946001EB88E /* Ranking */ = { |
403 | isa = PBXGroup; | 418 | isa = PBXGroup; |
404 | children = ( | 419 | children = ( |
405 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */, | 420 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */, |
406 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */, | 421 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */, |
407 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */, | 422 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */, |
408 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */, | 423 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */, |
409 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */, | 424 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */, |
410 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */, | 425 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */, |
411 | ); | 426 | ); |
412 | name = Ranking; | 427 | name = Ranking; |
413 | sourceTree = "<group>"; | 428 | sourceTree = "<group>"; |
414 | }; | 429 | }; |
415 | 6E84E3AC1F27A954001EB88E /* SNS */ = { | 430 | 6E84E3AC1F27A954001EB88E /* SNS */ = { |
416 | isa = PBXGroup; | 431 | isa = PBXGroup; |
417 | children = ( | 432 | children = ( |
418 | E933E6751F4050E6002926F5 /* GrouDetail */, | 433 | E933E6751F4050E6002926F5 /* GrouDetail */, |
419 | E933E6671F3E0479002926F5 /* SeachGroup */, | 434 | E933E6671F3E0479002926F5 /* SeachGroup */, |
420 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */, | 435 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */, |
421 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */, | 436 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */, |
422 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */, | 437 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */, |
423 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */, | 438 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */, |
424 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */, | 439 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */, |
425 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */, | 440 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */, |
426 | ); | 441 | ); |
427 | name = SNS; | 442 | name = SNS; |
428 | sourceTree = "<group>"; | 443 | sourceTree = "<group>"; |
429 | }; | 444 | }; |
430 | 6E84E3C11F27AC89001EB88E /* Map */ = { | 445 | 6E84E3C11F27AC89001EB88E /* Map */ = { |
431 | isa = PBXGroup; | 446 | isa = PBXGroup; |
432 | children = ( | 447 | children = ( |
433 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */, | 448 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */, |
434 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */, | 449 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */, |
435 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */, | 450 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */, |
436 | ); | 451 | ); |
437 | name = Map; | 452 | name = Map; |
438 | sourceTree = "<group>"; | 453 | sourceTree = "<group>"; |
439 | }; | 454 | }; |
440 | 6E8DA0F31F2BAC0800CCE941 /* Today */ = { | 455 | 6E8DA0F31F2BAC0800CCE941 /* Today */ = { |
441 | isa = PBXGroup; | 456 | isa = PBXGroup; |
442 | children = ( | 457 | children = ( |
443 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */, | 458 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */, |
444 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */, | 459 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */, |
445 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */, | 460 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */, |
446 | ); | 461 | ); |
447 | name = Today; | 462 | name = Today; |
448 | sourceTree = "<group>"; | 463 | sourceTree = "<group>"; |
449 | }; | 464 | }; |
450 | 6ECC406D1F2A5FA500AAEB97 /* Library */ = { | 465 | 6ECC406D1F2A5FA500AAEB97 /* Library */ = { |
451 | isa = PBXGroup; | 466 | isa = PBXGroup; |
452 | children = ( | 467 | children = ( |
453 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */, | 468 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */, |
454 | 6ECC406E1F2A5FB200AAEB97 /* Category */, | 469 | 6ECC406E1F2A5FB200AAEB97 /* Category */, |
455 | ); | 470 | ); |
456 | name = Library; | 471 | name = Library; |
457 | sourceTree = "<group>"; | 472 | sourceTree = "<group>"; |
458 | }; | 473 | }; |
459 | 6ECC406E1F2A5FB200AAEB97 /* Category */ = { | 474 | 6ECC406E1F2A5FB200AAEB97 /* Category */ = { |
460 | isa = PBXGroup; | 475 | isa = PBXGroup; |
461 | children = ( | 476 | children = ( |
462 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */, | 477 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */, |
463 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */, | 478 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */, |
464 | ); | 479 | ); |
465 | name = Category; | 480 | name = Category; |
466 | sourceTree = "<group>"; | 481 | sourceTree = "<group>"; |
467 | }; | 482 | }; |
468 | 6EDC8BEB1F2C2F3300765ACC /* Common */ = { | 483 | 6EDC8BEB1F2C2F3300765ACC /* Common */ = { |
469 | isa = PBXGroup; | 484 | isa = PBXGroup; |
470 | children = ( | 485 | children = ( |
471 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */, | 486 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */, |
472 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */, | 487 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */, |
473 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */, | 488 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */, |
474 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */, | 489 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */, |
475 | ); | 490 | ); |
476 | name = Common; | 491 | name = Common; |
477 | sourceTree = "<group>"; | 492 | sourceTree = "<group>"; |
478 | }; | 493 | }; |
479 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */ = { | 494 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */ = { |
480 | isa = PBXGroup; | 495 | isa = PBXGroup; |
481 | children = ( | 496 | children = ( |
482 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */, | 497 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */, |
483 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */, | 498 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */, |
484 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */, | 499 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */, |
485 | ); | 500 | ); |
486 | name = ConfirmForgetPass; | 501 | name = ConfirmForgetPass; |
487 | sourceTree = "<group>"; | 502 | sourceTree = "<group>"; |
488 | }; | 503 | }; |
489 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */ = { | 504 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */ = { |
490 | isa = PBXGroup; | 505 | isa = PBXGroup; |
491 | children = ( | 506 | children = ( |
492 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */, | 507 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */, |
493 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */, | 508 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */, |
494 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */, | 509 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */, |
495 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */, | 510 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */, |
496 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */, | 511 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */, |
497 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */, | 512 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */, |
498 | ); | 513 | ); |
499 | name = BaseViewController; | 514 | name = BaseViewController; |
500 | sourceTree = "<group>"; | 515 | sourceTree = "<group>"; |
501 | }; | 516 | }; |
502 | 9CBDA0FB1F2F03490055DED1 /* Register */ = { | 517 | 9CBDA0FB1F2F03490055DED1 /* Register */ = { |
503 | isa = PBXGroup; | 518 | isa = PBXGroup; |
504 | children = ( | 519 | children = ( |
505 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */, | 520 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */, |
506 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */, | 521 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */, |
507 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */, | 522 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */, |
508 | ); | 523 | ); |
509 | name = Register; | 524 | name = Register; |
510 | sourceTree = "<group>"; | 525 | sourceTree = "<group>"; |
511 | }; | 526 | }; |
512 | DE8269E957EA47CD771BAB33 /* Pods */ = { | 527 | DE8269E957EA47CD771BAB33 /* Pods */ = { |
513 | isa = PBXGroup; | 528 | isa = PBXGroup; |
514 | children = ( | 529 | children = ( |
515 | 6E84E3721F27A700001EB88E /* Products */, | 530 | 6E84E3721F27A700001EB88E /* Products */, |
516 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */, | 531 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */, |
517 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */, | 532 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */, |
518 | ); | 533 | ); |
519 | name = Pods; | 534 | name = Pods; |
520 | sourceTree = "<group>"; | 535 | sourceTree = "<group>"; |
521 | }; | 536 | }; |
522 | E933E6671F3E0479002926F5 /* SeachGroup */ = { | 537 | E933E6671F3E0479002926F5 /* SeachGroup */ = { |
523 | isa = PBXGroup; | 538 | isa = PBXGroup; |
524 | children = ( | 539 | children = ( |
525 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */, | 540 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */, |
526 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */, | 541 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */, |
527 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */, | 542 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */, |
528 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */, | 543 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */, |
529 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */, | 544 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */, |
530 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */, | 545 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */, |
531 | ); | 546 | ); |
532 | name = SeachGroup; | 547 | name = SeachGroup; |
533 | sourceTree = "<group>"; | 548 | sourceTree = "<group>"; |
534 | }; | 549 | }; |
535 | E933E6751F4050E6002926F5 /* GrouDetail */ = { | 550 | E933E6751F4050E6002926F5 /* GrouDetail */ = { |
536 | isa = PBXGroup; | 551 | isa = PBXGroup; |
537 | children = ( | 552 | children = ( |
538 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */, | 553 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */, |
539 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */, | 554 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */, |
540 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */, | 555 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */, |
541 | ); | 556 | ); |
542 | name = GrouDetail; | 557 | name = GrouDetail; |
543 | sourceTree = "<group>"; | 558 | sourceTree = "<group>"; |
544 | }; | 559 | }; |
545 | E9373E441F35966D0059355A /* AutoTranslateView */ = { | 560 | E9373E441F35966D0059355A /* AutoTranslateView */ = { |
546 | isa = PBXGroup; | 561 | isa = PBXGroup; |
547 | children = ( | 562 | children = ( |
548 | E9373E451F3596940059355A /* AutoTransLabel.h */, | 563 | E9373E451F3596940059355A /* AutoTransLabel.h */, |
549 | E9373E461F3596940059355A /* AutoTransLabel.m */, | 564 | E9373E461F3596940059355A /* AutoTransLabel.m */, |
550 | E96855081F3C444900317CEF /* AutoTransButton.h */, | 565 | E96855081F3C444900317CEF /* AutoTransButton.h */, |
551 | E96855091F3C444900317CEF /* AutoTransButton.m */, | 566 | E96855091F3C444900317CEF /* AutoTransButton.m */, |
552 | ); | 567 | ); |
553 | name = AutoTranslateView; | 568 | name = AutoTranslateView; |
554 | sourceTree = "<group>"; | 569 | sourceTree = "<group>"; |
555 | }; | 570 | }; |
556 | E99E13A71F336F0C00C78787 /* CustomView */ = { | 571 | E99E13A71F336F0C00C78787 /* CustomView */ = { |
557 | isa = PBXGroup; | 572 | isa = PBXGroup; |
558 | children = ( | 573 | children = ( |
559 | E9373E441F35966D0059355A /* AutoTranslateView */, | 574 | E9373E441F35966D0059355A /* AutoTranslateView */, |
560 | E99E13A81F336F1700C78787 /* CollectionView */, | 575 | E99E13A81F336F1700C78787 /* CollectionView */, |
561 | ); | 576 | ); |
562 | name = CustomView; | 577 | name = CustomView; |
563 | sourceTree = "<group>"; | 578 | sourceTree = "<group>"; |
564 | }; | 579 | }; |
565 | E99E13A81F336F1700C78787 /* CollectionView */ = { | 580 | E99E13A81F336F1700C78787 /* CollectionView */ = { |
566 | isa = PBXGroup; | 581 | isa = PBXGroup; |
567 | children = ( | 582 | children = ( |
568 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */, | 583 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */, |
569 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */, | 584 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */, |
570 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */, | 585 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */, |
571 | E99E13A91F336F3600C78787 /* CollectionView.h */, | 586 | E99E13A91F336F3600C78787 /* CollectionView.h */, |
572 | E99E13AA1F336F3600C78787 /* CollectionView.m */, | 587 | E99E13AA1F336F3600C78787 /* CollectionView.m */, |
573 | E99E13AC1F336F4500C78787 /* CollectionView.xib */, | 588 | E99E13AC1F336F4500C78787 /* CollectionView.xib */, |
574 | ); | 589 | ); |
575 | name = CollectionView; | 590 | name = CollectionView; |
576 | sourceTree = "<group>"; | 591 | sourceTree = "<group>"; |
577 | }; | 592 | }; |
578 | /* End PBXGroup section */ | 593 | /* End PBXGroup section */ |
579 | 594 | ||
580 | /* Begin PBXNativeTarget section */ | 595 | /* Begin PBXNativeTarget section */ |
581 | 6E84E3701F27A700001EB88E /* LifeLog */ = { | 596 | 6E84E3701F27A700001EB88E /* LifeLog */ = { |
582 | isa = PBXNativeTarget; | 597 | isa = PBXNativeTarget; |
583 | buildConfigurationList = 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */; | 598 | buildConfigurationList = 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */; |
584 | buildPhases = ( | 599 | buildPhases = ( |
585 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */, | 600 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */, |
586 | 6E84E36D1F27A700001EB88E /* Sources */, | 601 | 6E84E36D1F27A700001EB88E /* Sources */, |
587 | 6E84E36E1F27A700001EB88E /* Frameworks */, | 602 | 6E84E36E1F27A700001EB88E /* Frameworks */, |
588 | 6E84E36F1F27A700001EB88E /* Resources */, | 603 | 6E84E36F1F27A700001EB88E /* Resources */, |
589 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */, | 604 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */, |
590 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */, | 605 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */, |
591 | ); | 606 | ); |
592 | buildRules = ( | 607 | buildRules = ( |
593 | ); | 608 | ); |
594 | dependencies = ( | 609 | dependencies = ( |
595 | ); | 610 | ); |
596 | name = LifeLog; | 611 | name = LifeLog; |
597 | productName = LifeLog; | 612 | productName = LifeLog; |
598 | productReference = 6E84E3711F27A700001EB88E /* LifeLog.app */; | 613 | productReference = 6E84E3711F27A700001EB88E /* LifeLog.app */; |
599 | productType = "com.apple.product-type.application"; | 614 | productType = "com.apple.product-type.application"; |
600 | }; | 615 | }; |
601 | 6E84E3891F27A703001EB88E /* LifeLogTests */ = { | 616 | 6E84E3891F27A703001EB88E /* LifeLogTests */ = { |
602 | isa = PBXNativeTarget; | 617 | isa = PBXNativeTarget; |
603 | buildConfigurationList = 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */; | 618 | buildConfigurationList = 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */; |
604 | buildPhases = ( | 619 | buildPhases = ( |
605 | 6E84E3861F27A703001EB88E /* Sources */, | 620 | 6E84E3861F27A703001EB88E /* Sources */, |
606 | 6E84E3871F27A703001EB88E /* Frameworks */, | 621 | 6E84E3871F27A703001EB88E /* Frameworks */, |
607 | 6E84E3881F27A703001EB88E /* Resources */, | 622 | 6E84E3881F27A703001EB88E /* Resources */, |
608 | ); | 623 | ); |
609 | buildRules = ( | 624 | buildRules = ( |
610 | ); | 625 | ); |
611 | dependencies = ( | 626 | dependencies = ( |
612 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */, | 627 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */, |
613 | ); | 628 | ); |
614 | name = LifeLogTests; | 629 | name = LifeLogTests; |
615 | productName = LifeLogTests; | 630 | productName = LifeLogTests; |
616 | productReference = 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */; | 631 | productReference = 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */; |
617 | productType = "com.apple.product-type.bundle.unit-test"; | 632 | productType = "com.apple.product-type.bundle.unit-test"; |
618 | }; | 633 | }; |
619 | 6E84E3941F27A703001EB88E /* LifeLogUITests */ = { | 634 | 6E84E3941F27A703001EB88E /* LifeLogUITests */ = { |
620 | isa = PBXNativeTarget; | 635 | isa = PBXNativeTarget; |
621 | buildConfigurationList = 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */; | 636 | buildConfigurationList = 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */; |
622 | buildPhases = ( | 637 | buildPhases = ( |
623 | 6E84E3911F27A703001EB88E /* Sources */, | 638 | 6E84E3911F27A703001EB88E /* Sources */, |
624 | 6E84E3921F27A703001EB88E /* Frameworks */, | 639 | 6E84E3921F27A703001EB88E /* Frameworks */, |
625 | 6E84E3931F27A703001EB88E /* Resources */, | 640 | 6E84E3931F27A703001EB88E /* Resources */, |
626 | ); | 641 | ); |
627 | buildRules = ( | 642 | buildRules = ( |
628 | ); | 643 | ); |
629 | dependencies = ( | 644 | dependencies = ( |
630 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */, | 645 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */, |
631 | ); | 646 | ); |
632 | name = LifeLogUITests; | 647 | name = LifeLogUITests; |
633 | productName = LifeLogUITests; | 648 | productName = LifeLogUITests; |
634 | productReference = 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */; | 649 | productReference = 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */; |
635 | productType = "com.apple.product-type.bundle.ui-testing"; | 650 | productType = "com.apple.product-type.bundle.ui-testing"; |
636 | }; | 651 | }; |
637 | /* End PBXNativeTarget section */ | 652 | /* End PBXNativeTarget section */ |
638 | 653 | ||
639 | /* Begin PBXProject section */ | 654 | /* Begin PBXProject section */ |
640 | 6E84E3691F27A700001EB88E /* Project object */ = { | 655 | 6E84E3691F27A700001EB88E /* Project object */ = { |
641 | isa = PBXProject; | 656 | isa = PBXProject; |
642 | attributes = { | 657 | attributes = { |
643 | LastUpgradeCheck = 0830; | 658 | LastUpgradeCheck = 0830; |
644 | ORGANIZATIONNAME = PhongNV; | 659 | ORGANIZATIONNAME = PhongNV; |
645 | TargetAttributes = { | 660 | TargetAttributes = { |
646 | 6E84E3701F27A700001EB88E = { | 661 | 6E84E3701F27A700001EB88E = { |
647 | CreatedOnToolsVersion = 8.3.3; | 662 | CreatedOnToolsVersion = 8.3.3; |
648 | DevelopmentTeam = UXU4V3VUN4; | 663 | DevelopmentTeam = UXU4V3VUN4; |
649 | ProvisioningStyle = Automatic; | 664 | ProvisioningStyle = Automatic; |
650 | }; | 665 | }; |
651 | 6E84E3891F27A703001EB88E = { | 666 | 6E84E3891F27A703001EB88E = { |
652 | CreatedOnToolsVersion = 8.3.3; | 667 | CreatedOnToolsVersion = 8.3.3; |
653 | ProvisioningStyle = Automatic; | 668 | ProvisioningStyle = Automatic; |
654 | TestTargetID = 6E84E3701F27A700001EB88E; | 669 | TestTargetID = 6E84E3701F27A700001EB88E; |
655 | }; | 670 | }; |
656 | 6E84E3941F27A703001EB88E = { | 671 | 6E84E3941F27A703001EB88E = { |
657 | CreatedOnToolsVersion = 8.3.3; | 672 | CreatedOnToolsVersion = 8.3.3; |
658 | ProvisioningStyle = Automatic; | 673 | ProvisioningStyle = Automatic; |
659 | TestTargetID = 6E84E3701F27A700001EB88E; | 674 | TestTargetID = 6E84E3701F27A700001EB88E; |
660 | }; | 675 | }; |
661 | }; | 676 | }; |
662 | }; | 677 | }; |
663 | buildConfigurationList = 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */; | 678 | buildConfigurationList = 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */; |
664 | compatibilityVersion = "Xcode 3.2"; | 679 | compatibilityVersion = "Xcode 3.2"; |
665 | developmentRegion = English; | 680 | developmentRegion = English; |
666 | hasScannedForEncodings = 0; | 681 | hasScannedForEncodings = 0; |
667 | knownRegions = ( | 682 | knownRegions = ( |
668 | en, | 683 | en, |
669 | Base, | 684 | Base, |
670 | ); | 685 | ); |
671 | mainGroup = 6E84E3681F27A700001EB88E; | 686 | mainGroup = 6E84E3681F27A700001EB88E; |
672 | productRefGroup = 6E84E3721F27A700001EB88E /* Products */; | 687 | productRefGroup = 6E84E3721F27A700001EB88E /* Products */; |
673 | projectDirPath = ""; | 688 | projectDirPath = ""; |
674 | projectRoot = ""; | 689 | projectRoot = ""; |
675 | targets = ( | 690 | targets = ( |
676 | 6E84E3701F27A700001EB88E /* LifeLog */, | 691 | 6E84E3701F27A700001EB88E /* LifeLog */, |
677 | 6E84E3891F27A703001EB88E /* LifeLogTests */, | 692 | 6E84E3891F27A703001EB88E /* LifeLogTests */, |
678 | 6E84E3941F27A703001EB88E /* LifeLogUITests */, | 693 | 6E84E3941F27A703001EB88E /* LifeLogUITests */, |
679 | ); | 694 | ); |
680 | }; | 695 | }; |
681 | /* End PBXProject section */ | 696 | /* End PBXProject section */ |
682 | 697 | ||
683 | /* Begin PBXResourcesBuildPhase section */ | 698 | /* Begin PBXResourcesBuildPhase section */ |
684 | 6E84E36F1F27A700001EB88E /* Resources */ = { | 699 | 6E84E36F1F27A700001EB88E /* Resources */ = { |
685 | isa = PBXResourcesBuildPhase; | 700 | isa = PBXResourcesBuildPhase; |
686 | buildActionMask = 2147483647; | 701 | buildActionMask = 2147483647; |
687 | files = ( | 702 | files = ( |
688 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */, | 703 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */, |
689 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */, | 704 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */, |
690 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */, | 705 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */, |
691 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */, | 706 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */, |
692 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */, | 707 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */, |
693 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */, | 708 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */, |
694 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */, | 709 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */, |
695 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */, | 710 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */, |
696 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */, | 711 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */, |
697 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */, | 712 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */, |
698 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */, | 713 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */, |
699 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */, | 714 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */, |
700 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */, | 715 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */, |
701 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */, | 716 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */, |
702 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */, | 717 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */, |
703 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */, | 718 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */, |
704 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */, | 719 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */, |
705 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */, | 720 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */, |
706 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */, | 721 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */, |
707 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */, | 722 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */, |
708 | ); | 723 | ); |
709 | runOnlyForDeploymentPostprocessing = 0; | 724 | runOnlyForDeploymentPostprocessing = 0; |
710 | }; | 725 | }; |
711 | 6E84E3881F27A703001EB88E /* Resources */ = { | 726 | 6E84E3881F27A703001EB88E /* Resources */ = { |
712 | isa = PBXResourcesBuildPhase; | 727 | isa = PBXResourcesBuildPhase; |
713 | buildActionMask = 2147483647; | 728 | buildActionMask = 2147483647; |
714 | files = ( | 729 | files = ( |
715 | ); | 730 | ); |
716 | runOnlyForDeploymentPostprocessing = 0; | 731 | runOnlyForDeploymentPostprocessing = 0; |
717 | }; | 732 | }; |
718 | 6E84E3931F27A703001EB88E /* Resources */ = { | 733 | 6E84E3931F27A703001EB88E /* Resources */ = { |
719 | isa = PBXResourcesBuildPhase; | 734 | isa = PBXResourcesBuildPhase; |
720 | buildActionMask = 2147483647; | 735 | buildActionMask = 2147483647; |
721 | files = ( | 736 | files = ( |
722 | ); | 737 | ); |
723 | runOnlyForDeploymentPostprocessing = 0; | 738 | runOnlyForDeploymentPostprocessing = 0; |
724 | }; | 739 | }; |
725 | /* End PBXResourcesBuildPhase section */ | 740 | /* End PBXResourcesBuildPhase section */ |
726 | 741 | ||
727 | /* Begin PBXShellScriptBuildPhase section */ | 742 | /* Begin PBXShellScriptBuildPhase section */ |
728 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */ = { | 743 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */ = { |
729 | isa = PBXShellScriptBuildPhase; | 744 | isa = PBXShellScriptBuildPhase; |
730 | buildActionMask = 2147483647; | 745 | buildActionMask = 2147483647; |
731 | files = ( | 746 | files = ( |
732 | ); | 747 | ); |
733 | inputPaths = ( | 748 | inputPaths = ( |
734 | ); | 749 | ); |
735 | name = "[CP] Embed Pods Frameworks"; | 750 | name = "[CP] Embed Pods Frameworks"; |
736 | outputPaths = ( | 751 | outputPaths = ( |
737 | ); | 752 | ); |
738 | runOnlyForDeploymentPostprocessing = 0; | 753 | runOnlyForDeploymentPostprocessing = 0; |
739 | shellPath = /bin/sh; | 754 | shellPath = /bin/sh; |
740 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh\"\n"; | 755 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh\"\n"; |
741 | showEnvVarsInLog = 0; | 756 | showEnvVarsInLog = 0; |
742 | }; | 757 | }; |
743 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */ = { | 758 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */ = { |
744 | isa = PBXShellScriptBuildPhase; | 759 | isa = PBXShellScriptBuildPhase; |
745 | buildActionMask = 2147483647; | 760 | buildActionMask = 2147483647; |
746 | files = ( | 761 | files = ( |
747 | ); | 762 | ); |
748 | inputPaths = ( | 763 | inputPaths = ( |
749 | ); | 764 | ); |
750 | name = "[CP] Check Pods Manifest.lock"; | 765 | name = "[CP] Check Pods Manifest.lock"; |
751 | outputPaths = ( | 766 | outputPaths = ( |
752 | ); | 767 | ); |
753 | runOnlyForDeploymentPostprocessing = 0; | 768 | runOnlyForDeploymentPostprocessing = 0; |
754 | shellPath = /bin/sh; | 769 | shellPath = /bin/sh; |
755 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; | 770 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; |
756 | showEnvVarsInLog = 0; | 771 | showEnvVarsInLog = 0; |
757 | }; | 772 | }; |
758 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */ = { | 773 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */ = { |
759 | isa = PBXShellScriptBuildPhase; | 774 | isa = PBXShellScriptBuildPhase; |
760 | buildActionMask = 2147483647; | 775 | buildActionMask = 2147483647; |
761 | files = ( | 776 | files = ( |
762 | ); | 777 | ); |
763 | inputPaths = ( | 778 | inputPaths = ( |
764 | ); | 779 | ); |
765 | name = "[CP] Copy Pods Resources"; | 780 | name = "[CP] Copy Pods Resources"; |
766 | outputPaths = ( | 781 | outputPaths = ( |
767 | ); | 782 | ); |
768 | runOnlyForDeploymentPostprocessing = 0; | 783 | runOnlyForDeploymentPostprocessing = 0; |
769 | shellPath = /bin/sh; | 784 | shellPath = /bin/sh; |
770 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-resources.sh\"\n"; | 785 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-resources.sh\"\n"; |
771 | showEnvVarsInLog = 0; | 786 | showEnvVarsInLog = 0; |
772 | }; | 787 | }; |
773 | /* End PBXShellScriptBuildPhase section */ | 788 | /* End PBXShellScriptBuildPhase section */ |
774 | 789 | ||
775 | /* Begin PBXSourcesBuildPhase section */ | 790 | /* Begin PBXSourcesBuildPhase section */ |
776 | 6E84E36D1F27A700001EB88E /* Sources */ = { | 791 | 6E84E36D1F27A700001EB88E /* Sources */ = { |
777 | isa = PBXSourcesBuildPhase; | 792 | isa = PBXSourcesBuildPhase; |
778 | buildActionMask = 2147483647; | 793 | buildActionMask = 2147483647; |
779 | files = ( | 794 | files = ( |
780 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */, | 795 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */, |
781 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */, | 796 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */, |
782 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */, | 797 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */, |
783 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */, | 798 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */, |
799 | 6EA4AF321F40BB7A00F52CFE /* TargetInfor.m in Sources */, | ||
784 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */, | 800 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */, |
785 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */, | 801 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */, |
786 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */, | 802 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */, |
787 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, | 803 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, |
788 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */, | 804 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */, |
789 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */, | 805 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */, |
790 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */, | 806 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */, |
791 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */, | 807 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */, |
792 | 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */, | 808 | 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */, |
793 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */, | 809 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */, |
794 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */, | 810 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */, |
795 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */, | 811 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */, |
796 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */, | 812 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */, |
797 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */, | 813 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */, |
798 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */, | 814 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */, |
799 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */, | 815 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */, |
816 | 6EA4AF311F40BB7A00F52CFE /* StepObject.m in Sources */, | ||
800 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */, | 817 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */, |
801 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */, | 818 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */, |
802 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */, | 819 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */, |
803 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */, | 820 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */, |
804 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */, | 821 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */, |
805 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */, | 822 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */, |
806 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */, | 823 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */, |
807 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */, | 824 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */, |
808 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */, | 825 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */, |
809 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */, | 826 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */, |
827 | 6EA4AF331F40BB7A00F52CFE /* TopObject.m in Sources */, | ||
810 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */, | 828 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */, |
811 | 6E84E3761F27A701001EB88E /* main.m in Sources */, | 829 | 6E84E3761F27A701001EB88E /* main.m in Sources */, |
812 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */, | 830 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */, |
813 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */, | 831 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */, |
814 | E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */, | 832 | E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */, |
815 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */, | 833 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */, |
816 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */, | 834 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */, |
817 | ); | 835 | ); |
818 | runOnlyForDeploymentPostprocessing = 0; | 836 | runOnlyForDeploymentPostprocessing = 0; |
819 | }; | 837 | }; |
820 | 6E84E3861F27A703001EB88E /* Sources */ = { | 838 | 6E84E3861F27A703001EB88E /* Sources */ = { |
821 | isa = PBXSourcesBuildPhase; | 839 | isa = PBXSourcesBuildPhase; |
822 | buildActionMask = 2147483647; | 840 | buildActionMask = 2147483647; |
823 | files = ( | 841 | files = ( |
824 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */, | 842 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */, |
825 | ); | 843 | ); |
826 | runOnlyForDeploymentPostprocessing = 0; | 844 | runOnlyForDeploymentPostprocessing = 0; |
827 | }; | 845 | }; |
828 | 6E84E3911F27A703001EB88E /* Sources */ = { | 846 | 6E84E3911F27A703001EB88E /* Sources */ = { |
829 | isa = PBXSourcesBuildPhase; | 847 | isa = PBXSourcesBuildPhase; |
830 | buildActionMask = 2147483647; | 848 | buildActionMask = 2147483647; |
831 | files = ( | 849 | files = ( |
832 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */, | 850 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */, |
833 | ); | 851 | ); |
834 | runOnlyForDeploymentPostprocessing = 0; | 852 | runOnlyForDeploymentPostprocessing = 0; |
835 | }; | 853 | }; |
836 | /* End PBXSourcesBuildPhase section */ | 854 | /* End PBXSourcesBuildPhase section */ |
837 | 855 | ||
838 | /* Begin PBXTargetDependency section */ | 856 | /* Begin PBXTargetDependency section */ |
839 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */ = { | 857 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */ = { |
840 | isa = PBXTargetDependency; | 858 | isa = PBXTargetDependency; |
841 | target = 6E84E3701F27A700001EB88E /* LifeLog */; | 859 | target = 6E84E3701F27A700001EB88E /* LifeLog */; |
842 | targetProxy = 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */; | 860 | targetProxy = 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */; |
843 | }; | 861 | }; |
844 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */ = { | 862 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */ = { |
845 | isa = PBXTargetDependency; | 863 | isa = PBXTargetDependency; |
846 | target = 6E84E3701F27A700001EB88E /* LifeLog */; | 864 | target = 6E84E3701F27A700001EB88E /* LifeLog */; |
847 | targetProxy = 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */; | 865 | targetProxy = 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */; |
848 | }; | 866 | }; |
849 | /* End PBXTargetDependency section */ | 867 | /* End PBXTargetDependency section */ |
850 | 868 | ||
851 | /* Begin PBXVariantGroup section */ | 869 | /* Begin PBXVariantGroup section */ |
852 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */ = { | 870 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */ = { |
853 | isa = PBXVariantGroup; | 871 | isa = PBXVariantGroup; |
854 | children = ( | 872 | children = ( |
855 | 6E84E3831F27A701001EB88E /* Base */, | 873 | 6E84E3831F27A701001EB88E /* Base */, |
856 | ); | 874 | ); |
857 | name = LaunchScreen.storyboard; | 875 | name = LaunchScreen.storyboard; |
858 | sourceTree = "<group>"; | 876 | sourceTree = "<group>"; |
859 | }; | 877 | }; |
860 | /* End PBXVariantGroup section */ | 878 | /* End PBXVariantGroup section */ |
861 | 879 | ||
862 | /* Begin XCBuildConfiguration section */ | 880 | /* Begin XCBuildConfiguration section */ |
863 | 6E84E39C1F27A703001EB88E /* Debug */ = { | 881 | 6E84E39C1F27A703001EB88E /* Debug */ = { |
864 | isa = XCBuildConfiguration; | 882 | isa = XCBuildConfiguration; |
865 | buildSettings = { | 883 | buildSettings = { |
866 | ALWAYS_SEARCH_USER_PATHS = NO; | 884 | ALWAYS_SEARCH_USER_PATHS = NO; |
867 | CLANG_ANALYZER_NONNULL = YES; | 885 | CLANG_ANALYZER_NONNULL = YES; |
868 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | 886 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
869 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | 887 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
870 | CLANG_CXX_LIBRARY = "libc++"; | 888 | CLANG_CXX_LIBRARY = "libc++"; |
871 | CLANG_ENABLE_MODULES = YES; | 889 | CLANG_ENABLE_MODULES = YES; |
872 | CLANG_ENABLE_OBJC_ARC = YES; | 890 | CLANG_ENABLE_OBJC_ARC = YES; |
873 | CLANG_WARN_BOOL_CONVERSION = YES; | 891 | CLANG_WARN_BOOL_CONVERSION = YES; |
874 | CLANG_WARN_CONSTANT_CONVERSION = YES; | 892 | CLANG_WARN_CONSTANT_CONVERSION = YES; |
875 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | 893 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
876 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | 894 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; |
877 | CLANG_WARN_EMPTY_BODY = YES; | 895 | CLANG_WARN_EMPTY_BODY = YES; |
878 | CLANG_WARN_ENUM_CONVERSION = YES; | 896 | CLANG_WARN_ENUM_CONVERSION = YES; |
879 | CLANG_WARN_INFINITE_RECURSION = YES; | 897 | CLANG_WARN_INFINITE_RECURSION = YES; |
880 | CLANG_WARN_INT_CONVERSION = YES; | 898 | CLANG_WARN_INT_CONVERSION = YES; |
881 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 899 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
882 | CLANG_WARN_SUSPICIOUS_MOVE = YES; | 900 | CLANG_WARN_SUSPICIOUS_MOVE = YES; |
883 | CLANG_WARN_UNREACHABLE_CODE = YES; | 901 | CLANG_WARN_UNREACHABLE_CODE = YES; |
884 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 902 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
885 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 903 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
886 | COPY_PHASE_STRIP = NO; | 904 | COPY_PHASE_STRIP = NO; |
887 | DEBUG_INFORMATION_FORMAT = dwarf; | 905 | DEBUG_INFORMATION_FORMAT = dwarf; |
888 | ENABLE_STRICT_OBJC_MSGSEND = YES; | 906 | ENABLE_STRICT_OBJC_MSGSEND = YES; |
889 | ENABLE_TESTABILITY = YES; | 907 | ENABLE_TESTABILITY = YES; |
890 | GCC_C_LANGUAGE_STANDARD = gnu99; | 908 | GCC_C_LANGUAGE_STANDARD = gnu99; |
891 | GCC_DYNAMIC_NO_PIC = NO; | 909 | GCC_DYNAMIC_NO_PIC = NO; |
892 | GCC_NO_COMMON_BLOCKS = YES; | 910 | GCC_NO_COMMON_BLOCKS = YES; |
893 | GCC_OPTIMIZATION_LEVEL = 0; | 911 | GCC_OPTIMIZATION_LEVEL = 0; |
894 | GCC_PREPROCESSOR_DEFINITIONS = ( | 912 | GCC_PREPROCESSOR_DEFINITIONS = ( |
895 | "DEBUG=1", | 913 | "DEBUG=1", |
896 | "$(inherited)", | 914 | "$(inherited)", |
897 | ); | 915 | ); |
898 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | 916 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
899 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | 917 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
900 | GCC_WARN_UNDECLARED_SELECTOR = YES; | 918 | GCC_WARN_UNDECLARED_SELECTOR = YES; |
901 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | 919 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
902 | GCC_WARN_UNUSED_FUNCTION = YES; | 920 | GCC_WARN_UNUSED_FUNCTION = YES; |
903 | GCC_WARN_UNUSED_VARIABLE = YES; | 921 | GCC_WARN_UNUSED_VARIABLE = YES; |
904 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; | 922 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; |
905 | MTL_ENABLE_DEBUG_INFO = YES; | 923 | MTL_ENABLE_DEBUG_INFO = YES; |
906 | ONLY_ACTIVE_ARCH = YES; | 924 | ONLY_ACTIVE_ARCH = YES; |
907 | SDKROOT = iphoneos; | 925 | SDKROOT = iphoneos; |
908 | TARGETED_DEVICE_FAMILY = "1,2"; | 926 | TARGETED_DEVICE_FAMILY = "1,2"; |
909 | }; | 927 | }; |
910 | name = Debug; | 928 | name = Debug; |
911 | }; | 929 | }; |
912 | 6E84E39D1F27A703001EB88E /* Release */ = { | 930 | 6E84E39D1F27A703001EB88E /* Release */ = { |
913 | isa = XCBuildConfiguration; | 931 | isa = XCBuildConfiguration; |
914 | buildSettings = { | 932 | buildSettings = { |
915 | ALWAYS_SEARCH_USER_PATHS = NO; | 933 | ALWAYS_SEARCH_USER_PATHS = NO; |
916 | CLANG_ANALYZER_NONNULL = YES; | 934 | CLANG_ANALYZER_NONNULL = YES; |
917 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | 935 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
918 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | 936 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
919 | CLANG_CXX_LIBRARY = "libc++"; | 937 | CLANG_CXX_LIBRARY = "libc++"; |
920 | CLANG_ENABLE_MODULES = YES; | 938 | CLANG_ENABLE_MODULES = YES; |
921 | CLANG_ENABLE_OBJC_ARC = YES; | 939 | CLANG_ENABLE_OBJC_ARC = YES; |
922 | CLANG_WARN_BOOL_CONVERSION = YES; | 940 | CLANG_WARN_BOOL_CONVERSION = YES; |
923 | CLANG_WARN_CONSTANT_CONVERSION = YES; | 941 | CLANG_WARN_CONSTANT_CONVERSION = YES; |
924 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | 942 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
925 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | 943 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; |
926 | CLANG_WARN_EMPTY_BODY = YES; | 944 | CLANG_WARN_EMPTY_BODY = YES; |
927 | CLANG_WARN_ENUM_CONVERSION = YES; | 945 | CLANG_WARN_ENUM_CONVERSION = YES; |
928 | CLANG_WARN_INFINITE_RECURSION = YES; | 946 | CLANG_WARN_INFINITE_RECURSION = YES; |
929 | CLANG_WARN_INT_CONVERSION = YES; | 947 | CLANG_WARN_INT_CONVERSION = YES; |
930 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 948 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
931 | CLANG_WARN_SUSPICIOUS_MOVE = YES; | 949 | CLANG_WARN_SUSPICIOUS_MOVE = YES; |
932 | CLANG_WARN_UNREACHABLE_CODE = YES; | 950 | CLANG_WARN_UNREACHABLE_CODE = YES; |
933 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 951 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
934 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 952 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
935 | COPY_PHASE_STRIP = NO; | 953 | COPY_PHASE_STRIP = NO; |
936 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | 954 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
937 | ENABLE_NS_ASSERTIONS = NO; | 955 | ENABLE_NS_ASSERTIONS = NO; |
938 | ENABLE_STRICT_OBJC_MSGSEND = YES; | 956 | ENABLE_STRICT_OBJC_MSGSEND = YES; |
939 | GCC_C_LANGUAGE_STANDARD = gnu99; | 957 | GCC_C_LANGUAGE_STANDARD = gnu99; |
940 | GCC_NO_COMMON_BLOCKS = YES; | 958 | GCC_NO_COMMON_BLOCKS = YES; |
941 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | 959 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
942 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | 960 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
943 | GCC_WARN_UNDECLARED_SELECTOR = YES; | 961 | GCC_WARN_UNDECLARED_SELECTOR = YES; |
944 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | 962 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
945 | GCC_WARN_UNUSED_FUNCTION = YES; | 963 | GCC_WARN_UNUSED_FUNCTION = YES; |
946 | GCC_WARN_UNUSED_VARIABLE = YES; | 964 | GCC_WARN_UNUSED_VARIABLE = YES; |
947 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; | 965 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; |
948 | MTL_ENABLE_DEBUG_INFO = NO; | 966 | MTL_ENABLE_DEBUG_INFO = NO; |
949 | SDKROOT = iphoneos; | 967 | SDKROOT = iphoneos; |
950 | TARGETED_DEVICE_FAMILY = "1,2"; | 968 | TARGETED_DEVICE_FAMILY = "1,2"; |
951 | VALIDATE_PRODUCT = YES; | 969 | VALIDATE_PRODUCT = YES; |
952 | }; | 970 | }; |
953 | name = Release; | 971 | name = Release; |
954 | }; | 972 | }; |
955 | 6E84E39F1F27A703001EB88E /* Debug */ = { | 973 | 6E84E39F1F27A703001EB88E /* Debug */ = { |
956 | isa = XCBuildConfiguration; | 974 | isa = XCBuildConfiguration; |
957 | baseConfigurationReference = 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */; | 975 | baseConfigurationReference = 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */; |
958 | buildSettings = { | 976 | buildSettings = { |
959 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 977 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
960 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 978 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
961 | DEVELOPMENT_TEAM = ""; | 979 | DEVELOPMENT_TEAM = ""; |
962 | INFOPLIST_FILE = LifeLog/Info.plist; | 980 | INFOPLIST_FILE = LifeLog/Info.plist; |
963 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; | 981 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; |
964 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | 982 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
965 | OTHER_LDFLAGS = ( | 983 | OTHER_LDFLAGS = ( |
966 | "$(inherited)", | 984 | "$(inherited)", |
967 | "-framework", | 985 | "-framework", |
968 | "\"CircleProgressBar\"", | 986 | "\"CircleProgressBar\"", |
969 | "-all_load", | 987 | "-all_load", |
970 | "-ObjC", | 988 | "-ObjC", |
971 | ); | 989 | ); |
972 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; | 990 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; |
973 | PRODUCT_NAME = "$(TARGET_NAME)"; | 991 | PRODUCT_NAME = "$(TARGET_NAME)"; |
974 | PROVISIONING_PROFILE = ""; | 992 | PROVISIONING_PROFILE = ""; |
975 | PROVISIONING_PROFILE_SPECIFIER = ""; | 993 | PROVISIONING_PROFILE_SPECIFIER = ""; |
976 | }; | 994 | }; |
977 | name = Debug; | 995 | name = Debug; |
978 | }; | 996 | }; |
979 | 6E84E3A01F27A703001EB88E /* Release */ = { | 997 | 6E84E3A01F27A703001EB88E /* Release */ = { |
980 | isa = XCBuildConfiguration; | 998 | isa = XCBuildConfiguration; |
981 | baseConfigurationReference = 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */; | 999 | baseConfigurationReference = 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */; |
982 | buildSettings = { | 1000 | buildSettings = { |
983 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 1001 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
984 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 1002 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
985 | DEVELOPMENT_TEAM = ""; | 1003 | DEVELOPMENT_TEAM = ""; |
986 | INFOPLIST_FILE = LifeLog/Info.plist; | 1004 | INFOPLIST_FILE = LifeLog/Info.plist; |
987 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; | 1005 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; |
988 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | 1006 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
989 | OTHER_LDFLAGS = ( | 1007 | OTHER_LDFLAGS = ( |
990 | "$(inherited)", | 1008 | "$(inherited)", |
991 | "-framework", | 1009 | "-framework", |
992 | "\"CircleProgressBar\"", | 1010 | "\"CircleProgressBar\"", |
993 | "-all_load", | 1011 | "-all_load", |
994 | "-ObjC", | 1012 | "-ObjC", |
995 | ); | 1013 | ); |
996 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; | 1014 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; |
997 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1015 | PRODUCT_NAME = "$(TARGET_NAME)"; |
998 | PROVISIONING_PROFILE = ""; | 1016 | PROVISIONING_PROFILE = ""; |
999 | PROVISIONING_PROFILE_SPECIFIER = ""; | 1017 | PROVISIONING_PROFILE_SPECIFIER = ""; |
1000 | }; | 1018 | }; |
1001 | name = Release; | 1019 | name = Release; |
1002 | }; | 1020 | }; |
1003 | 6E84E3A21F27A703001EB88E /* Debug */ = { | 1021 | 6E84E3A21F27A703001EB88E /* Debug */ = { |
1004 | isa = XCBuildConfiguration; | 1022 | isa = XCBuildConfiguration; |
1005 | buildSettings = { | 1023 | buildSettings = { |
1006 | BUNDLE_LOADER = "$(TEST_HOST)"; | 1024 | BUNDLE_LOADER = "$(TEST_HOST)"; |
1007 | INFOPLIST_FILE = LifeLogTests/Info.plist; | 1025 | INFOPLIST_FILE = LifeLogTests/Info.plist; |
1008 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1026 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1009 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; | 1027 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; |
1010 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1028 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1011 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; | 1029 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; |
1012 | }; | 1030 | }; |
1013 | name = Debug; | 1031 | name = Debug; |
1014 | }; | 1032 | }; |
1015 | 6E84E3A31F27A703001EB88E /* Release */ = { | 1033 | 6E84E3A31F27A703001EB88E /* Release */ = { |
1016 | isa = XCBuildConfiguration; | 1034 | isa = XCBuildConfiguration; |
1017 | buildSettings = { | 1035 | buildSettings = { |
1018 | BUNDLE_LOADER = "$(TEST_HOST)"; | 1036 | BUNDLE_LOADER = "$(TEST_HOST)"; |
1019 | INFOPLIST_FILE = LifeLogTests/Info.plist; | 1037 | INFOPLIST_FILE = LifeLogTests/Info.plist; |
1020 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1038 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1021 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; | 1039 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; |
1022 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1040 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1023 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; | 1041 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; |
1024 | }; | 1042 | }; |
1025 | name = Release; | 1043 | name = Release; |
1026 | }; | 1044 | }; |
1027 | 6E84E3A51F27A703001EB88E /* Debug */ = { | 1045 | 6E84E3A51F27A703001EB88E /* Debug */ = { |
1028 | isa = XCBuildConfiguration; | 1046 | isa = XCBuildConfiguration; |
1029 | buildSettings = { | 1047 | buildSettings = { |
1030 | INFOPLIST_FILE = LifeLogUITests/Info.plist; | 1048 | INFOPLIST_FILE = LifeLogUITests/Info.plist; |
1031 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1049 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1032 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; | 1050 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; |
1033 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1051 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1034 | TEST_TARGET_NAME = LifeLog; | 1052 | TEST_TARGET_NAME = LifeLog; |
1035 | }; | 1053 | }; |
1036 | name = Debug; | 1054 | name = Debug; |
1037 | }; | 1055 | }; |
1038 | 6E84E3A61F27A703001EB88E /* Release */ = { | 1056 | 6E84E3A61F27A703001EB88E /* Release */ = { |
1039 | isa = XCBuildConfiguration; | 1057 | isa = XCBuildConfiguration; |
1040 | buildSettings = { | 1058 | buildSettings = { |
1041 | INFOPLIST_FILE = LifeLogUITests/Info.plist; | 1059 | INFOPLIST_FILE = LifeLogUITests/Info.plist; |
1042 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1060 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1043 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; | 1061 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; |
1044 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1062 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1045 | TEST_TARGET_NAME = LifeLog; | 1063 | TEST_TARGET_NAME = LifeLog; |
1046 | }; | 1064 | }; |
1047 | name = Release; | 1065 | name = Release; |
1048 | }; | 1066 | }; |
1049 | /* End XCBuildConfiguration section */ | 1067 | /* End XCBuildConfiguration section */ |
1050 | 1068 | ||
1051 | /* Begin XCConfigurationList section */ | 1069 | /* Begin XCConfigurationList section */ |
1052 | 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */ = { | 1070 | 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */ = { |
1053 | isa = XCConfigurationList; | 1071 | isa = XCConfigurationList; |
1054 | buildConfigurations = ( | 1072 | buildConfigurations = ( |
1055 | 6E84E39C1F27A703001EB88E /* Debug */, | 1073 | 6E84E39C1F27A703001EB88E /* Debug */, |
1056 | 6E84E39D1F27A703001EB88E /* Release */, | 1074 | 6E84E39D1F27A703001EB88E /* Release */, |
1057 | ); | 1075 | ); |
1058 | defaultConfigurationIsVisible = 0; | 1076 | defaultConfigurationIsVisible = 0; |
1059 | defaultConfigurationName = Release; | 1077 | defaultConfigurationName = Release; |
1060 | }; | 1078 | }; |
1061 | 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */ = { | 1079 | 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */ = { |
1062 | isa = XCConfigurationList; | 1080 | isa = XCConfigurationList; |
1063 | buildConfigurations = ( | 1081 | buildConfigurations = ( |
1064 | 6E84E39F1F27A703001EB88E /* Debug */, | 1082 | 6E84E39F1F27A703001EB88E /* Debug */, |
1065 | 6E84E3A01F27A703001EB88E /* Release */, | 1083 | 6E84E3A01F27A703001EB88E /* Release */, |
1066 | ); | 1084 | ); |
1067 | defaultConfigurationIsVisible = 0; | 1085 | defaultConfigurationIsVisible = 0; |
1068 | defaultConfigurationName = Release; | 1086 | defaultConfigurationName = Release; |
1069 | }; | 1087 | }; |
1070 | 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */ = { | 1088 | 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */ = { |
1071 | isa = XCConfigurationList; | 1089 | isa = XCConfigurationList; |
1072 | buildConfigurations = ( | 1090 | buildConfigurations = ( |
1073 | 6E84E3A21F27A703001EB88E /* Debug */, | 1091 | 6E84E3A21F27A703001EB88E /* Debug */, |
1074 | 6E84E3A31F27A703001EB88E /* Release */, | 1092 | 6E84E3A31F27A703001EB88E /* Release */, |
1075 | ); | 1093 | ); |
1076 | defaultConfigurationIsVisible = 0; | 1094 | defaultConfigurationIsVisible = 0; |
1077 | defaultConfigurationName = Release; | 1095 | defaultConfigurationName = Release; |
1078 | }; | 1096 | }; |
1079 | 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */ = { | 1097 | 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */ = { |
1080 | isa = XCConfigurationList; | 1098 | isa = XCConfigurationList; |
1081 | buildConfigurations = ( | 1099 | buildConfigurations = ( |
1082 | 6E84E3A51F27A703001EB88E /* Debug */, | 1100 | 6E84E3A51F27A703001EB88E /* Debug */, |
1083 | 6E84E3A61F27A703001EB88E /* Release */, | 1101 | 6E84E3A61F27A703001EB88E /* Release */, |
1084 | ); | 1102 | ); |
1085 | defaultConfigurationIsVisible = 0; | 1103 | defaultConfigurationIsVisible = 0; |
1086 | defaultConfigurationName = Release; | 1104 | defaultConfigurationName = Release; |
1087 | }; | 1105 | }; |
1088 | /* End XCConfigurationList section */ | 1106 | /* End XCConfigurationList section */ |
1089 | }; | 1107 | }; |
1090 | rootObject = 6E84E3691F27A700001EB88E /* Project object */; | 1108 | rootObject = 6E84E3691F27A700001EB88E /* Project object */; |
1091 | } | 1109 | } |
LifeLog/LifeLog/AppDelegate.m
1 | // | 1 | // |
2 | // AppDelegate.m | 2 | // AppDelegate.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "AppDelegate.h" | 9 | #import "AppDelegate.h" |
10 | #import "LoginViewController.h" | 10 | #import "LoginViewController.h" |
11 | #import "HomeViewController.h" | 11 | #import "HomeViewController.h" |
12 | #import "HistoryViewController.h" | 12 | #import "HistoryViewController.h" |
13 | #import "RankingViewController.h" | 13 | #import "RankingViewController.h" |
14 | #import "MapViewController.h" | 14 | #import "MapViewController.h" |
15 | #import "SNSViewController.h" | 15 | #import "SNSViewController.h" |
16 | #import "ServerAPI.h" | 16 | #import "ServerAPI.h" |
17 | #import "Utilities.h" | ||
17 | 18 | ||
18 | @interface AppDelegate () | 19 | @interface AppDelegate () |
19 | 20 | ||
20 | @end | 21 | @end |
21 | 22 | ||
22 | @implementation AppDelegate | 23 | @implementation AppDelegate |
23 | 24 | ||
24 | + (AppDelegate *)sharedAppDelegate { | 25 | + (AppDelegate *)sharedAppDelegate { |
25 | return (AppDelegate *)[UIApplication sharedApplication].delegate; | 26 | return (AppDelegate *)[UIApplication sharedApplication].delegate; |
26 | } | 27 | } |
27 | 28 | ||
28 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { | 29 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
29 | // Override point for customization after application launch. | 30 | // Override point for customization after application launch. |
30 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | 31 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; |
31 | 32 | ||
32 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; | 33 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; |
33 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; | 34 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; |
34 | if (user == nil) { | 35 | if (user == nil) { |
35 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; | 36 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; |
36 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; | 37 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; |
37 | self.window.rootViewController = navigation; | 38 | self.window.rootViewController = navigation; |
38 | [self.window makeKeyAndVisible]; | 39 | [self.window makeKeyAndVisible]; |
39 | } | 40 | } |
40 | else { | 41 | else { |
41 | [self gotoMainMenu]; | 42 | [self gotoMainMenu]; |
42 | } | 43 | } |
43 | 44 | ||
45 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(gotoLogin) name:kNotificationToken object:nil]; | ||
44 | return YES; | 46 | return YES; |
45 | } | 47 | } |
46 | 48 | ||
49 | - (void)gotoLogin { | ||
50 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:kUser]; | ||
51 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:kToken]; | ||
52 | [[NSUserDefaults standardUserDefaults] synchronize]; | ||
53 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; | ||
54 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; | ||
55 | self.window.rootViewController = navigation; | ||
56 | [self.window makeKeyAndVisible]; | ||
57 | [Utilities showErrorMessage:@"Token is invalid" withViewController:self.window.rootViewController]; | ||
58 | } | ||
47 | 59 | ||
48 | - (void)applicationWillResignActive:(UIApplication *)application { | 60 | - (void)applicationWillResignActive:(UIApplication *)application { |
49 | // 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. | 61 | // 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. |
50 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. | 62 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. |
51 | } | 63 | } |
52 | 64 | ||
53 | 65 | ||
54 | - (void)applicationDidEnterBackground:(UIApplication *)application { | 66 | - (void)applicationDidEnterBackground:(UIApplication *)application { |
55 | // 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. | 67 | // 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. |
56 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. | 68 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. |
57 | } | 69 | } |
58 | 70 | ||
59 | 71 | ||
60 | - (void)applicationWillEnterForeground:(UIApplication *)application { | 72 | - (void)applicationWillEnterForeground:(UIApplication *)application { |
61 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. | 73 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. |
62 | } | 74 | } |
63 | 75 | ||
64 | 76 | ||
65 | - (void)applicationDidBecomeActive:(UIApplication *)application { | 77 | - (void)applicationDidBecomeActive:(UIApplication *)application { |
66 | // 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. | 78 | // 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. |
67 | } | 79 | } |
68 | 80 | ||
69 | 81 | ||
70 | - (void)applicationWillTerminate:(UIApplication *)application { | 82 | - (void)applicationWillTerminate:(UIApplication *)application { |
71 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. | 83 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. |
72 | } | 84 | } |
73 | 85 | ||
74 | - (void)gotoMainMenu | 86 | - (void)gotoMainMenu |
75 | { | 87 | { |
76 | UITabBarController *tabBarViewController = [[UITabBarController alloc] init]; | 88 | UITabBarController *tabBarViewController = [[UITabBarController alloc] init]; |
77 | 89 | ||
78 | HomeViewController *homeVC = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil]; | 90 | HomeViewController *homeVC = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil]; |
79 | UINavigationController *naviToday = [[UINavigationController alloc] initWithRootViewController:homeVC]; | 91 | UINavigationController *naviToday = [[UINavigationController alloc] initWithRootViewController:homeVC]; |
80 | naviToday.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.today", @"") image:[UIImage imageNamed:@"tapbar_today"] tag:1]; | 92 | naviToday.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.today", @"") image:[UIImage imageNamed:@"tapbar_today"] tag:1]; |
81 | naviToday.navigationBar.hidden = YES; | 93 | naviToday.navigationBar.hidden = YES; |
82 | 94 | ||
83 | HistoryViewController *historyVC = [[HistoryViewController alloc] initWithNibName:@"HistoryViewController" bundle:nil]; | 95 | HistoryViewController *historyVC = [[HistoryViewController alloc] initWithNibName:@"HistoryViewController" bundle:nil]; |
84 | UINavigationController *naviHistory = [[UINavigationController alloc] initWithRootViewController:historyVC]; | 96 | UINavigationController *naviHistory = [[UINavigationController alloc] initWithRootViewController:historyVC]; |
85 | naviHistory.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.history", @"") image:[UIImage imageNamed:@"tapbar_history"] tag:2]; | 97 | naviHistory.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.history", @"") image:[UIImage imageNamed:@"tapbar_history"] tag:2]; |
86 | naviHistory.navigationBar.hidden = YES; | 98 | naviHistory.navigationBar.hidden = YES; |
87 | 99 | ||
88 | RankingViewController *rankingVC = [[RankingViewController alloc] initWithNibName:@"RankingViewController" bundle:nil]; | 100 | RankingViewController *rankingVC = [[RankingViewController alloc] initWithNibName:@"RankingViewController" bundle:nil]; |
89 | UINavigationController *naviRanking = [[UINavigationController alloc] initWithRootViewController:rankingVC]; | 101 | UINavigationController *naviRanking = [[UINavigationController alloc] initWithRootViewController:rankingVC]; |
90 | naviRanking.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.ranking", @"") image:[UIImage imageNamed:@"tapbar_ranking"] tag:3]; | 102 | naviRanking.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.ranking", @"") image:[UIImage imageNamed:@"tapbar_ranking"] tag:3]; |
91 | naviRanking.navigationBar.hidden = YES; | 103 | naviRanking.navigationBar.hidden = YES; |
92 | 104 | ||
93 | MapViewController *mapVC = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil]; | 105 | MapViewController *mapVC = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil]; |
94 | UINavigationController *naviMap = [[UINavigationController alloc] initWithRootViewController:mapVC]; | 106 | UINavigationController *naviMap = [[UINavigationController alloc] initWithRootViewController:mapVC]; |
95 | naviMap.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.map", @"") image:[UIImage imageNamed:@"tapbar_map"] tag:4]; | 107 | naviMap.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.map", @"") image:[UIImage imageNamed:@"tapbar_map"] tag:4]; |
96 | 108 | ||
97 | SNSViewController *snsVC = [[SNSViewController alloc] initWithNibName:@"SNSViewController" bundle:nil]; | 109 | SNSViewController *snsVC = [[SNSViewController alloc] initWithNibName:@"SNSViewController" bundle:nil]; |
98 | UINavigationController *naviSNS = [[UINavigationController alloc] initWithRootViewController:snsVC]; | 110 | UINavigationController *naviSNS = [[UINavigationController alloc] initWithRootViewController:snsVC]; |
99 | naviSNS.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.sns", @"") image:[UIImage imageNamed:@"tapbar_sns"] tag:5]; | 111 | naviSNS.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.sns", @"") image:[UIImage imageNamed:@"tapbar_sns"] tag:5]; |
100 | naviSNS.navigationBar.hidden = YES; | 112 | naviSNS.navigationBar.hidden = YES; |
101 | 113 | ||
102 | tabBarViewController.viewControllers = [NSArray arrayWithObjects:naviToday, naviHistory, naviRanking, naviMap, naviSNS, nil]; | 114 | tabBarViewController.viewControllers = [NSArray arrayWithObjects:naviToday, naviHistory, naviRanking, naviMap, naviSNS, nil]; |
103 | 115 | ||
104 | self.window.rootViewController = tabBarViewController; | 116 | self.window.rootViewController = tabBarViewController; |
105 | [self.window makeKeyAndVisible]; | 117 | [self.window makeKeyAndVisible]; |
106 | } | 118 | } |
107 | 119 | ||
108 | @end | 120 | @end |
109 | 121 |
LifeLog/LifeLog/Entities.h
1 | // | 1 | // |
2 | // Entities.h | 2 | // Entities.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/30/17. | 5 | // Created by Nguyen Van Phong on 7/30/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #ifndef Entities_h | 9 | #ifndef Entities_h |
10 | #define Entities_h | 10 | #define Entities_h |
11 | 11 | ||
12 | #import <MBProgressHUD/MBProgressHUD.h> | 12 | #import <MBProgressHUD/MBProgressHUD.h> |
13 | 13 | ||
14 | #import "GroupObject.h" | 14 | #import "GroupObject.h" |
15 | #import "TweetObject.h" | 15 | #import "TweetObject.h" |
16 | #import "HistoryGraphObject.h" | 16 | #import "HistoryGraphObject.h" |
17 | #import "HistoryObject.h" | 17 | #import "HistoryObject.h" |
18 | #import "User.h" | 18 | #import "User.h" |
19 | #import "TopObject.h" | ||
19 | 20 | ||
20 | #endif /* Entities_h */ | 21 | #endif /* Entities_h */ |
21 | 22 |
LifeLog/LifeLog/HomeViewController.m
1 | // | 1 | // |
2 | // HomeViewController.m | 2 | // HomeViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "HomeViewController.h" | 9 | #import "HomeViewController.h" |
10 | #import "NSDate+helper.h" | 10 | #import "NSDate+helper.h" |
11 | #import <CoreMotion/CoreMotion.h> | 11 | #import <CoreMotion/CoreMotion.h> |
12 | #import "CMMotionActivityExtra.h" | 12 | #import "CMMotionActivityExtra.h" |
13 | #import "TodayViewController.h" | 13 | #import "TodayViewController.h" |
14 | #import "Utilities.h" | 14 | #import "Utilities.h" |
15 | #import <MBProgressHUD/MBProgressHUD.h> | 15 | #import <MBProgressHUD/MBProgressHUD.h> |
16 | #import "ServerAPI.h" | 16 | #import "ServerAPI.h" |
17 | 17 | ||
18 | static NSInteger numberTotal = 10000; | 18 | static NSInteger numberTotal = 10000; |
19 | 19 | ||
20 | @interface HomeViewController () | 20 | @interface HomeViewController () |
21 | { | 21 | { |
22 | MBProgressHUD *progressHud; | 22 | MBProgressHUD *progressHud; |
23 | } | 23 | } |
24 | @property (nonatomic, weak) IBOutlet UILabel *lblTitle; | 24 | @property (nonatomic, weak) IBOutlet UILabel *lblTitle; |
25 | @property (nonatomic, weak) IBOutlet UIImageView *avatar; | 25 | @property (nonatomic, weak) IBOutlet UIImageView *avatar; |
26 | @property (nonatomic, weak) IBOutlet UILabel *lblDateCurrent; | 26 | @property (nonatomic, weak) IBOutlet UILabel *lblDateCurrent; |
27 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStep; | 27 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStep; |
28 | @property (nonatomic, weak) IBOutlet UILabel *lblUnitStep; | 28 | @property (nonatomic, weak) IBOutlet UILabel *lblUnitStep; |
29 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStepOther; | 29 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStepOther; |
30 | @property (nonatomic, weak) IBOutlet UILabel *lblPercent; | 30 | @property (nonatomic, weak) IBOutlet UILabel *lblPercent; |
31 | @property (nonatomic, weak) IBOutlet UILabel *lblNotice; | 31 | @property (nonatomic, weak) IBOutlet UILabel *lblNotice; |
32 | @property (weak, nonatomic) IBOutlet UISegmentedControl *segmentHome; | 32 | @property (weak, nonatomic) IBOutlet UISegmentedControl *segmentHome; |
33 | 33 | ||
34 | @property (nonatomic, strong) CMPedometer *pedometer; | 34 | @property (nonatomic, strong) CMPedometer *pedometer; |
35 | @property (nonatomic, strong) CMMotionActivityManager *motionActivityManager; | 35 | @property (nonatomic, strong) CMMotionActivityManager *motionActivityManager; |
36 | @property (nonatomic, strong) NSOperationQueue *operationQueue; | 36 | @property (nonatomic, strong) NSOperationQueue *operationQueue; |
37 | @property (nonatomic, strong) NSTimer *timer; | 37 | @property (nonatomic, strong) NSTimer *timer; |
38 | @property (nonatomic, assign) NSInteger bike; | 38 | @property (nonatomic, assign) NSInteger bike; |
39 | @property (nonatomic, assign) NSInteger walking; | 39 | @property (nonatomic, assign) NSInteger walking; |
40 | @property (nonatomic, assign) NSInteger running; | 40 | @property (nonatomic, assign) NSInteger running; |
41 | @property (nonatomic, strong) NSDate *dateCurrent; | 41 | @property (nonatomic, strong) NSDate *dateCurrent; |
42 | 42 | ||
43 | //@property (nonatomic, assign) BOOL isRequesting; | 43 | //@property (nonatomic, assign) BOOL isRequesting; |
44 | @property (nonatomic, assign) int totalRequest; | 44 | @property (nonatomic, assign) int totalRequest; |
45 | @property (nonatomic, assign) int countComplete; | 45 | @property (nonatomic, assign) int countComplete; |
46 | 46 | ||
47 | @end | 47 | @end |
48 | 48 | ||
49 | @implementation HomeViewController | 49 | @implementation HomeViewController |
50 | 50 | ||
51 | - (void)viewDidLoad { | 51 | - (void)viewDidLoad { |
52 | [super viewDidLoad]; | 52 | [super viewDidLoad]; |
53 | // Do any additional setup after loading the view from its nib. | 53 | // Do any additional setup after loading the view from its nib. |
54 | self.lblTitle.text = NSLocalizedString(@"lifelog.home.title", nil); | 54 | self.lblTitle.text = NSLocalizedString(@"lifelog.home.title", nil); |
55 | 55 | ||
56 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.lblTitle attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | 56 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.lblTitle attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; |
57 | 57 | ||
58 | self.avatar.backgroundColor = [UIColor whiteColor]; | 58 | self.avatar.backgroundColor = [UIColor whiteColor]; |
59 | self.avatar.layer.borderWidth = 2.0f; | 59 | self.avatar.layer.borderWidth = 2.0f; |
60 | self.avatar.layer.borderColor = [[UIColor whiteColor] CGColor]; | 60 | self.avatar.layer.borderColor = [[UIColor whiteColor] CGColor]; |
61 | self.avatar.layer.cornerRadius = self.avatar.frame.size.width/2.0f; | 61 | self.avatar.layer.cornerRadius = self.avatar.frame.size.width/2.0f; |
62 | self.avatar.layer.masksToBounds = YES; | 62 | self.avatar.layer.masksToBounds = YES; |
63 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; | 63 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; |
64 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; | 64 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; |
65 | if (user != nil) { | 65 | if (user != nil) { |
66 | NSString *linkImage = [NSString stringWithFormat:@"%@%@", kServerAddress, user.profile_image]; | 66 | NSString *linkImage = [NSString stringWithFormat:@"%@%@", kServerAddress, user.profile_image]; |
67 | NSURL *urlImage = [NSURL URLWithString:linkImage]; | 67 | NSURL *urlImage = [NSURL URLWithString:linkImage]; |
68 | NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; | 68 | NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; |
69 | sessionConfig.timeoutIntervalForRequest = 30.0; | 69 | sessionConfig.timeoutIntervalForRequest = 30.0; |
70 | sessionConfig.timeoutIntervalForResource = 60.0; | 70 | sessionConfig.timeoutIntervalForResource = 60.0; |
71 | sessionConfig.HTTPMaximumConnectionsPerHost = 20; | 71 | sessionConfig.HTTPMaximumConnectionsPerHost = 20; |
72 | sessionConfig.allowsCellularAccess = YES; | 72 | sessionConfig.allowsCellularAccess = YES; |
73 | HomeViewController __weak *weakSelf = self; | 73 | HomeViewController __weak *weakSelf = self; |
74 | NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig]; | 74 | NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig]; |
75 | NSURLSessionDataTask *downloadPhotoTask = [session | 75 | NSURLSessionDataTask *downloadPhotoTask = [session |
76 | dataTaskWithURL:urlImage completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { | 76 | dataTaskWithURL:urlImage completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { |
77 | if (weakSelf == nil) | 77 | if (weakSelf == nil) |
78 | { | 78 | { |
79 | return; | 79 | return; |
80 | } | 80 | } |
81 | if (error == nil) { | 81 | if (error == nil) { |
82 | UIImage *image = [[UIImage alloc] initWithData:data]; | 82 | UIImage *image = [[UIImage alloc] initWithData:data]; |
83 | [[NSOperationQueue mainQueue] addOperationWithBlock:^{ | 83 | [[NSOperationQueue mainQueue] addOperationWithBlock:^{ |
84 | weakSelf.avatar.image = image; | 84 | weakSelf.avatar.image = image; |
85 | }]; | 85 | }]; |
86 | } | 86 | } |
87 | }]; | 87 | }]; |
88 | [downloadPhotoTask resume]; | 88 | [downloadPhotoTask resume]; |
89 | } | 89 | } |
90 | 90 | ||
91 | self.lblNotice.text = NSLocalizedString(@"lifelog.home.notice", nil); | 91 | self.lblNotice.text = NSLocalizedString(@"lifelog.home.notice", nil); |
92 | 92 | ||
93 | _dateCurrent = [NSDate date]; | 93 | _dateCurrent = [NSDate date]; |
94 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | 94 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; |
95 | 95 | ||
96 | self.lblUnitStep.text = NSLocalizedString(@"lifelog.home.unit.step", nil); | 96 | self.lblUnitStep.text = NSLocalizedString(@"lifelog.home.unit.step", nil); |
97 | 97 | ||
98 | if ([CMPedometer isStepCountingAvailable]) { | 98 | if ([CMPedometer isStepCountingAvailable]) { |
99 | _pedometer = [[CMPedometer alloc] init]; | 99 | _pedometer = [[CMPedometer alloc] init]; |
100 | } | 100 | } |
101 | if ([CMMotionActivityManager isActivityAvailable]) { | 101 | if ([CMMotionActivityManager isActivityAvailable]) { |
102 | _motionActivityManager = [[CMMotionActivityManager alloc] init]; | 102 | _motionActivityManager = [[CMMotionActivityManager alloc] init]; |
103 | } | 103 | } |
104 | _operationQueue = [[NSOperationQueue alloc] init]; | 104 | _operationQueue = [[NSOperationQueue alloc] init]; |
105 | _bike = 0; | 105 | _bike = 0; |
106 | _walking = 0; | 106 | _walking = 0; |
107 | _running = 0; | 107 | _running = 0; |
108 | _segmentHome.selectedSegmentIndex = 1; | 108 | _segmentHome.selectedSegmentIndex = 1; |
109 | // _isRequesting = NO; | 109 | // _isRequesting = NO; |
110 | _totalRequest = 0; | 110 | _totalRequest = 0; |
111 | _countComplete = 0; | 111 | _countComplete = 0; |
112 | 112 | ||
113 | progressHud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; | 113 | progressHud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; |
114 | progressHud.mode = MBProgressHUDModeIndeterminate; | 114 | progressHud.mode = MBProgressHUDModeIndeterminate; |
115 | progressHud.detailsLabel.text = NSLocalizedString(@"lifelog.home.progressHud.title", nil); | 115 | progressHud.detailsLabel.text = NSLocalizedString(@"lifelog.home.progressHud.title", nil); |
116 | } | 116 | } |
117 | 117 | ||
118 | - (void)viewWillAppear:(BOOL)animated { | 118 | - (void)viewWillAppear:(BOOL)animated { |
119 | [super viewWillAppear:animated]; | 119 | [super viewWillAppear:animated]; |
120 | // _timer = [NSTimer scheduledTimerWithTimeInterval:1.5f target:self selector:@selector(countStep) userInfo:nil repeats:YES]; | 120 | // _timer = [NSTimer scheduledTimerWithTimeInterval:1.5f target:self selector:@selector(countStep) userInfo:nil repeats:YES]; |
121 | // [_timer fire]; | 121 | // [_timer fire]; |
122 | [self countStep]; | 122 | [self countStep]; |
123 | |||
124 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
125 | [dateFormatter setDateFormat:@"yyyy-MM-dd"]; | ||
126 | NSString *dateString = [dateFormatter stringFromDate:_dateCurrent]; | ||
127 | |||
128 | HomeViewController __weak *weakSelf = self; | ||
129 | [[ServerAPI server] requestTopWithMode:(int)_segmentHome.selectedSegmentIndex andDate:dateString CompletionHandler:^(TopObject *topObject, NSError *error) { | ||
130 | if(weakSelf == nil) { | ||
131 | return ; | ||
132 | } | ||
133 | if (error == nil) { | ||
134 | NSLog(@"TopObject: %@", topObject); | ||
135 | } | ||
136 | else { | ||
137 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
138 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
139 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
140 | }); | ||
141 | } | ||
142 | }]; | ||
123 | } | 143 | } |
124 | 144 | ||
125 | - (void)viewWillDisappear:(BOOL)animated { | 145 | - (void)viewWillDisappear:(BOOL)animated { |
126 | [super viewWillDisappear:animated]; | 146 | [super viewWillDisappear:animated]; |
127 | //[_timer invalidate]; | 147 | //[_timer invalidate]; |
128 | } | 148 | } |
129 | 149 | ||
130 | - (void)didReceiveMemoryWarning { | 150 | - (void)didReceiveMemoryWarning { |
131 | [super didReceiveMemoryWarning]; | 151 | [super didReceiveMemoryWarning]; |
132 | // Dispose of any resources that can be recreated. | 152 | // Dispose of any resources that can be recreated. |
133 | } | 153 | } |
134 | 154 | ||
135 | #pragma mark - IBAction | 155 | #pragma mark - IBAction |
136 | - (IBAction)menuButtonTouchUpInside:(id)sender | 156 | - (IBAction)menuButtonTouchUpInside:(id)sender |
137 | { | 157 | { |
138 | 158 | ||
139 | } | 159 | } |
140 | 160 | ||
141 | - (IBAction)todayButtonTouchUpInside:(id)sender | 161 | - (IBAction)todayButtonTouchUpInside:(id)sender |
142 | { | 162 | { |
143 | TodayViewController *todayVC = [[TodayViewController alloc] initWithNibName:@"TodayViewController" bundle:nil]; | 163 | TodayViewController *todayVC = [[TodayViewController alloc] initWithNibName:@"TodayViewController" bundle:nil]; |
144 | [self.navigationController pushViewController:todayVC animated:YES]; | 164 | [self.navigationController pushViewController:todayVC animated:YES]; |
145 | } | 165 | } |
146 | 166 | ||
147 | - (IBAction)leftButtonTouchUpInside:(id)sender | 167 | - (IBAction)leftButtonTouchUpInside:(id)sender |
148 | { | 168 | { |
149 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:-(24*60*60)]; | 169 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:-(24*60*60)]; |
150 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | 170 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; |
151 | [self countStep]; | 171 | [self countStep]; |
152 | } | 172 | } |
153 | 173 | ||
154 | - (IBAction)rightButtonTouchUpInside:(id)sender | 174 | - (IBAction)rightButtonTouchUpInside:(id)sender |
155 | { | 175 | { |
156 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:24*60*60]; | 176 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:24*60*60]; |
157 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | 177 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; |
158 | [self countStep]; | 178 | [self countStep]; |
159 | } | 179 | } |
160 | 180 | ||
161 | - (IBAction)segmentValueChange:(id)sender { | 181 | - (IBAction)segmentValueChange:(id)sender { |
162 | [self updateStepUI]; | 182 | [self updateStepUI]; |
163 | } | 183 | } |
164 | 184 | ||
165 | #pragma mark - Functions Private | 185 | #pragma mark - Functions Private |
166 | - (void)countStep | 186 | - (void)countStep |
167 | { | 187 | { |
168 | // if (self.isRequesting == YES) { | 188 | // if (self.isRequesting == YES) { |
169 | // return; | 189 | // return; |
170 | // } | 190 | // } |
171 | if ([CMMotionActivityManager isActivityAvailable]) { | 191 | if ([CMMotionActivityManager isActivityAvailable]) { |
172 | [progressHud showAnimated:YES]; | 192 | [progressHud showAnimated:YES]; |
173 | [progressHud setHidden:NO]; | 193 | [progressHud setHidden:NO]; |
174 | // self.isRequesting = YES; | 194 | // self.isRequesting = YES; |
175 | self.bike = 0; | 195 | self.bike = 0; |
176 | self.walking = 0; | 196 | self.walking = 0; |
177 | self.running = 0; | 197 | self.running = 0; |
178 | NSDate *startDate = [self.dateCurrent beginningAtMidnightOfDay]; | 198 | NSDate *startDate = [self.dateCurrent beginningAtMidnightOfDay]; |
179 | NSDate *endDate = [startDate dateByAddingTimeInterval:(24*60*60 - 1)]; | 199 | NSDate *endDate = [startDate dateByAddingTimeInterval:(24*60*60 - 1)]; |
180 | 200 | ||
181 | HomeViewController __weak *weakSelf = self; | 201 | HomeViewController __weak *weakSelf = self; |
182 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog", NULL); | 202 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog", NULL); |
183 | dispatch_async(myQueue, ^{ | 203 | dispatch_async(myQueue, ^{ |
184 | if (weakSelf == nil) { | 204 | if (weakSelf == nil) { |
185 | return ; | 205 | return ; |
186 | } | 206 | } |
187 | 207 | ||
188 | [weakSelf.motionActivityManager queryActivityStartingFromDate:startDate toDate:endDate toQueue:_operationQueue withHandler:^(NSArray<CMMotionActivity *> * _Nullable activities, NSError * _Nullable error) { | 208 | [weakSelf.motionActivityManager queryActivityStartingFromDate:startDate toDate:endDate toQueue:_operationQueue withHandler:^(NSArray<CMMotionActivity *> * _Nullable activities, NSError * _Nullable error) { |
189 | if (error || activities.count <= 0) { | 209 | if (error || activities.count <= 0) { |
190 | weakSelf.totalRequest = 0; | 210 | weakSelf.totalRequest = 0; |
191 | weakSelf.countComplete = 0; | 211 | weakSelf.countComplete = 0; |
192 | dispatch_async(dispatch_get_main_queue(), ^{ | 212 | dispatch_async(dispatch_get_main_queue(), ^{ |
193 | [weakSelf updateStepUI]; | 213 | [weakSelf updateStepUI]; |
194 | }); | 214 | }); |
195 | return ; | 215 | return ; |
196 | } | 216 | } |
197 | // set EndDate | 217 | // set EndDate |
198 | weakSelf.totalRequest = (int)activities.count; | 218 | weakSelf.totalRequest = (int)activities.count; |
199 | NSMutableArray *arrayActivities = [[NSMutableArray alloc] init]; | 219 | NSMutableArray *arrayActivities = [[NSMutableArray alloc] init]; |
200 | for (int i = 0; i < activities.count; i++) { | 220 | for (int i = 0; i < activities.count; i++) { |
201 | CMMotionActivity *activity = [activities objectAtIndex:i]; | 221 | CMMotionActivity *activity = [activities objectAtIndex:i]; |
202 | CMMotionActivityExtra *activityExtra = [[CMMotionActivityExtra alloc] init]; | 222 | CMMotionActivityExtra *activityExtra = [[CMMotionActivityExtra alloc] init]; |
203 | activityExtra.activity = activity; | 223 | activityExtra.activity = activity; |
204 | if (i == activities.count - 1) { | 224 | if (i == activities.count - 1) { |
205 | activityExtra.endDate = endDate; | 225 | activityExtra.endDate = endDate; |
206 | } | 226 | } |
207 | else { | 227 | else { |
208 | CMMotionActivity *activityNext = [activities objectAtIndex:i+1]; | 228 | CMMotionActivity *activityNext = [activities objectAtIndex:i+1]; |
209 | activityExtra.endDate = activityNext.startDate; | 229 | activityExtra.endDate = activityNext.startDate; |
210 | } | 230 | } |
211 | [arrayActivities addObject:activityExtra]; | 231 | [arrayActivities addObject:activityExtra]; |
212 | } | 232 | } |
213 | 233 | ||
214 | for (CMMotionActivityExtra *activityExtra in arrayActivities) { | 234 | for (CMMotionActivityExtra *activityExtra in arrayActivities) { |
215 | // NSLog(@"%@", activityExtra.activity.startDate); | 235 | // NSLog(@"%@", activityExtra.activity.startDate); |
216 | [weakSelf.pedometer queryPedometerDataFromDate:activityExtra.activity.startDate toDate:activityExtra.endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { | 236 | [weakSelf.pedometer queryPedometerDataFromDate:activityExtra.activity.startDate toDate:activityExtra.endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { |
217 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; | 237 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; |
218 | 238 | ||
219 | if (activityExtra.activity.cycling) { | 239 | if (activityExtra.activity.cycling) { |
220 | // self.bike | 240 | // self.bike |
221 | weakSelf.bike += numberStep; | 241 | weakSelf.bike += numberStep; |
222 | //NSLog(@"Step cycling"); | 242 | //NSLog(@"Step cycling"); |
223 | } | 243 | } |
224 | else if (activityExtra.activity.walking) { | 244 | else if (activityExtra.activity.walking) { |
225 | // self.walking | 245 | // self.walking |
226 | weakSelf.walking += numberStep; | 246 | weakSelf.walking += numberStep; |
227 | //NSLog(@"Step walking"); | 247 | //NSLog(@"Step walking"); |
228 | } | 248 | } |
229 | else if (activityExtra.activity.running) { | 249 | else if (activityExtra.activity.running) { |
230 | weakSelf.running += numberStep; | 250 | weakSelf.running += numberStep; |
231 | //NSLog(@"Step running"); | 251 | //NSLog(@"Step running"); |
232 | } | 252 | } |
233 | else { | 253 | else { |
234 | // unknown | 254 | // unknown |
235 | //NSLog(@"Step unknown"); | 255 | //NSLog(@"Step unknown"); |
236 | } | 256 | } |
237 | // NSLog(@"Number of step--> %ld", numberStep); | 257 | // NSLog(@"Number of step--> %ld", numberStep); |
238 | weakSelf.countComplete += 1; | 258 | weakSelf.countComplete += 1; |
239 | dispatch_async(dispatch_get_main_queue(), ^{ | 259 | dispatch_async(dispatch_get_main_queue(), ^{ |
240 | [weakSelf updateStepUI]; | 260 | [weakSelf updateStepUI]; |
241 | }); | 261 | }); |
242 | }]; | 262 | }]; |
243 | } | 263 | } |
244 | // NSLog(@"-----------------------------------------------------"); | 264 | // NSLog(@"-----------------------------------------------------"); |
245 | }]; | 265 | }]; |
246 | }); | 266 | }); |
247 | } | 267 | } |
248 | else { | 268 | else { |
249 | [progressHud setHidden:YES]; | 269 | [progressHud setHidden:YES]; |
250 | } | 270 | } |
251 | } | 271 | } |
252 | 272 | ||
253 | - (void)updateStepUI //:(NSInteger)numberStep | 273 | - (void)updateStepUI //:(NSInteger)numberStep |
254 | { | 274 | { |
255 | if (self.totalRequest == self.countComplete) { | 275 | if (self.totalRequest == self.countComplete) { |
256 | switch (self.segmentHome.selectedSegmentIndex) { | 276 | switch (self.segmentHome.selectedSegmentIndex) { |
257 | case 0: | 277 | case 0: |
258 | self.lblValueStep.text = [Utilities addCommaFromNumber:self.bike]; | 278 | self.lblValueStep.text = [Utilities addCommaFromNumber:self.bike]; |
259 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %ld", NSLocalizedString(@"lifelog.today.remaining.other", nil), numberTotal - self.bike]; | 279 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %ld", NSLocalizedString(@"lifelog.today.remaining.other", nil), numberTotal - self.bike]; |
260 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), (int)(self.bike*100/numberTotal), NSLocalizedString(@"lifelog.today.percent", nil)]; | 280 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), (int)(self.bike*100/numberTotal), NSLocalizedString(@"lifelog.today.percent", nil)]; |
261 | break; | 281 | break; |
262 | 282 | ||
263 | case 1: | 283 | case 1: |
264 | self.lblValueStep.text = [Utilities addCommaFromNumber:self.walking]; | 284 | self.lblValueStep.text = [Utilities addCommaFromNumber:self.walking]; |
265 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %ld", NSLocalizedString(@"lifelog.today.remaining.other", nil), numberTotal - self.walking]; | 285 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %ld", NSLocalizedString(@"lifelog.today.remaining.other", nil), numberTotal - self.walking]; |
266 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), (int)(self.walking*100/numberTotal), NSLocalizedString(@"lifelog.today.percent", nil)]; | 286 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), (int)(self.walking*100/numberTotal), NSLocalizedString(@"lifelog.today.percent", nil)]; |
267 | break; | 287 | break; |
268 | 288 | ||
269 | case 2: | 289 | case 2: |
270 | self.lblValueStep.text = [Utilities addCommaFromNumber:self.running]; | 290 | self.lblValueStep.text = [Utilities addCommaFromNumber:self.running]; |
271 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %ld", NSLocalizedString(@"lifelog.today.remaining.other", nil), numberTotal - self.running]; | 291 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %ld", NSLocalizedString(@"lifelog.today.remaining.other", nil), numberTotal - self.running]; |
272 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), (int)(self.running*100/numberTotal), NSLocalizedString(@"lifelog.today.percent", nil)]; | 292 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), (int)(self.running*100/numberTotal), NSLocalizedString(@"lifelog.today.percent", nil)]; |
273 | break; | 293 | break; |
274 | 294 | ||
275 | default: | 295 | default: |
276 | break; | 296 | break; |
277 | } | 297 | } |
278 | // NSLog(@"Walking: %ld || Running: %ld || Bike: %ld", self.walking, self.running, self.bike); | 298 | // NSLog(@"Walking: %ld || Running: %ld || Bike: %ld", self.walking, self.running, self.bike); |
279 | // self.isRequesting = NO; | 299 | // self.isRequesting = NO; |
280 | self.countComplete = 0; | 300 | self.countComplete = 0; |
281 | self.totalRequest = 0; | 301 | self.totalRequest = 0; |
282 | [progressHud setHidden:YES]; | 302 | [progressHud setHidden:YES]; |
283 | } | 303 | } |
284 | } | 304 | } |
285 | 305 | ||
286 | @end | 306 | @end |
287 | 307 |
LifeLog/LifeLog/ServerAPI.h
1 | // | 1 | // |
2 | // ServerAPI.h | 2 | // ServerAPI.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/30/17. | 5 | // Created by Nguyen Van Phong on 7/30/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <Foundation/Foundation.h> | 9 | #import <Foundation/Foundation.h> |
10 | #import "Entities.h" | 10 | #import "Entities.h" |
11 | 11 | ||
12 | extern NSString *const kServerAddress; | 12 | extern NSString *const kServerAddress; |
13 | extern NSString *const kUser; | 13 | extern NSString *const kUser; |
14 | extern NSString *const kToken; | 14 | extern NSString *const kToken; |
15 | extern NSString *const kNotificationToken; | ||
15 | 16 | ||
16 | @interface ServerAPI : NSObject | 17 | @interface ServerAPI : NSObject |
17 | + (instancetype) server; | 18 | + (instancetype) server; |
18 | @property (nonatomic, assign) NSTimeInterval timeOutInterval; | 19 | @property (nonatomic, assign) NSTimeInterval timeOutInterval; |
20 | |||
21 | #pragma mark - Login and Register | ||
19 | - (void)loginWithEmail:(NSString *)email Password:(NSString *)password CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion; | 22 | - (void)loginWithEmail:(NSString *)email Password:(NSString *)password CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion; |
20 | - (void)registerUserWithParams:(NSDictionary *)params CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion; | 23 | - (void)registerUserWithParams:(NSDictionary *)params CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion; |
21 | - (void)uploadImage:(NSString *)token andImageData:(NSData *)data CompletionHandler:(void (^)(NSString *, NSError *)) completion; | 24 | - (void)uploadImage:(NSString *)token andImageData:(NSData *)data CompletionHandler:(void (^)(NSString *, NSError *)) completion; |
22 | - (void)forgetPass:(NSString *)email CompletionHandler:(void (^)(NSError *)) completion; | 25 | - (void)forgetPass:(NSString *)email CompletionHandler:(void (^)(NSError *)) completion; |
23 | - (void)confirmForgetPass:(NSString *)email withConfirm:(NSString *)confirm CompletionHandler:(void (^)(NSError *)) completion; | 26 | - (void)confirmForgetPass:(NSString *)email withConfirm:(NSString *)confirm CompletionHandler:(void (^)(NSError *)) completion; |
27 | |||
28 | #pragma mark - Home Screen Function | ||
29 | - (void)requestTopWithMode:(int)mode andDate:(NSString *)date CompletionHandler:(void (^)(TopObject *, NSError *)) completion; | ||
24 | 30 | ||
25 | #pragma mark - History Screen Function | 31 | #pragma mark - History Screen Function |
26 | - (void) requestHistory:(NSString *)token atDate:(NSDate *)date withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryObject *, NSError *)) completion; | 32 | - (void) requestHistory:(NSString *)token atDate:(NSDate *)date withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryObject *, NSError *)) completion; |
27 | - (void) requestHistoryGraph:(NSString *)token withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryGraphObject *, NSError *)) completion; | 33 | - (void) requestHistoryGraph:(NSString *)token withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryGraphObject *, NSError *)) completion; |
28 | - (void) requestHistoryList:(NSString *)token withType:(int)type andMode:(int) mode AtPage:(int) page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; | 34 | - (void) requestHistoryList:(NSString *)token withType:(int)type andMode:(int) mode AtPage:(int) page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; |
29 | 35 | ||
30 | #pragma mark - SNS Screen Function | 36 | #pragma mark - SNS Screen Function |
31 | /* | 37 | /* |
32 | Get tweet of group and get recent tweet is same API | 38 | Get tweet of group and get recent tweet is same API |
33 | If groupID equal -1, it will request recent tweet. Otherwise will request tweet of group | 39 | If groupID equal -1, it will request recent tweet. Otherwise will request tweet of group |
34 | */ | 40 | */ |
35 | - (void) requestTweetsList:(NSString *)token groupID: (int) groupID withPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; | 41 | - (void) requestTweetsList:(NSString *)token groupID: (int) groupID withPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; |
36 | - (void) searchGroup:(NSString *)token withKey:(NSString *)key andPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; | 42 | - (void) searchGroup:(NSString *)token withKey:(NSString *)key andPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; |
37 | @end | 43 | @end |
38 | 44 |
LifeLog/LifeLog/ServerAPI.m
1 | // | 1 | // |
2 | // ServerAPI.m | 2 | // ServerAPI.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/30/17. | 5 | // Created by Nguyen Van Phong on 7/30/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "ServerAPI.h" | 9 | #import "ServerAPI.h" |
10 | 10 | ||
11 | NSString *const kServerAddress = @"http://clover.timesfun.jp:9001/"; | 11 | NSString *const kServerAddress = @"http://clover.timesfun.jp:9001/"; |
12 | NSString *const kUser = @"KEY_USER"; | 12 | NSString *const kUser = @"KEY_USER"; |
13 | NSString *const kToken = @"KEY_TOKEN"; | 13 | NSString *const kToken = @"KEY_TOKEN"; |
14 | NSString *const kNotificationToken = @"TOKEN_INVALID"; | ||
14 | 15 | ||
15 | @implementation NSString (NSString_Extended) | 16 | @implementation NSString (NSString_Extended) |
16 | - (NSString *)urlencode { | 17 | - (NSString *)urlencode { |
17 | NSMutableString *output = [NSMutableString string]; | 18 | NSMutableString *output = [NSMutableString string]; |
18 | const unsigned char *source = (const unsigned char *)[self UTF8String]; | 19 | const unsigned char *source = (const unsigned char *)[self UTF8String]; |
19 | int sourceLen = (int)strlen((const char *)source); | 20 | int sourceLen = (int)strlen((const char *)source); |
20 | for (int i = 0; i < sourceLen; ++i) { | 21 | for (int i = 0; i < sourceLen; ++i) { |
21 | const unsigned char thisChar = source[i]; | 22 | const unsigned char thisChar = source[i]; |
22 | if (thisChar == ' '){ | 23 | if (thisChar == ' '){ |
23 | [output appendString:@"+"]; | 24 | [output appendString:@"+"]; |
24 | } else if (thisChar == '.' || thisChar == '-' || thisChar == '_' || thisChar == '~' || | 25 | } else if (thisChar == '.' || thisChar == '-' || thisChar == '_' || thisChar == '~' || |
25 | (thisChar >= 'a' && thisChar <= 'z') || | 26 | (thisChar >= 'a' && thisChar <= 'z') || |
26 | (thisChar >= 'A' && thisChar <= 'Z') || | 27 | (thisChar >= 'A' && thisChar <= 'Z') || |
27 | (thisChar >= '0' && thisChar <= '9')) { | 28 | (thisChar >= '0' && thisChar <= '9')) { |
28 | [output appendFormat:@"%c", thisChar]; | 29 | [output appendFormat:@"%c", thisChar]; |
29 | } else { | 30 | } else { |
30 | [output appendFormat:@"%%%02X", thisChar]; | 31 | [output appendFormat:@"%%%02X", thisChar]; |
31 | } | 32 | } |
32 | } | 33 | } |
33 | return output; | 34 | return output; |
34 | } | 35 | } |
35 | @end | 36 | @end |
36 | 37 | ||
37 | @implementation ServerAPI | 38 | @implementation ServerAPI |
38 | static ServerAPI *_server = nil; | 39 | static ServerAPI *_server = nil; |
39 | 40 | ||
40 | NSURLSessionDataTask * searchTask; | 41 | NSURLSessionDataTask * searchTask; |
41 | 42 | ||
42 | @synthesize timeOutInterval = _timeOutInterval; | 43 | @synthesize timeOutInterval = _timeOutInterval; |
43 | 44 | ||
44 | + (instancetype)server | 45 | + (instancetype)server |
45 | { | 46 | { |
46 | @synchronized(self) { | 47 | @synchronized(self) { |
47 | if (_server == nil) { | 48 | if (_server == nil) { |
48 | _server = [[ServerAPI alloc] init]; | 49 | _server = [[ServerAPI alloc] init]; |
49 | } | 50 | } |
50 | } | 51 | } |
51 | return _server; | 52 | return _server; |
52 | } | 53 | } |
53 | 54 | ||
54 | - (instancetype)init | 55 | - (instancetype)init |
55 | { | 56 | { |
56 | self = [super init]; | 57 | self = [super init]; |
57 | if (self != nil) { | 58 | if (self != nil) { |
58 | self.timeOutInterval = 150; | 59 | self.timeOutInterval = 150; |
59 | } | 60 | } |
60 | return self; | 61 | return self; |
61 | } | 62 | } |
62 | 63 | ||
64 | #pragma mark - Login and Register | ||
63 | // Login | 65 | // Login |
64 | - (void)loginWithEmail:(NSString *)email Password:(NSString *)password CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion | 66 | - (void)loginWithEmail:(NSString *)email Password:(NSString *)password CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion |
65 | { | 67 | { |
66 | [self _request:[kServerAddress stringByAppendingFormat: @"login"] method:@"POST" token:@"" paras:@{@"email":email, @"password": password} completion:^(NSData *data, NSError *error) { | 68 | [self _request:[kServerAddress stringByAppendingFormat: @"login"] method:@"POST" token:@"" paras:@{@"email":email, @"password": password} completion:^(NSData *data, NSError *error) { |
67 | 69 | ||
68 | if (completion == NULL) { | 70 | if (completion == NULL) { |
69 | return ; | 71 | return ; |
70 | } | 72 | } |
71 | 73 | ||
72 | if (error == nil) | 74 | if (error == nil) |
73 | { | 75 | { |
74 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 76 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
75 | 77 | ||
76 | int status = [dataResult[@"status"] intValue]; | 78 | int status = [dataResult[@"status"] intValue]; |
77 | if (status == 1) { // status = 1 success | 79 | if (status == 1) { // status = 1 success |
78 | NSString *token = dataResult[@"result"][@"token"]; | 80 | NSString *token = dataResult[@"result"][@"token"]; |
79 | NSDictionary *dictUser = dataResult[@"result"][@"user"]; | 81 | NSDictionary *dictUser = dataResult[@"result"][@"user"]; |
80 | User *user = [[User alloc] init]; | 82 | User *user = [[User alloc] init]; |
81 | user.user_id = [NSString stringWithFormat:@"%@",dictUser[@"id"]]; | 83 | user.user_id = [NSString stringWithFormat:@"%@",dictUser[@"id"]]; |
82 | user.username = [NSString stringWithFormat:@"%@",dictUser[@"username"]]; | 84 | user.username = [NSString stringWithFormat:@"%@",dictUser[@"username"]]; |
83 | user.full_name = [NSString stringWithFormat:@"%@",dictUser[@"full_name"]]; | 85 | user.full_name = [NSString stringWithFormat:@"%@",dictUser[@"full_name"]]; |
84 | user.nickname = [NSString stringWithFormat:@"%@",dictUser[@"nickname"]]; | 86 | user.nickname = [NSString stringWithFormat:@"%@",dictUser[@"nickname"]]; |
85 | user.email = [NSString stringWithFormat:@"%@",dictUser[@"email"]]; | 87 | user.email = [NSString stringWithFormat:@"%@",dictUser[@"email"]]; |
86 | user.password = [NSString stringWithFormat:@"%@",dictUser[@"password"]]; | 88 | user.password = [NSString stringWithFormat:@"%@",dictUser[@"password"]]; |
87 | user.birthday = [NSString stringWithFormat:@"%@",dictUser[@"birthday"]]; | 89 | user.birthday = [NSString stringWithFormat:@"%@",dictUser[@"birthday"]]; |
88 | user.address = [NSString stringWithFormat:@"%@",dictUser[@"address"]]; | 90 | user.address = [NSString stringWithFormat:@"%@",dictUser[@"address"]]; |
89 | user.gender = [[NSString stringWithFormat:@"%@",dictUser[@"gender"]] intValue]; | 91 | user.gender = [[NSString stringWithFormat:@"%@",dictUser[@"gender"]] intValue]; |
90 | user.height = [[NSString stringWithFormat:@"%@",dictUser[@"height"]] floatValue]; | 92 | user.height = [[NSString stringWithFormat:@"%@",dictUser[@"height"]] floatValue]; |
91 | user.weight = [[NSString stringWithFormat:@"%@",dictUser[@"weight"]] floatValue]; | 93 | user.weight = [[NSString stringWithFormat:@"%@",dictUser[@"weight"]] floatValue]; |
92 | user.user_description = [NSString stringWithFormat:@"%@",dictUser[@"description"]]; | 94 | user.user_description = [NSString stringWithFormat:@"%@",dictUser[@"description"]]; |
93 | user.created_at = [NSString stringWithFormat:@"%@",dictUser[@"created_at"]]; | 95 | user.created_at = [NSString stringWithFormat:@"%@",dictUser[@"created_at"]]; |
94 | user.physical_activity = [NSString stringWithFormat:@"%@",dictUser[@"physical_activity"]]; | 96 | user.physical_activity = [NSString stringWithFormat:@"%@",dictUser[@"physical_activity"]]; |
95 | user.profile_image = [NSString stringWithFormat:@"%@",dictUser[@"profile_image"]]; | 97 | user.profile_image = [NSString stringWithFormat:@"%@",dictUser[@"profile_image"]]; |
96 | user.updated_at = [NSString stringWithFormat:@"%@",dictUser[@"updated_at"]]; | 98 | user.updated_at = [NSString stringWithFormat:@"%@",dictUser[@"updated_at"]]; |
97 | user.delete_flag = [[NSString stringWithFormat:@"%@",dictUser[@"delete_flag"]] intValue]; | 99 | user.delete_flag = [[NSString stringWithFormat:@"%@",dictUser[@"delete_flag"]] intValue]; |
98 | user.fat_rate = [[NSString stringWithFormat:@"%@",dictUser[@"fat_rate"]] intValue]; | 100 | user.fat_rate = [[NSString stringWithFormat:@"%@",dictUser[@"fat_rate"]] intValue]; |
99 | user.profiles_share = [[NSString stringWithFormat:@"%@",dictUser[@"profiles_share"]] intValue]; | 101 | user.profiles_share = [[NSString stringWithFormat:@"%@",dictUser[@"profiles_share"]] intValue]; |
100 | user.remember_me = [[NSString stringWithFormat:@"%@",dictUser[@"remember_me"]] intValue]; | 102 | user.remember_me = [[NSString stringWithFormat:@"%@",dictUser[@"remember_me"]] intValue]; |
101 | user.sound_notifications_share = [[NSString stringWithFormat:@"%@",dictUser[@"sound_notifications_share"]] intValue]; | 103 | user.sound_notifications_share = [[NSString stringWithFormat:@"%@",dictUser[@"sound_notifications_share"]] intValue]; |
102 | user.spend_calo_in_day = [[NSString stringWithFormat:@"%@",dictUser[@"spend_calo_in_day"]] intValue]; | 104 | user.spend_calo_in_day = [[NSString stringWithFormat:@"%@",dictUser[@"spend_calo_in_day"]] intValue]; |
103 | user.target = [[NSString stringWithFormat:@"%@",dictUser[@"target"]] intValue]; | 105 | user.target = [[NSString stringWithFormat:@"%@",dictUser[@"target"]] intValue]; |
104 | completion(user, token, nil); | 106 | completion(user, token, nil); |
105 | } | 107 | } |
106 | else { // status = 0 error | 108 | else { // status = 0 error |
107 | NSString *message = dataResult[@"message"]; | 109 | NSString *message = dataResult[@"message"]; |
108 | if (message == nil) { | 110 | if (message == nil) { |
109 | message = @"Unknown error"; | 111 | message = @"Unknown error"; |
110 | } | 112 | } |
111 | NSError *loginFaild = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 113 | NSError *loginFaild = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
112 | completion(nil, nil, loginFaild); | 114 | completion(nil, nil, loginFaild); |
113 | } | 115 | } |
114 | } | 116 | } |
115 | else | 117 | else |
116 | { | 118 | { |
117 | completion(nil, nil, error); | 119 | completion(nil, nil, error); |
118 | } | 120 | } |
119 | }]; | 121 | }]; |
120 | } | 122 | } |
121 | 123 | ||
122 | // Register | 124 | // Register |
123 | - (void)registerUserWithParams:(NSDictionary *)params CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion { | 125 | - (void)registerUserWithParams:(NSDictionary *)params CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion { |
124 | [self _request:[kServerAddress stringByAppendingFormat: @"register"] method:@"POST" token:@"" paras:params completion:^(NSData *data, NSError *error) { | 126 | [self _request:[kServerAddress stringByAppendingFormat: @"register"] method:@"POST" token:@"" paras:params completion:^(NSData *data, NSError *error) { |
125 | 127 | ||
126 | if (completion == NULL) { | 128 | if (completion == NULL) { |
127 | return ; | 129 | return ; |
128 | } | 130 | } |
129 | 131 | ||
130 | if (error == nil) | 132 | if (error == nil) |
131 | { | 133 | { |
132 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 134 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
133 | 135 | ||
134 | int status = [dataResult[@"status"] intValue]; | 136 | int status = [dataResult[@"status"] intValue]; |
135 | if (status == 1) { // status = 1 success | 137 | if (status == 1) { // status = 1 success |
136 | NSString *token = dataResult[@"result"][@"token"]; | 138 | NSString *token = dataResult[@"result"][@"token"]; |
137 | NSDictionary *dictUser = dataResult[@"result"][@"user"]; | 139 | NSDictionary *dictUser = dataResult[@"result"][@"user"]; |
138 | User *user = [[User alloc] init]; | 140 | User *user = [[User alloc] init]; |
139 | user.user_id = [NSString stringWithFormat:@"%@",dictUser[@"id"]]; | 141 | user.user_id = [NSString stringWithFormat:@"%@",dictUser[@"id"]]; |
140 | user.username = [NSString stringWithFormat:@"%@",dictUser[@"username"]]; | 142 | user.username = [NSString stringWithFormat:@"%@",dictUser[@"username"]]; |
141 | user.full_name = [NSString stringWithFormat:@"%@",dictUser[@"full_name"]]; | 143 | user.full_name = [NSString stringWithFormat:@"%@",dictUser[@"full_name"]]; |
142 | user.nickname = [NSString stringWithFormat:@"%@",dictUser[@"nickname"]]; | 144 | user.nickname = [NSString stringWithFormat:@"%@",dictUser[@"nickname"]]; |
143 | user.email = [NSString stringWithFormat:@"%@",dictUser[@"email"]]; | 145 | user.email = [NSString stringWithFormat:@"%@",dictUser[@"email"]]; |
144 | user.password = [NSString stringWithFormat:@"%@",dictUser[@"password"]]; | 146 | user.password = [NSString stringWithFormat:@"%@",dictUser[@"password"]]; |
145 | user.birthday = [NSString stringWithFormat:@"%@",dictUser[@"birthday"]]; | 147 | user.birthday = [NSString stringWithFormat:@"%@",dictUser[@"birthday"]]; |
146 | user.address = [NSString stringWithFormat:@"%@",dictUser[@"address"]]; | 148 | user.address = [NSString stringWithFormat:@"%@",dictUser[@"address"]]; |
147 | user.gender = [[NSString stringWithFormat:@"%@",dictUser[@"gender"]] intValue]; | 149 | user.gender = [[NSString stringWithFormat:@"%@",dictUser[@"gender"]] intValue]; |
148 | user.height = [[NSString stringWithFormat:@"%@",dictUser[@"height"]] floatValue]; | 150 | user.height = [[NSString stringWithFormat:@"%@",dictUser[@"height"]] floatValue]; |
149 | user.weight = [[NSString stringWithFormat:@"%@",dictUser[@"weight"]] floatValue]; | 151 | user.weight = [[NSString stringWithFormat:@"%@",dictUser[@"weight"]] floatValue]; |
150 | user.user_description = [NSString stringWithFormat:@"%@",dictUser[@"description"]]; | 152 | user.user_description = [NSString stringWithFormat:@"%@",dictUser[@"description"]]; |
151 | user.created_at = [NSString stringWithFormat:@"%@",dictUser[@"created_at"]]; | 153 | user.created_at = [NSString stringWithFormat:@"%@",dictUser[@"created_at"]]; |
152 | user.physical_activity = [NSString stringWithFormat:@"%@",dictUser[@"physical_activity"]]; | 154 | user.physical_activity = [NSString stringWithFormat:@"%@",dictUser[@"physical_activity"]]; |
153 | user.profile_image = [NSString stringWithFormat:@"%@",dictUser[@"profile_image"]]; | 155 | user.profile_image = [NSString stringWithFormat:@"%@",dictUser[@"profile_image"]]; |
154 | user.updated_at = [NSString stringWithFormat:@"%@",dictUser[@"updated_at"]]; | 156 | user.updated_at = [NSString stringWithFormat:@"%@",dictUser[@"updated_at"]]; |
155 | user.delete_flag = [[NSString stringWithFormat:@"%@",dictUser[@"delete_flag"]] intValue]; | 157 | user.delete_flag = [[NSString stringWithFormat:@"%@",dictUser[@"delete_flag"]] intValue]; |
156 | user.fat_rate = [[NSString stringWithFormat:@"%@",dictUser[@"fat_rate"]] intValue]; | 158 | user.fat_rate = [[NSString stringWithFormat:@"%@",dictUser[@"fat_rate"]] intValue]; |
157 | user.profiles_share = [[NSString stringWithFormat:@"%@",dictUser[@"profiles_share"]] intValue]; | 159 | user.profiles_share = [[NSString stringWithFormat:@"%@",dictUser[@"profiles_share"]] intValue]; |
158 | user.remember_me = [[NSString stringWithFormat:@"%@",dictUser[@"remember_me"]] intValue]; | 160 | user.remember_me = [[NSString stringWithFormat:@"%@",dictUser[@"remember_me"]] intValue]; |
159 | user.sound_notifications_share = [[NSString stringWithFormat:@"%@",dictUser[@"sound_notifications_share"]] intValue]; | 161 | user.sound_notifications_share = [[NSString stringWithFormat:@"%@",dictUser[@"sound_notifications_share"]] intValue]; |
160 | user.spend_calo_in_day = [[NSString stringWithFormat:@"%@",dictUser[@"spend_calo_in_day"]] intValue]; | 162 | user.spend_calo_in_day = [[NSString stringWithFormat:@"%@",dictUser[@"spend_calo_in_day"]] intValue]; |
161 | user.target = [[NSString stringWithFormat:@"%@",dictUser[@"target"]] intValue]; | 163 | user.target = [[NSString stringWithFormat:@"%@",dictUser[@"target"]] intValue]; |
162 | completion(user, token, nil); | 164 | completion(user, token, nil); |
163 | } | 165 | } |
164 | else { // status = 0 error | 166 | else { // status = 0 error |
165 | NSString *message = dataResult[@"message"]; | 167 | NSString *message = dataResult[@"message"]; |
166 | if (message == nil) { | 168 | if (message == nil) { |
167 | message = @"Unknown error"; | 169 | message = @"Unknown error"; |
168 | } | 170 | } |
169 | NSError *loginFaild = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 171 | NSError *loginFaild = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
170 | completion(nil, nil, loginFaild); | 172 | completion(nil, nil, loginFaild); |
171 | } | 173 | } |
172 | } | 174 | } |
173 | else | 175 | else |
174 | { | 176 | { |
175 | completion(nil, nil, error); | 177 | completion(nil, nil, error); |
176 | } | 178 | } |
177 | }]; | 179 | }]; |
178 | } | 180 | } |
179 | 181 | ||
180 | - (void)forgetPass:(NSString *)email CompletionHandler:(void (^)(NSError *)) completion { | 182 | - (void)forgetPass:(NSString *)email CompletionHandler:(void (^)(NSError *)) completion { |
181 | [self _request:[kServerAddress stringByAppendingFormat: @"forgetPass"] method:@"POST" token:@"" paras:@{@"email":email} completion:^(NSData *data, NSError *error) { | 183 | [self _request:[kServerAddress stringByAppendingFormat: @"forgetPass"] method:@"POST" token:@"" paras:@{@"email":email} completion:^(NSData *data, NSError *error) { |
182 | 184 | ||
183 | if (completion == NULL) { | 185 | if (completion == NULL) { |
184 | return ; | 186 | return ; |
185 | } | 187 | } |
186 | 188 | ||
187 | if (error == nil) | 189 | if (error == nil) |
188 | { | 190 | { |
189 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 191 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
190 | 192 | ||
191 | int status = [dataResult[@"status"] intValue]; | 193 | int status = [dataResult[@"status"] intValue]; |
192 | if (status == 1) { // status = 1 success | 194 | if (status == 1) { // status = 1 success |
193 | completion(nil); | 195 | completion(nil); |
194 | } | 196 | } |
195 | else { // status = 0 error | 197 | else { // status = 0 error |
196 | NSString *message = dataResult[@"message"]; | 198 | NSString *message = dataResult[@"message"]; |
197 | if (message == nil) { | 199 | if (message == nil) { |
198 | message = @"Unknown error"; | 200 | message = @"Unknown error"; |
199 | } | 201 | } |
200 | NSError *forgetPass = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 202 | NSError *forgetPass = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
201 | completion(forgetPass); | 203 | completion(forgetPass); |
202 | } | 204 | } |
203 | } | 205 | } |
204 | else | 206 | else |
205 | { | 207 | { |
206 | completion(error); | 208 | completion(error); |
207 | } | 209 | } |
208 | }]; | 210 | }]; |
209 | } | 211 | } |
210 | - (void)confirmForgetPass:(NSString *)email withConfirm:(NSString *)confirm CompletionHandler:(void (^)(NSError *)) completion { | 212 | - (void)confirmForgetPass:(NSString *)email withConfirm:(NSString *)confirm CompletionHandler:(void (^)(NSError *)) completion { |
211 | [self _request:[kServerAddress stringByAppendingFormat: @"forgetPass/confirm"] method:@"POST" token:@"" paras:@{@"email":email, @"code_confirm": confirm} completion:^(NSData *data, NSError *error) { | 213 | [self _request:[kServerAddress stringByAppendingFormat: @"forgetPass/confirm"] method:@"POST" token:@"" paras:@{@"email":email, @"code_confirm": confirm} completion:^(NSData *data, NSError *error) { |
212 | 214 | ||
213 | if (completion == NULL) { | 215 | if (completion == NULL) { |
214 | return ; | 216 | return ; |
215 | } | 217 | } |
216 | 218 | ||
217 | if (error == nil) | 219 | if (error == nil) |
218 | { | 220 | { |
219 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 221 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
220 | 222 | ||
221 | int status = [dataResult[@"status"] intValue]; | 223 | int status = [dataResult[@"status"] intValue]; |
222 | if (status == 1) { // status = 1 success | 224 | if (status == 1) { // status = 1 success |
223 | completion(nil); | 225 | completion(nil); |
224 | } | 226 | } |
225 | else { // status = 0 error | 227 | else { // status = 0 error |
226 | NSString *message = dataResult[@"message"]; | 228 | NSString *message = dataResult[@"message"]; |
227 | NSError *confirmForgetPass = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 229 | NSError *confirmForgetPass = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
228 | completion(confirmForgetPass); | 230 | completion(confirmForgetPass); |
229 | } | 231 | } |
230 | } | 232 | } |
231 | else | 233 | else |
232 | { | 234 | { |
233 | completion(error); | 235 | completion(error); |
234 | } | 236 | } |
235 | }]; | 237 | }]; |
236 | } | 238 | } |
237 | 239 | ||
238 | - (void)uploadImage:(NSString *)token andImageData:(NSData *)data CompletionHandler:(void (^)(NSString *, NSError *)) completion { | 240 | - (void)uploadImage:(NSString *)token andImageData:(NSData *)data CompletionHandler:(void (^)(NSString *, NSError *)) completion { |
239 | NSDictionary *dict = nil; | 241 | NSDictionary *dict = nil; |
240 | NSString *base64Encoded = [data base64EncodedStringWithOptions:0]; | 242 | NSString *base64Encoded = [data base64EncodedStringWithOptions:0]; |
241 | if (token != nil) { | 243 | if (token != nil) { |
242 | dict = @{@"token":token, @"img": base64Encoded}; | 244 | dict = @{@"token":token, @"img": base64Encoded}; |
243 | } | 245 | } |
244 | else { | 246 | else { |
245 | dict = @{@"img": base64Encoded}; | 247 | dict = @{@"img": base64Encoded}; |
246 | } | 248 | } |
247 | [self _request:[kServerAddress stringByAppendingFormat: @"upload-image"] method:@"POST" token:token paras:dict completion:^(NSData *data, NSError *error) { | 249 | [self _request:[kServerAddress stringByAppendingFormat: @"upload-image"] method:@"POST" token:token paras:dict completion:^(NSData *data, NSError *error) { |
248 | 250 | ||
249 | if (completion == NULL) { | 251 | if (completion == NULL) { |
250 | return ; | 252 | return ; |
251 | } | 253 | } |
252 | 254 | ||
253 | if (error == nil) | 255 | if (error == nil) |
254 | { | 256 | { |
255 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 257 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
256 | NSString *image_profile = [NSString stringWithFormat:@"%@", dataResult[@"message"]]; | 258 | NSString *image_profile = [NSString stringWithFormat:@"%@", dataResult[@"message"]]; |
257 | completion(image_profile, nil); | 259 | completion(image_profile, nil); |
258 | } | 260 | } |
259 | else | 261 | else |
260 | { | 262 | { |
261 | completion(nil, error); | 263 | completion(nil, error); |
262 | } | 264 | } |
263 | }]; | 265 | }]; |
264 | } | 266 | } |
265 | 267 | ||
266 | -(NSString *) convertIntToString : (int) type { | 268 | -(NSString *) convertIntToString : (int) type { |
267 | switch (type) { | 269 | switch (type) { |
268 | case 1: | 270 | case 1: |
269 | return @"week"; | 271 | return @"week"; |
270 | break; | 272 | break; |
271 | case 2: | 273 | case 2: |
272 | return @"oneMonth"; | 274 | return @"oneMonth"; |
273 | break; | 275 | break; |
274 | case 3: | 276 | case 3: |
275 | return @"threeMonth"; | 277 | return @"threeMonth"; |
276 | break; | 278 | break; |
277 | case 4: | 279 | case 4: |
278 | return @"sixMonth"; | 280 | return @"sixMonth"; |
279 | break; | 281 | break; |
280 | default: | 282 | default: |
281 | return @"today"; | 283 | return @"today"; |
282 | break; | 284 | break; |
283 | } | 285 | } |
284 | } | 286 | } |
285 | 287 | ||
288 | #pragma mark - Home Screen Function | ||
289 | - (void)requestTopWithMode:(int)mode andDate:(NSString *)date CompletionHandler:(void (^)(TopObject *, NSError *)) completion | ||
290 | { | ||
291 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | ||
292 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/top/%d/%@", mode, date]; | ||
293 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { | ||
294 | |||
295 | if (completion == NULL) { | ||
296 | return ; | ||
297 | } | ||
298 | |||
299 | if (error == nil) | ||
300 | { | ||
301 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | ||
302 | int status = [dataResult[@"status"] intValue]; | ||
303 | if (status == 1) { // status = 1 success | ||
304 | if(dataResult[@"result"] != nil) { | ||
305 | NSDictionary * dictResult = dataResult[@"result"]; | ||
306 | TopObject *topObject = [[TopObject alloc] init]; | ||
307 | TargetInfor *targetInfor = [[TargetInfor alloc] initWithData:dictResult[@"targetInf"]]; | ||
308 | topObject.targetInfor = targetInfor; | ||
309 | topObject.kcal = [[NSString stringWithFormat:@"%@", dictResult[@"kcal"]] intValue]; | ||
310 | topObject.distance = [[NSString stringWithFormat:@"%@", dictResult[@"distance"]] floatValue]; | ||
311 | topObject.time = [NSString stringWithFormat:@"%@", dictResult[@"time"]]; | ||
312 | NSMutableArray *arrayStep = [[NSMutableArray alloc] init]; | ||
313 | NSArray *array = dictResult[@"dataChart"]; | ||
314 | for(NSDictionary *dict in array) { | ||
315 | StepObject *object = [[StepObject alloc] init]; | ||
316 | if([dict objectForKey:@"numStep"] != nil) { | ||
317 | object.step = [dict[@"numStep"] intValue]; | ||
318 | } | ||
319 | if([dict objectForKey:@"hour"] != nil) { | ||
320 | object.hour = [dict[@"hour"] intValue]; | ||
321 | } | ||
322 | switch (mode) { | ||
323 | case 1: | ||
324 | object.typeStep = @"walking"; | ||
325 | break; | ||
326 | case 2: | ||
327 | object.typeStep = @"running"; | ||
328 | break; | ||
329 | case 3: | ||
330 | object.typeStep = @"bike"; | ||
331 | break; | ||
332 | default: | ||
333 | break; | ||
334 | } | ||
335 | [arrayStep addObject:object]; | ||
336 | } | ||
337 | topObject.dataChart = [[NSMutableArray alloc] initWithArray:arrayStep]; | ||
338 | completion(topObject, nil); | ||
339 | } | ||
340 | else { | ||
341 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; | ||
342 | completion(nil, errorObject); | ||
343 | } | ||
344 | } | ||
345 | else { | ||
346 | NSString *message = dataResult[@"message"]; | ||
347 | if (message == nil) { | ||
348 | message = @"Unknown error"; | ||
349 | } | ||
350 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | ||
351 | completion(nil, errorObject); | ||
352 | [self checkToken:message]; | ||
353 | } | ||
354 | } | ||
355 | else | ||
356 | { | ||
357 | completion(nil, error); | ||
358 | } | ||
359 | }]; | ||
360 | } | ||
361 | |||
286 | #pragma mark - History Screen Function | 362 | #pragma mark - History Screen Function |
287 | - (void) requestHistory:(NSString *)token atDate:(NSDate *)date withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryObject *, NSError *)) completion { | 363 | - (void) requestHistory:(NSString *)token atDate:(NSDate *)date withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryObject *, NSError *)) completion { |
288 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/history/%@/%d", [self convertIntToString:type], mode]; | 364 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/history/%@/%d", [self convertIntToString:type], mode]; |
289 | NSLog(@"requestHistory link %@", url); | 365 | NSLog(@"requestHistory link %@", url); |
290 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { | 366 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { |
291 | 367 | ||
292 | if (completion == NULL) { | 368 | if (completion == NULL) { |
293 | return ; | 369 | return ; |
294 | } | 370 | } |
295 | 371 | ||
296 | if (error == nil) | 372 | if (error == nil) |
297 | { | 373 | { |
298 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 374 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
299 | NSLog(@"%@", dataResult); | 375 | NSLog(@"%@", dataResult); |
300 | int status = [dataResult[@"status"] intValue]; | 376 | int status = [dataResult[@"status"] intValue]; |
301 | if (status == 1) { // status = 1 success | 377 | if (status == 1) { // status = 1 success |
302 | HistoryObject * object = [[HistoryObject alloc] initWithData:dataResult[@"result"]]; | 378 | HistoryObject * object = [[HistoryObject alloc] initWithData:dataResult[@"result"]]; |
303 | completion(object, nil); | 379 | completion(object, nil); |
304 | } | 380 | } |
305 | else { | 381 | else { |
306 | NSString *message = dataResult[@"message"]; | 382 | NSString *message = dataResult[@"message"]; |
307 | if (message == nil) { | 383 | if (message == nil) { |
308 | message = @"Unknown error"; | 384 | message = @"Unknown error"; |
309 | } | 385 | } |
310 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 386 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
311 | completion(nil, errorObject); | 387 | completion(nil, errorObject); |
388 | [self checkToken:message]; | ||
312 | } | 389 | } |
313 | } | 390 | } |
314 | else | 391 | else |
315 | { | 392 | { |
316 | completion(nil, error); | 393 | completion(nil, error); |
317 | } | 394 | } |
318 | }]; | 395 | }]; |
319 | } | 396 | } |
320 | 397 | ||
321 | - (void) requestHistoryGraph:(NSString *)token withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryGraphObject *, NSError *)) completion { | 398 | - (void) requestHistoryGraph:(NSString *)token withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryGraphObject *, NSError *)) completion { |
322 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/history/graph/%@/%d", [self convertIntToString:type], mode]; | 399 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/history/graph/%@/%d", [self convertIntToString:type], mode]; |
323 | NSLog(@"requestHistoryGraph link %@", url); | 400 | NSLog(@"requestHistoryGraph link %@", url); |
324 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { | 401 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { |
325 | 402 | ||
326 | if (completion == NULL) { | 403 | if (completion == NULL) { |
327 | return ; | 404 | return ; |
328 | } | 405 | } |
329 | 406 | ||
330 | if (error == nil) | 407 | if (error == nil) |
331 | { | 408 | { |
332 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 409 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
333 | NSLog(@"%@", dataResult); | 410 | NSLog(@"%@", dataResult); |
334 | int status = [dataResult[@"status"] intValue]; | 411 | int status = [dataResult[@"status"] intValue]; |
335 | if (status == 1) { // status = 1 success | 412 | if (status == 1) { // status = 1 success |
336 | HistoryGraphObject * object = [[HistoryGraphObject alloc] initWithData:dataResult[@"result"]]; | 413 | HistoryGraphObject * object = [[HistoryGraphObject alloc] initWithData:dataResult[@"result"]]; |
337 | completion(object, nil); | 414 | completion(object, nil); |
338 | } | 415 | } |
339 | else { | 416 | else { |
340 | NSString *message = dataResult[@"message"]; | 417 | NSString *message = dataResult[@"message"]; |
341 | if (message == nil) { | 418 | if (message == nil) { |
342 | message = @"Unknown error"; | 419 | message = @"Unknown error"; |
343 | } | 420 | } |
344 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 421 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
345 | completion(nil, errorObject); | 422 | completion(nil, errorObject); |
423 | [self checkToken:message]; | ||
346 | } | 424 | } |
347 | } | 425 | } |
348 | else | 426 | else |
349 | { | 427 | { |
350 | completion(nil, error); | 428 | completion(nil, error); |
351 | } | 429 | } |
352 | }]; | 430 | }]; |
353 | } | 431 | } |
354 | 432 | ||
355 | - (void) requestHistoryList:(NSString *)token withType:(int)type andMode:(int) mode AtPage:(int) page CompletionHandler:(void (^)(NSArray *, NSError *)) completion { | 433 | - (void) requestHistoryList:(NSString *)token withType:(int)type andMode:(int) mode AtPage:(int) page CompletionHandler:(void (^)(NSArray *, NSError *)) completion { |
356 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/history/list/%@/%d?page=%d&record=50", [self convertIntToString:type], mode, page]; | 434 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/history/list/%@/%d?page=%d&record=50", [self convertIntToString:type], mode, page]; |
357 | NSLog(@"requestHistoryList link %@", url); | 435 | NSLog(@"requestHistoryList link %@", url); |
358 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { | 436 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { |
359 | 437 | ||
360 | if (completion == NULL) { | 438 | if (completion == NULL) { |
361 | return ; | 439 | return ; |
362 | } | 440 | } |
363 | 441 | ||
364 | if (error == nil) | 442 | if (error == nil) |
365 | { | 443 | { |
366 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 444 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
367 | NSLog(@"%@", dataResult); | 445 | NSLog(@"%@", dataResult); |
368 | int status = [dataResult[@"status"] intValue]; | 446 | int status = [dataResult[@"status"] intValue]; |
369 | if (status == 1) { // status = 1 success | 447 | if (status == 1) { // status = 1 success |
370 | if(dataResult[@"result"] != nil) { | 448 | if(dataResult[@"result"] != nil) { |
371 | NSArray * array = dataResult[@"result"][@"data"]; | 449 | NSArray * array = dataResult[@"result"][@"data"]; |
372 | NSMutableArray * arrayHistory = [[NSMutableArray alloc] init]; | 450 | NSMutableArray * arrayHistory = [[NSMutableArray alloc] init]; |
373 | for(NSDictionary * dict in array) { | 451 | for(NSDictionary * dict in array) { |
374 | HistoryObject * object = [[HistoryObject alloc] initWithData:dict]; | 452 | HistoryObject * object = [[HistoryObject alloc] initWithData:dict]; |
375 | [arrayHistory addObject:object]; | 453 | [arrayHistory addObject:object]; |
376 | } | 454 | } |
377 | completion(arrayHistory, nil); | 455 | completion(arrayHistory, nil); |
378 | } | 456 | } |
379 | else { | 457 | else { |
380 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; | 458 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; |
381 | completion(nil, errorObject); | 459 | completion(nil, errorObject); |
382 | } | 460 | } |
383 | } | 461 | } |
384 | else { | 462 | else { |
385 | NSString *message = dataResult[@"message"]; | 463 | NSString *message = dataResult[@"message"]; |
386 | if (message == nil) { | 464 | if (message == nil) { |
387 | message = @"Unknown error"; | 465 | message = @"Unknown error"; |
388 | } | 466 | } |
389 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 467 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
390 | completion(nil, errorObject); | 468 | completion(nil, errorObject); |
469 | [self checkToken:message]; | ||
391 | } | 470 | } |
392 | } | 471 | } |
393 | else | 472 | else |
394 | { | 473 | { |
395 | completion(nil, error); | 474 | completion(nil, error); |
396 | } | 475 | } |
397 | }]; | 476 | }]; |
398 | } | 477 | } |
399 | 478 | ||
400 | #pragma mark - SNS Screen Function | 479 | #pragma mark - SNS Screen Function |
401 | - (void) requestTweetsList:(NSString *)token groupID: (int) groupID withPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion { | 480 | - (void) requestTweetsList:(NSString *)token groupID: (int) groupID withPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion { |
402 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/sns/%d", page]; | 481 | NSString *url = [kServerAddress stringByAppendingFormat:@"/api/sns/%d", page]; |
403 | if(groupID > -1) { | 482 | if(groupID > -1) { |
404 | url = [kServerAddress stringByAppendingFormat:@"api/tweet/list?group_id=%d&page=%d&record=10", groupID, page]; | 483 | url = [kServerAddress stringByAppendingFormat:@"api/tweet/list?group_id=%d&page=%d&record=10", groupID, page]; |
405 | } | 484 | } |
406 | NSLog(@"requestTweetsList link %@", url); | 485 | NSLog(@"requestTweetsList link %@", url); |
407 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { | 486 | [self _request:url method:@"GET" token:token paras:nil completion:^(NSData *data, NSError *error) { |
408 | 487 | ||
409 | if (completion == NULL) { | 488 | if (completion == NULL) { |
410 | return ; | 489 | return ; |
411 | } | 490 | } |
412 | 491 | ||
413 | if (error == nil) | 492 | if (error == nil) |
414 | { | 493 | { |
415 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 494 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
416 | NSLog(@"%@", dataResult); | 495 | NSLog(@"%@", dataResult); |
417 | int status = [dataResult[@"status"] intValue]; | 496 | int status = [dataResult[@"status"] intValue]; |
418 | if (status == 1) { // status = 1 success | 497 | if (status == 1) { // status = 1 success |
419 | if(dataResult[@"result"] != nil) { | 498 | if(dataResult[@"result"] != nil) { |
420 | NSArray * array = dataResult[@"result"]; | 499 | NSArray * array = dataResult[@"result"]; |
421 | NSMutableArray * arrayTweets = [[NSMutableArray alloc] init]; | 500 | NSMutableArray * arrayTweets = [[NSMutableArray alloc] init]; |
422 | for(NSDictionary * dict in array) { | 501 | for(NSDictionary * dict in array) { |
423 | TweetObject * object = [[TweetObject alloc] initWithData:dict]; | 502 | TweetObject * object = [[TweetObject alloc] initWithData:dict]; |
424 | [arrayTweets addObject:object]; | 503 | [arrayTweets addObject:object]; |
425 | } | 504 | } |
426 | completion(arrayTweets, nil); | 505 | completion(arrayTweets, nil); |
427 | } | 506 | } |
428 | else { | 507 | else { |
429 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; | 508 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; |
430 | completion(nil, errorObject); | 509 | completion(nil, errorObject); |
431 | } | 510 | } |
432 | } | 511 | } |
433 | else { | 512 | else { |
434 | NSString *message = dataResult[@"message"]; | 513 | NSString *message = dataResult[@"message"]; |
435 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 514 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
436 | completion(nil, errorObject); | 515 | completion(nil, errorObject); |
516 | [self checkToken:message]; | ||
437 | } | 517 | } |
438 | } | 518 | } |
439 | else | 519 | else |
440 | { | 520 | { |
441 | completion(nil, error); | 521 | completion(nil, error); |
442 | } | 522 | } |
443 | }]; | 523 | }]; |
444 | } | 524 | } |
445 | 525 | ||
446 | - (void) searchGroup:(NSString *)token withKey:(NSString *)key andPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion { | 526 | - (void) searchGroup:(NSString *)token withKey:(NSString *)key andPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion { |
447 | NSString *url = [kServerAddress stringByAppendingFormat:@"api/sns/group/search"]; | 527 | NSString *url = [kServerAddress stringByAppendingFormat:@"api/sns/group/search"]; |
448 | NSLog(@"searchGroup link %@ page %d", url, page); | 528 | NSLog(@"searchGroup link %@ page %d", url, page); |
449 | if(searchTask != nil) { | 529 | if(searchTask != nil) { |
450 | [searchTask cancel]; | 530 | [searchTask cancel]; |
451 | } | 531 | } |
452 | 532 | ||
453 | searchTask = [self _request:url method:@"POST" token:token paras:@{@"keyword":key, @"page": [NSNumber numberWithInt:page]} completion:^(NSData *data, NSError *error) { | 533 | searchTask = [self _request:url method:@"POST" token:token paras:@{@"keyword":key, @"page": [NSNumber numberWithInt:page]} completion:^(NSData *data, NSError *error) { |
454 | searchTask = nil; | 534 | searchTask = nil; |
455 | if (completion == NULL) { | 535 | if (completion == NULL) { |
456 | return ; | 536 | return ; |
457 | } | 537 | } |
458 | 538 | ||
459 | if (error == nil) | 539 | if (error == nil) |
460 | { | 540 | { |
461 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; | 541 | NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error]; |
462 | NSLog(@"%@", dataResult); | 542 | NSLog(@"%@", dataResult); |
463 | int status = [dataResult[@"status"] intValue]; | 543 | int status = [dataResult[@"status"] intValue]; |
464 | if (status == 1) { // status = 1 success | 544 | if (status == 1) { // status = 1 success |
465 | if(dataResult[@"result"] != nil) { | 545 | if(dataResult[@"result"] != nil) { |
466 | NSArray * array = dataResult[@"result"]; | 546 | NSArray * array = dataResult[@"result"]; |
467 | NSMutableArray * arrayTweets = [[NSMutableArray alloc] init]; | 547 | NSMutableArray * arrayTweets = [[NSMutableArray alloc] init]; |
468 | for(NSDictionary * dict in array) { | 548 | for(NSDictionary * dict in array) { |
469 | GroupObject * object = [[GroupObject alloc] initWithData:dict]; | 549 | GroupObject * object = [[GroupObject alloc] initWithData:dict]; |
470 | [arrayTweets addObject:object]; | 550 | [arrayTweets addObject:object]; |
471 | } | 551 | } |
472 | completion(arrayTweets, nil); | 552 | completion(arrayTweets, nil); |
473 | } | 553 | } |
474 | else { | 554 | else { |
475 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; | 555 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Unknown Error"}]; |
476 | completion(nil, errorObject); | 556 | completion(nil, errorObject); |
477 | } | 557 | } |
478 | } | 558 | } |
479 | else { | 559 | else { |
480 | NSString *message = dataResult[@"message"]; | 560 | NSString *message = dataResult[@"message"]; |
481 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; | 561 | NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}]; |
482 | completion(nil, errorObject); | 562 | completion(nil, errorObject); |
483 | } | 563 | } |
484 | } | 564 | } |
485 | else | 565 | else |
486 | { | 566 | { |
487 | completion(nil, error); | 567 | completion(nil, error); |
488 | } | 568 | } |
489 | }]; | 569 | }]; |
490 | } | 570 | } |
491 | 571 | ||
492 | #pragma mark - Private Function | 572 | #pragma mark - Private Function |
573 | - (BOOL) checkToken:(NSString *)message { | ||
574 | if ([message isEqualToString:@"Token is invalid"]) { | ||
575 | [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationToken object:nil]; | ||
576 | return YES; | ||
577 | } | ||
578 | else { | ||
579 | return NO; | ||
580 | } | ||
581 | } | ||
493 | - (NSData *) _encodeDictionary: (NSDictionary *) dictionary | 582 | - (NSData *) _encodeDictionary: (NSDictionary *) dictionary |
494 | { | 583 | { |
495 | NSMutableArray *parts = [[NSMutableArray alloc] init]; | 584 | NSMutableArray *parts = [[NSMutableArray alloc] init]; |
496 | for (id key in dictionary) | 585 | for (id key in dictionary) |
497 | { | 586 | { |
498 | NSString *encodedValue = [[dictionary[key] description] urlencode]; | 587 | NSString *encodedValue = [[dictionary[key] description] urlencode]; |
499 | NSString *encodedKey = [[key description] urlencode];//[[key description] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; | 588 | NSString *encodedKey = [[key description] urlencode];//[[key description] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; |
500 | NSString *part = [NSString stringWithFormat: @"%@=%@", encodedKey, encodedValue]; | 589 | NSString *part = [NSString stringWithFormat: @"%@=%@", encodedKey, encodedValue]; |
501 | [parts addObject:part]; | 590 | [parts addObject:part]; |
502 | } | 591 | } |
503 | NSString *encodedDictionary = [parts componentsJoinedByString:@"&"]; | 592 | NSString *encodedDictionary = [parts componentsJoinedByString:@"&"]; |
504 | return [encodedDictionary dataUsingEncoding: NSUTF8StringEncoding]; | 593 | return [encodedDictionary dataUsingEncoding: NSUTF8StringEncoding]; |
505 | } | 594 | } |
506 | 595 | ||
507 | - (NSURLSessionDataTask *) _request:(NSString *)address method:(NSString *)method token:(NSString *) token paras:(NSDictionary *)paras completion:(void (^)(NSData *data, NSError *error))completion | 596 | - (NSURLSessionDataTask *) _request:(NSString *)address method:(NSString *)method token:(NSString *) token paras:(NSDictionary *)paras completion:(void (^)(NSData *data, NSError *error))completion |
508 | { | 597 | { |
509 | NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:address]]; | 598 | NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:address]]; |
510 | request.HTTPMethod = method; | 599 | request.HTTPMethod = method; |
511 | [request setValue: @"application/json" forHTTPHeaderField: @"Accept"]; | 600 | [request setValue: @"application/json" forHTTPHeaderField: @"Accept"]; |
512 | [request setValue: @"application/json" forHTTPHeaderField: @"Content-Type"]; | 601 | [request setValue: @"application/json" forHTTPHeaderField: @"Content-Type"]; |
513 | if(token != nil && ![token isEqual: @""]) { | 602 | if(token != nil && ![token isEqual: @""]) { |
514 | [request setValue: token forHTTPHeaderField: @"token"]; | 603 | [request setValue: token forHTTPHeaderField: @"token"]; |
515 | } | 604 | } |
516 | [request setTimeoutInterval:self.timeOutInterval]; | 605 | [request setTimeoutInterval:self.timeOutInterval]; |
517 | 606 | ||
518 | if (paras != nil) | 607 | if (paras != nil) |
519 | { | 608 | { |
520 | NSData *encodedData = [self _encodeDictionary: paras]; | 609 | NSData *encodedData = [self _encodeDictionary: paras]; |
521 | [request setValue: [NSString stringWithFormat: @"%lu", (unsigned long) encodedData.length] forHTTPHeaderField: @"Content-Length"]; | 610 | [request setValue: [NSString stringWithFormat: @"%lu", (unsigned long) encodedData.length] forHTTPHeaderField: @"Content-Length"]; |
522 | [request setValue: @"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField: @"Content-Type"]; | 611 | [request setValue: @"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField: @"Content-Type"]; |
523 | [request setHTTPBody: encodedData]; | 612 | [request setHTTPBody: encodedData]; |
524 | } | 613 | } |
525 | 614 | ||
526 | NSURLSession *session = [NSURLSession sharedSession]; | 615 | NSURLSession *session = [NSURLSession sharedSession]; |
527 | NSURLSessionDataTask *task = [session dataTaskWithRequest:request | 616 | NSURLSessionDataTask *task = [session dataTaskWithRequest:request |
528 | completionHandler: | 617 | completionHandler: |
529 | ^(NSData *data, NSURLResponse *response, NSError *error) { | 618 | ^(NSData *data, NSURLResponse *response, NSError *error) { |
530 | if (completion == NULL) { | 619 | if (completion == NULL) { |
531 | return ; | 620 | return ; |
532 | } | 621 | } |
533 | if (error == nil) | 622 | if (error == nil) |
534 | { | 623 | { |
535 | completion(data, nil); | 624 | completion(data, nil); |
536 | } | 625 | } |
537 | else | 626 | else |
538 | { | 627 | { |
539 | completion(nil, error); | 628 | completion(nil, error); |
540 | } | 629 | } |
541 | }]; | 630 | }]; |
542 | [task resume]; | 631 | [task resume]; |
543 | return task; | 632 | return task; |
544 | } | 633 | } |
545 | 634 | ||
546 | @end | 635 | @end |
547 | 636 |
LifeLog/LifeLog/StepObject.h
File was created | 1 | // | |
2 | // StepObject.h | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 8/11/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import <Foundation/Foundation.h> | ||
10 | |||
11 | @interface StepObject : NSObject | ||
12 | @property (nonatomic) int step; | ||
13 | @property (nonatomic, strong) NSString *typeStep; | ||
14 | @property (nonatomic) int hour; | ||
15 | @end | ||
16 |
LifeLog/LifeLog/StepObject.m
File was created | 1 | // | |
2 | // StepObject.m | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 8/11/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import "StepObject.h" | ||
10 | |||
11 | @implementation StepObject | ||
12 | |||
13 | @end | ||
14 |
LifeLog/LifeLog/TargetInfor.h
File was created | 1 | // | |
2 | // TargetInfor.h | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 8/13/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import <Foundation/Foundation.h> | ||
10 | |||
11 | @interface TargetInfor : NSObject | ||
12 | @property (nonatomic) int target_step; | ||
13 | @property (nonatomic) int num_step; | ||
14 | @property (nonatomic) int remaining_step; | ||
15 | @property (nonatomic) float complete_percent; | ||
16 | -(id) initWithData : (NSDictionary *) dict; | ||
17 | @end | ||
18 |
LifeLog/LifeLog/TargetInfor.m
File was created | 1 | // | |
2 | // TargetInfor.m | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 8/13/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import "TargetInfor.h" | ||
10 | |||
11 | @implementation TargetInfor | ||
12 | -(id) initWithData : (NSDictionary *) dict { | ||
13 | if([dict objectForKey:@"target_step"] != nil) { | ||
14 | self.target_step = [dict[@"target_step"] intValue]; | ||
15 | } | ||
16 | if([dict objectForKey:@"num_step"] != nil) { | ||
17 | self.num_step = [dict[@"num_step"] intValue]; | ||
18 | } | ||
19 | if([dict objectForKey:@"remaining_step"] != nil) { | ||
20 | self.remaining_step = [dict[@"remaining_step"] intValue]; | ||
21 | } | ||
22 | if([dict objectForKey:@"complete_percent"] != nil) { | ||
23 | self.complete_percent = [dict[@"complete_percent"] floatValue]; | ||
24 | } | ||
25 | return self; | ||
26 | } | ||
27 | @end | ||
28 |
LifeLog/LifeLog/TopObject.h
File was created | 1 | // | |
2 | // TopObject.h | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 8/13/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import <Foundation/Foundation.h> | ||
10 | #import "StepObject.h" | ||
11 | #import "TargetInfor.h" | ||
12 | |||
13 | @interface TopObject : NSObject | ||
14 | @property (nonatomic) int kcal; | ||
15 | @property (nonatomic) float distance; | ||
16 | @property (nonatomic, strong) NSString *time; | ||
17 | @property (nonatomic, strong) TargetInfor *targetInfor; | ||
18 | @property (nonatomic, strong) NSMutableArray *dataChart; | ||
19 | @end | ||
20 |
LifeLog/LifeLog/TopObject.m
File was created | 1 | // | |
2 | // TopObject.m | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 8/13/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import "TopObject.h" | ||
10 | |||
11 | @implementation TopObject | ||
12 | |||
13 | @end | ||
14 |