Commit 9e6f8831480ca136de80b4fc82d788ab23380431

Authored by nvtu11790@gmail.com
1 parent 7aa2027583

Refactor and merge logic when request data for tableView in History screen, SNS …

…main screen. Add refresh control, load more action

Showing 10 changed files with 206 additions and 145 deletions Inline Diff

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 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */; }; 38 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 */; }; 39 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BED1F2C2FB800765ACC /* Utilities.m */; };
40 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */; }; 40 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */; };
41 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6EF163091F29069300DA306C /* Localizable.strings */; }; 41 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6EF163091F29069300DA306C /* Localizable.strings */; };
42 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */; }; 42 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */; };
43 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */; }; 43 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */; };
44 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; }; 44 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; };
45 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; }; 45 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; };
46 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; }; 46 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; };
47 E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; }; 47 E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; };
48 E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; }; 48 E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; };
49 E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E4C1F361A230059355A /* HistoryGraphObject.m */; }; 49 E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E4C1F361A230059355A /* HistoryGraphObject.m */; };
50 E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */; }; 50 E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */; };
51 E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */; }; 51 E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */; };
52 E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E96855091F3C444900317CEF /* AutoTransButton.m */; }; 52 E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E96855091F3C444900317CEF /* AutoTransButton.m */; };
53 E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */; }; 53 E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */; };
54 E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */; }; 54 E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */; };
55 E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E997E0251F3AB66500709FB1 /* Social.framework */; }; 55 E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E997E0251F3AB66500709FB1 /* Social.framework */; };
56 E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; }; 56 E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; };
57 E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; }; 57 E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; };
58 E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; }; 58 E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; };
59 E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */; }; 59 E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */; };
60 E9D909211F3D559D004CF99F /* TweetObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909201F3D559D004CF99F /* TweetObject.m */; }; 60 E9D909211F3D559D004CF99F /* TweetObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909201F3D559D004CF99F /* TweetObject.m */; };
61 E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */; };
61 E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */; }; 62 E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */; };
62 E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */; }; 63 E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */; };
63 /* End PBXBuildFile section */ 64 /* End PBXBuildFile section */
64 65
65 /* Begin PBXContainerItemProxy section */ 66 /* Begin PBXContainerItemProxy section */
66 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */ = { 67 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */ = {
67 isa = PBXContainerItemProxy; 68 isa = PBXContainerItemProxy;
68 containerPortal = 6E84E3691F27A700001EB88E /* Project object */; 69 containerPortal = 6E84E3691F27A700001EB88E /* Project object */;
69 proxyType = 1; 70 proxyType = 1;
70 remoteGlobalIDString = 6E84E3701F27A700001EB88E; 71 remoteGlobalIDString = 6E84E3701F27A700001EB88E;
71 remoteInfo = LifeLog; 72 remoteInfo = LifeLog;
72 }; 73 };
73 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */ = { 74 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */ = {
74 isa = PBXContainerItemProxy; 75 isa = PBXContainerItemProxy;
75 containerPortal = 6E84E3691F27A700001EB88E /* Project object */; 76 containerPortal = 6E84E3691F27A700001EB88E /* Project object */;
76 proxyType = 1; 77 proxyType = 1;
77 remoteGlobalIDString = 6E84E3701F27A700001EB88E; 78 remoteGlobalIDString = 6E84E3701F27A700001EB88E;
78 remoteInfo = LifeLog; 79 remoteInfo = LifeLog;
79 }; 80 };
80 /* End PBXContainerItemProxy section */ 81 /* End PBXContainerItemProxy section */
81 82
82 /* Begin PBXFileReference section */ 83 /* Begin PBXFileReference section */
83 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>"; }; 84 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>"; };
84 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LifeLog.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 85 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LifeLog.framework; sourceTree = BUILT_PRODUCTS_DIR; };
85 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>"; }; 86 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>"; };
86 6E18CED01F2E39DB0029891F /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; }; 87 6E18CED01F2E39DB0029891F /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; };
87 6E18CED11F2E39DB0029891F /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; }; 88 6E18CED11F2E39DB0029891F /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; };
88 6E18CED21F2E39DB0029891F /* LoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginViewController.xib; sourceTree = "<group>"; }; 89 6E18CED21F2E39DB0029891F /* LoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginViewController.xib; sourceTree = "<group>"; };
89 6E18CED61F2E3C840029891F /* ServerAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerAPI.h; sourceTree = "<group>"; }; 90 6E18CED61F2E3C840029891F /* ServerAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerAPI.h; sourceTree = "<group>"; };
90 6E18CED71F2E3C840029891F /* ServerAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerAPI.m; sourceTree = "<group>"; }; 91 6E18CED71F2E3C840029891F /* ServerAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerAPI.m; sourceTree = "<group>"; };
91 6E18CEDA1F2E40F50029891F /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = "<group>"; }; 92 6E18CEDA1F2E40F50029891F /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = "<group>"; };
92 6E18CEDB1F2E40F50029891F /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = "<group>"; }; 93 6E18CEDB1F2E40F50029891F /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = "<group>"; };
93 6E18CEDD1F2E46570029891F /* Entities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Entities.h; sourceTree = "<group>"; }; 94 6E18CEDD1F2E46570029891F /* Entities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Entities.h; sourceTree = "<group>"; };
94 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomTextField.h; sourceTree = "<group>"; }; 95 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomTextField.h; sourceTree = "<group>"; };
95 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomTextField.m; sourceTree = "<group>"; }; 96 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomTextField.m; sourceTree = "<group>"; };
96 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; }; 97 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; };
97 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; }; 98 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; };
98 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; }; 99 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; };
99 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; }; 100 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; };
100 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; }; 101 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; };
101 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; }; 102 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; };
102 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; }; 103 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; };
103 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; }; 104 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; };
104 6E84E3711F27A700001EB88E /* LifeLog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LifeLog.app; sourceTree = BUILT_PRODUCTS_DIR; }; 105 6E84E3711F27A700001EB88E /* LifeLog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LifeLog.app; sourceTree = BUILT_PRODUCTS_DIR; };
105 6E84E3751F27A701001EB88E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; 106 6E84E3751F27A701001EB88E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
106 6E84E3771F27A701001EB88E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; 107 6E84E3771F27A701001EB88E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
107 6E84E3781F27A701001EB88E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; 108 6E84E3781F27A701001EB88E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
108 6E84E3801F27A701001EB88E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 109 6E84E3801F27A701001EB88E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
109 6E84E3831F27A701001EB88E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; 110 6E84E3831F27A701001EB88E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
110 6E84E3851F27A701001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 111 6E84E3851F27A701001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
111 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 112 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
112 6E84E38E1F27A703001EB88E /* LifeLogTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogTests.m; sourceTree = "<group>"; }; 113 6E84E38E1F27A703001EB88E /* LifeLogTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogTests.m; sourceTree = "<group>"; };
113 6E84E3901F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 114 6E84E3901F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
114 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 115 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
115 6E84E3991F27A703001EB88E /* LifeLogUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogUITests.m; sourceTree = "<group>"; }; 116 6E84E3991F27A703001EB88E /* LifeLogUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogUITests.m; sourceTree = "<group>"; };
116 6E84E39B1F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 117 6E84E39B1F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
117 6E84E3AD1F27A975001EB88E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; }; 118 6E84E3AD1F27A975001EB88E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
118 6E84E3AE1F27A975001EB88E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; }; 119 6E84E3AE1F27A975001EB88E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
119 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; }; 120 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; };
120 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryViewController.h; sourceTree = "<group>"; }; 121 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryViewController.h; sourceTree = "<group>"; };
121 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryViewController.m; sourceTree = "<group>"; }; 122 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryViewController.m; sourceTree = "<group>"; };
122 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryViewController.xib; sourceTree = "<group>"; }; 123 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryViewController.xib; sourceTree = "<group>"; };
123 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingViewController.h; sourceTree = "<group>"; }; 124 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingViewController.h; sourceTree = "<group>"; };
124 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingViewController.m; sourceTree = "<group>"; }; 125 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingViewController.m; sourceTree = "<group>"; };
125 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingViewController.xib; sourceTree = "<group>"; }; 126 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingViewController.xib; sourceTree = "<group>"; };
126 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSViewController.h; sourceTree = "<group>"; }; 127 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSViewController.h; sourceTree = "<group>"; };
127 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSViewController.m; sourceTree = "<group>"; }; 128 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSViewController.m; sourceTree = "<group>"; };
128 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSViewController.xib; sourceTree = "<group>"; }; 129 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSViewController.xib; sourceTree = "<group>"; };
129 6E84E3C21F27ACAE001EB88E /* MapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewController.h; sourceTree = "<group>"; }; 130 6E84E3C21F27ACAE001EB88E /* MapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewController.h; sourceTree = "<group>"; };
130 6E84E3C31F27ACAE001EB88E /* MapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewController.m; sourceTree = "<group>"; }; 131 6E84E3C31F27ACAE001EB88E /* MapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewController.m; sourceTree = "<group>"; };
131 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; }; 132 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; };
132 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TodayViewController.h; sourceTree = "<group>"; }; 133 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TodayViewController.h; sourceTree = "<group>"; };
133 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TodayViewController.m; sourceTree = "<group>"; }; 134 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TodayViewController.m; sourceTree = "<group>"; };
134 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TodayViewController.xib; sourceTree = "<group>"; }; 135 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TodayViewController.xib; sourceTree = "<group>"; };
135 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+helper.h"; sourceTree = "<group>"; }; 136 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+helper.h"; sourceTree = "<group>"; };
136 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+helper.m"; sourceTree = "<group>"; }; 137 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+helper.m"; sourceTree = "<group>"; };
137 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = "<group>"; }; 138 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = "<group>"; };
138 6EDC8BED1F2C2FB800765ACC /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = "<group>"; }; 139 6EDC8BED1F2C2FB800765ACC /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = "<group>"; };
139 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMMotionActivityExtra.h; sourceTree = "<group>"; }; 140 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMMotionActivityExtra.h; sourceTree = "<group>"; };
140 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CMMotionActivityExtra.m; sourceTree = "<group>"; }; 141 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CMMotionActivityExtra.m; sourceTree = "<group>"; };
141 6EF163091F29069300DA306C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; 142 6EF163091F29069300DA306C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; };
142 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfirmForgetPassViewController.h; sourceTree = "<group>"; }; 143 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfirmForgetPassViewController.h; sourceTree = "<group>"; };
143 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfirmForgetPassViewController.m; sourceTree = "<group>"; }; 144 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfirmForgetPassViewController.m; sourceTree = "<group>"; };
144 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfirmForgetPassViewController.xib; sourceTree = "<group>"; }; 145 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfirmForgetPassViewController.xib; sourceTree = "<group>"; };
145 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; }; 146 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; };
146 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; }; 147 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; };
147 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = "<group>"; }; 148 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = "<group>"; };
148 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = "<group>"; }; 149 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = "<group>"; };
149 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = "<group>"; }; 150 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = "<group>"; };
150 E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = "<group>"; }; 151 E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = "<group>"; };
151 E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = "<group>"; }; 152 E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = "<group>"; };
152 E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = "<group>"; }; 153 E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = "<group>"; };
153 E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = "<group>"; }; 154 E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = "<group>"; };
154 E9373E4B1F361A230059355A /* HistoryGraphObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryGraphObject.h; sourceTree = "<group>"; }; 155 E9373E4B1F361A230059355A /* HistoryGraphObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryGraphObject.h; sourceTree = "<group>"; };
155 E9373E4C1F361A230059355A /* HistoryGraphObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryGraphObject.m; sourceTree = "<group>"; }; 156 E9373E4C1F361A230059355A /* HistoryGraphObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryGraphObject.m; sourceTree = "<group>"; };
156 E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingTableViewCell.h; sourceTree = "<group>"; }; 157 E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingTableViewCell.h; sourceTree = "<group>"; };
157 E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingTableViewCell.m; sourceTree = "<group>"; }; 158 E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingTableViewCell.m; sourceTree = "<group>"; };
158 E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingTableViewCell.xib; sourceTree = "<group>"; }; 159 E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingTableViewCell.xib; sourceTree = "<group>"; };
159 E96855081F3C444900317CEF /* AutoTransButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransButton.h; sourceTree = "<group>"; }; 160 E96855081F3C444900317CEF /* AutoTransButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransButton.h; sourceTree = "<group>"; };
160 E96855091F3C444900317CEF /* AutoTransButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransButton.m; sourceTree = "<group>"; }; 161 E96855091F3C444900317CEF /* AutoTransButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransButton.m; sourceTree = "<group>"; };
161 E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSRecentTopicTableViewCell.h; sourceTree = "<group>"; }; 162 E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSRecentTopicTableViewCell.h; sourceTree = "<group>"; };
162 E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSRecentTopicTableViewCell.m; sourceTree = "<group>"; }; 163 E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSRecentTopicTableViewCell.m; sourceTree = "<group>"; };
163 E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSRecentTopicTableViewCell.xib; sourceTree = "<group>"; }; 164 E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSRecentTopicTableViewCell.xib; sourceTree = "<group>"; };
164 E997E0251F3AB66500709FB1 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; 165 E997E0251F3AB66500709FB1 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
165 E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = "<group>"; }; 166 E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = "<group>"; };
166 E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = "<group>"; }; 167 E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = "<group>"; };
167 E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = "<group>"; }; 168 E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = "<group>"; };
168 E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelCollectionViewCell.h; sourceTree = "<group>"; }; 169 E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelCollectionViewCell.h; sourceTree = "<group>"; };
169 E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LabelCollectionViewCell.m; sourceTree = "<group>"; }; 170 E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LabelCollectionViewCell.m; sourceTree = "<group>"; };
170 E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LabelCollectionViewCell.xib; sourceTree = "<group>"; }; 171 E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LabelCollectionViewCell.xib; sourceTree = "<group>"; };
171 E9D9091F1F3D559D004CF99F /* TweetObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TweetObject.h; sourceTree = "<group>"; }; 172 E9D9091F1F3D559D004CF99F /* TweetObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TweetObject.h; sourceTree = "<group>"; };
172 E9D909201F3D559D004CF99F /* TweetObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TweetObject.m; sourceTree = "<group>"; }; 173 E9D909201F3D559D004CF99F /* TweetObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TweetObject.m; sourceTree = "<group>"; };
174 E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTableViewController.h; sourceTree = "<group>"; };
175 E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTableViewController.m; sourceTree = "<group>"; };
173 E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableViewCell.h; sourceTree = "<group>"; }; 176 E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableViewCell.h; sourceTree = "<group>"; };
174 E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryListTableViewCell.m; sourceTree = "<group>"; }; 177 E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryListTableViewCell.m; sourceTree = "<group>"; };
175 E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryListTableViewCell.xib; sourceTree = "<group>"; }; 178 E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryListTableViewCell.xib; sourceTree = "<group>"; };
176 /* End PBXFileReference section */ 179 /* End PBXFileReference section */
177 180
178 /* Begin PBXFrameworksBuildPhase section */ 181 /* Begin PBXFrameworksBuildPhase section */
179 6E84E36E1F27A700001EB88E /* Frameworks */ = { 182 6E84E36E1F27A700001EB88E /* Frameworks */ = {
180 isa = PBXFrameworksBuildPhase; 183 isa = PBXFrameworksBuildPhase;
181 buildActionMask = 2147483647; 184 buildActionMask = 2147483647;
182 files = ( 185 files = (
183 E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */, 186 E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */,
184 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */, 187 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */,
185 ); 188 );
186 runOnlyForDeploymentPostprocessing = 0; 189 runOnlyForDeploymentPostprocessing = 0;
187 }; 190 };
188 6E84E3871F27A703001EB88E /* Frameworks */ = { 191 6E84E3871F27A703001EB88E /* Frameworks */ = {
189 isa = PBXFrameworksBuildPhase; 192 isa = PBXFrameworksBuildPhase;
190 buildActionMask = 2147483647; 193 buildActionMask = 2147483647;
191 files = ( 194 files = (
192 ); 195 );
193 runOnlyForDeploymentPostprocessing = 0; 196 runOnlyForDeploymentPostprocessing = 0;
194 }; 197 };
195 6E84E3921F27A703001EB88E /* Frameworks */ = { 198 6E84E3921F27A703001EB88E /* Frameworks */ = {
196 isa = PBXFrameworksBuildPhase; 199 isa = PBXFrameworksBuildPhase;
197 buildActionMask = 2147483647; 200 buildActionMask = 2147483647;
198 files = ( 201 files = (
199 ); 202 );
200 runOnlyForDeploymentPostprocessing = 0; 203 runOnlyForDeploymentPostprocessing = 0;
201 }; 204 };
202 /* End PBXFrameworksBuildPhase section */ 205 /* End PBXFrameworksBuildPhase section */
203 206
204 /* Begin PBXGroup section */ 207 /* Begin PBXGroup section */
205 020C1721B642EF36F31E1BB4 /* Frameworks */ = { 208 020C1721B642EF36F31E1BB4 /* Frameworks */ = {
206 isa = PBXGroup; 209 isa = PBXGroup;
207 children = ( 210 children = (
208 E997E0251F3AB66500709FB1 /* Social.framework */, 211 E997E0251F3AB66500709FB1 /* Social.framework */,
209 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */, 212 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */,
210 ); 213 );
211 name = Frameworks; 214 name = Frameworks;
212 sourceTree = "<group>"; 215 sourceTree = "<group>";
213 }; 216 };
214 6E18CECF1F2E398C0029891F /* Login */ = { 217 6E18CECF1F2E398C0029891F /* Login */ = {
215 isa = PBXGroup; 218 isa = PBXGroup;
216 children = ( 219 children = (
217 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */, 220 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */,
218 6E18CED01F2E39DB0029891F /* LoginViewController.h */, 221 6E18CED01F2E39DB0029891F /* LoginViewController.h */,
219 6E18CED11F2E39DB0029891F /* LoginViewController.m */, 222 6E18CED11F2E39DB0029891F /* LoginViewController.m */,
220 6E18CED21F2E39DB0029891F /* LoginViewController.xib */, 223 6E18CED21F2E39DB0029891F /* LoginViewController.xib */,
221 ); 224 );
222 name = Login; 225 name = Login;
223 sourceTree = "<group>"; 226 sourceTree = "<group>";
224 }; 227 };
225 6E18CED51F2E3C0E0029891F /* ServerAPI */ = { 228 6E18CED51F2E3C0E0029891F /* ServerAPI */ = {
226 isa = PBXGroup; 229 isa = PBXGroup;
227 children = ( 230 children = (
228 6E18CED61F2E3C840029891F /* ServerAPI.h */, 231 6E18CED61F2E3C840029891F /* ServerAPI.h */,
229 6E18CED71F2E3C840029891F /* ServerAPI.m */, 232 6E18CED71F2E3C840029891F /* ServerAPI.m */,
230 ); 233 );
231 name = ServerAPI; 234 name = ServerAPI;
232 sourceTree = "<group>"; 235 sourceTree = "<group>";
233 }; 236 };
234 6E18CED91F2E40AE0029891F /* Model */ = { 237 6E18CED91F2E40AE0029891F /* Model */ = {
235 isa = PBXGroup; 238 isa = PBXGroup;
236 children = ( 239 children = (
237 6E18CEDA1F2E40F50029891F /* User.h */, 240 6E18CEDA1F2E40F50029891F /* User.h */,
238 6E18CEDB1F2E40F50029891F /* User.m */, 241 6E18CEDB1F2E40F50029891F /* User.m */,
239 6E18CEDD1F2E46570029891F /* Entities.h */, 242 6E18CEDD1F2E46570029891F /* Entities.h */,
240 E9373E481F35AA180059355A /* HistoryObject.h */, 243 E9373E481F35AA180059355A /* HistoryObject.h */,
241 E9373E491F35AA180059355A /* HistoryObject.m */, 244 E9373E491F35AA180059355A /* HistoryObject.m */,
242 E9373E4B1F361A230059355A /* HistoryGraphObject.h */, 245 E9373E4B1F361A230059355A /* HistoryGraphObject.h */,
243 E9373E4C1F361A230059355A /* HistoryGraphObject.m */, 246 E9373E4C1F361A230059355A /* HistoryGraphObject.m */,
244 E9D9091F1F3D559D004CF99F /* TweetObject.h */, 247 E9D9091F1F3D559D004CF99F /* TweetObject.h */,
245 E9D909201F3D559D004CF99F /* TweetObject.m */, 248 E9D909201F3D559D004CF99F /* TweetObject.m */,
246 ); 249 );
247 name = Model; 250 name = Model;
248 sourceTree = "<group>"; 251 sourceTree = "<group>";
249 }; 252 };
250 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */ = { 253 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */ = {
251 isa = PBXGroup; 254 isa = PBXGroup;
252 children = ( 255 children = (
253 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */, 256 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */,
254 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */, 257 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */,
255 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */, 258 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */,
256 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */, 259 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */,
257 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */, 260 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */,
258 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */, 261 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */,
259 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, 262 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */,
260 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, 263 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */,
261 ); 264 );
262 name = TPKeyboardAvoiding; 265 name = TPKeyboardAvoiding;
263 sourceTree = "<group>"; 266 sourceTree = "<group>";
264 }; 267 };
265 6E84E3681F27A700001EB88E = { 268 6E84E3681F27A700001EB88E = {
266 isa = PBXGroup; 269 isa = PBXGroup;
267 children = ( 270 children = (
268 6E84E3731F27A700001EB88E /* LifeLog */, 271 6E84E3731F27A700001EB88E /* LifeLog */,
269 6E84E38D1F27A703001EB88E /* LifeLogTests */, 272 6E84E38D1F27A703001EB88E /* LifeLogTests */,
270 6E84E3981F27A703001EB88E /* LifeLogUITests */, 273 6E84E3981F27A703001EB88E /* LifeLogUITests */,
271 6E84E3721F27A700001EB88E /* Products */, 274 6E84E3721F27A700001EB88E /* Products */,
272 DE8269E957EA47CD771BAB33 /* Pods */, 275 DE8269E957EA47CD771BAB33 /* Pods */,
273 020C1721B642EF36F31E1BB4 /* Frameworks */, 276 020C1721B642EF36F31E1BB4 /* Frameworks */,
274 ); 277 );
275 sourceTree = "<group>"; 278 sourceTree = "<group>";
276 }; 279 };
277 6E84E3721F27A700001EB88E /* Products */ = { 280 6E84E3721F27A700001EB88E /* Products */ = {
278 isa = PBXGroup; 281 isa = PBXGroup;
279 children = ( 282 children = (
280 6E84E3711F27A700001EB88E /* LifeLog.app */, 283 6E84E3711F27A700001EB88E /* LifeLog.app */,
281 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */, 284 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */,
282 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */, 285 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */,
283 ); 286 );
284 name = Products; 287 name = Products;
285 sourceTree = "<group>"; 288 sourceTree = "<group>";
286 }; 289 };
287 6E84E3731F27A700001EB88E /* LifeLog */ = { 290 6E84E3731F27A700001EB88E /* LifeLog */ = {
288 isa = PBXGroup; 291 isa = PBXGroup;
289 children = ( 292 children = (
290 6E18CED91F2E40AE0029891F /* Model */, 293 6E18CED91F2E40AE0029891F /* Model */,
291 6E18CED51F2E3C0E0029891F /* ServerAPI */, 294 6E18CED51F2E3C0E0029891F /* ServerAPI */,
292 6EDC8BEB1F2C2F3300765ACC /* Common */, 295 6EDC8BEB1F2C2F3300765ACC /* Common */,
293 6ECC406D1F2A5FA500AAEB97 /* Library */, 296 6ECC406D1F2A5FA500AAEB97 /* Library */,
294 E99E13A71F336F0C00C78787 /* CustomView */, 297 E99E13A71F336F0C00C78787 /* CustomView */,
295 6E84E3A81F27A8A9001EB88E /* ViewControllers */, 298 6E84E3A81F27A8A9001EB88E /* ViewControllers */,
296 6E84E3A71F27A887001EB88E /* AppDelegate */, 299 6E84E3A71F27A887001EB88E /* AppDelegate */,
297 6E84E3801F27A701001EB88E /* Assets.xcassets */, 300 6E84E3801F27A701001EB88E /* Assets.xcassets */,
298 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */, 301 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */,
299 6E84E3851F27A701001EB88E /* Info.plist */, 302 6E84E3851F27A701001EB88E /* Info.plist */,
300 6E84E3741F27A701001EB88E /* Supporting Files */, 303 6E84E3741F27A701001EB88E /* Supporting Files */,
301 ); 304 );
302 path = LifeLog; 305 path = LifeLog;
303 sourceTree = "<group>"; 306 sourceTree = "<group>";
304 }; 307 };
305 6E84E3741F27A701001EB88E /* Supporting Files */ = { 308 6E84E3741F27A701001EB88E /* Supporting Files */ = {
306 isa = PBXGroup; 309 isa = PBXGroup;
307 children = ( 310 children = (
308 6E84E3751F27A701001EB88E /* main.m */, 311 6E84E3751F27A701001EB88E /* main.m */,
309 6EF163091F29069300DA306C /* Localizable.strings */, 312 6EF163091F29069300DA306C /* Localizable.strings */,
310 ); 313 );
311 name = "Supporting Files"; 314 name = "Supporting Files";
312 sourceTree = "<group>"; 315 sourceTree = "<group>";
313 }; 316 };
314 6E84E38D1F27A703001EB88E /* LifeLogTests */ = { 317 6E84E38D1F27A703001EB88E /* LifeLogTests */ = {
315 isa = PBXGroup; 318 isa = PBXGroup;
316 children = ( 319 children = (
317 6E84E38E1F27A703001EB88E /* LifeLogTests.m */, 320 6E84E38E1F27A703001EB88E /* LifeLogTests.m */,
318 6E84E3901F27A703001EB88E /* Info.plist */, 321 6E84E3901F27A703001EB88E /* Info.plist */,
319 ); 322 );
320 path = LifeLogTests; 323 path = LifeLogTests;
321 sourceTree = "<group>"; 324 sourceTree = "<group>";
322 }; 325 };
323 6E84E3981F27A703001EB88E /* LifeLogUITests */ = { 326 6E84E3981F27A703001EB88E /* LifeLogUITests */ = {
324 isa = PBXGroup; 327 isa = PBXGroup;
325 children = ( 328 children = (
326 6E84E3991F27A703001EB88E /* LifeLogUITests.m */, 329 6E84E3991F27A703001EB88E /* LifeLogUITests.m */,
327 6E84E39B1F27A703001EB88E /* Info.plist */, 330 6E84E39B1F27A703001EB88E /* Info.plist */,
328 ); 331 );
329 path = LifeLogUITests; 332 path = LifeLogUITests;
330 sourceTree = "<group>"; 333 sourceTree = "<group>";
331 }; 334 };
332 6E84E3A71F27A887001EB88E /* AppDelegate */ = { 335 6E84E3A71F27A887001EB88E /* AppDelegate */ = {
333 isa = PBXGroup; 336 isa = PBXGroup;
334 children = ( 337 children = (
335 6E84E3771F27A701001EB88E /* AppDelegate.h */, 338 6E84E3771F27A701001EB88E /* AppDelegate.h */,
336 6E84E3781F27A701001EB88E /* AppDelegate.m */, 339 6E84E3781F27A701001EB88E /* AppDelegate.m */,
337 ); 340 );
338 name = AppDelegate; 341 name = AppDelegate;
339 sourceTree = "<group>"; 342 sourceTree = "<group>";
340 }; 343 };
341 6E84E3A81F27A8A9001EB88E /* ViewControllers */ = { 344 6E84E3A81F27A8A9001EB88E /* ViewControllers */ = {
342 isa = PBXGroup; 345 isa = PBXGroup;
343 children = ( 346 children = (
344 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */, 347 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */,
345 9CBDA0FB1F2F03490055DED1 /* Register */, 348 9CBDA0FB1F2F03490055DED1 /* Register */,
346 6E18CECF1F2E398C0029891F /* Login */, 349 6E18CECF1F2E398C0029891F /* Login */,
347 6E84E3AC1F27A954001EB88E /* SNS */, 350 6E84E3AC1F27A954001EB88E /* SNS */,
348 6E84E3C11F27AC89001EB88E /* Map */, 351 6E84E3C11F27AC89001EB88E /* Map */,
349 6E84E3AB1F27A946001EB88E /* Ranking */, 352 6E84E3AB1F27A946001EB88E /* Ranking */,
350 6E84E3AA1F27A924001EB88E /* History */, 353 6E84E3AA1F27A924001EB88E /* History */,
351 6E84E3A91F27A915001EB88E /* Home */, 354 6E84E3A91F27A915001EB88E /* Home */,
352 ); 355 );
353 name = ViewControllers; 356 name = ViewControllers;
354 sourceTree = "<group>"; 357 sourceTree = "<group>";
355 }; 358 };
356 6E84E3A91F27A915001EB88E /* Home */ = { 359 6E84E3A91F27A915001EB88E /* Home */ = {
357 isa = PBXGroup; 360 isa = PBXGroup;
358 children = ( 361 children = (
359 6E8DA0F31F2BAC0800CCE941 /* Today */, 362 6E8DA0F31F2BAC0800CCE941 /* Today */,
360 6E84E3AD1F27A975001EB88E /* HomeViewController.h */, 363 6E84E3AD1F27A975001EB88E /* HomeViewController.h */,
361 6E84E3AE1F27A975001EB88E /* HomeViewController.m */, 364 6E84E3AE1F27A975001EB88E /* HomeViewController.m */,
362 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */, 365 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */,
363 ); 366 );
364 name = Home; 367 name = Home;
365 sourceTree = "<group>"; 368 sourceTree = "<group>";
366 }; 369 };
367 6E84E3AA1F27A924001EB88E /* History */ = { 370 6E84E3AA1F27A924001EB88E /* History */ = {
368 isa = PBXGroup; 371 isa = PBXGroup;
369 children = ( 372 children = (
370 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */, 373 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */,
371 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */, 374 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */,
372 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */, 375 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */,
373 E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */, 376 E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */,
374 E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */, 377 E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */,
375 E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */, 378 E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */,
376 ); 379 );
377 name = History; 380 name = History;
378 sourceTree = "<group>"; 381 sourceTree = "<group>";
379 }; 382 };
380 6E84E3AB1F27A946001EB88E /* Ranking */ = { 383 6E84E3AB1F27A946001EB88E /* Ranking */ = {
381 isa = PBXGroup; 384 isa = PBXGroup;
382 children = ( 385 children = (
383 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */, 386 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */,
384 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */, 387 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */,
385 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */, 388 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */,
386 E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */, 389 E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */,
387 E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */, 390 E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */,
388 E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */, 391 E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */,
389 ); 392 );
390 name = Ranking; 393 name = Ranking;
391 sourceTree = "<group>"; 394 sourceTree = "<group>";
392 }; 395 };
393 6E84E3AC1F27A954001EB88E /* SNS */ = { 396 6E84E3AC1F27A954001EB88E /* SNS */ = {
394 isa = PBXGroup; 397 isa = PBXGroup;
395 children = ( 398 children = (
396 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */, 399 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */,
397 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */, 400 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */,
398 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */, 401 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */,
399 E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */, 402 E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */,
400 E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */, 403 E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */,
401 E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */, 404 E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */,
402 ); 405 );
403 name = SNS; 406 name = SNS;
404 sourceTree = "<group>"; 407 sourceTree = "<group>";
405 }; 408 };
406 6E84E3C11F27AC89001EB88E /* Map */ = { 409 6E84E3C11F27AC89001EB88E /* Map */ = {
407 isa = PBXGroup; 410 isa = PBXGroup;
408 children = ( 411 children = (
409 6E84E3C21F27ACAE001EB88E /* MapViewController.h */, 412 6E84E3C21F27ACAE001EB88E /* MapViewController.h */,
410 6E84E3C31F27ACAE001EB88E /* MapViewController.m */, 413 6E84E3C31F27ACAE001EB88E /* MapViewController.m */,
411 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */, 414 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */,
412 ); 415 );
413 name = Map; 416 name = Map;
414 sourceTree = "<group>"; 417 sourceTree = "<group>";
415 }; 418 };
416 6E8DA0F31F2BAC0800CCE941 /* Today */ = { 419 6E8DA0F31F2BAC0800CCE941 /* Today */ = {
417 isa = PBXGroup; 420 isa = PBXGroup;
418 children = ( 421 children = (
419 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */, 422 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */,
420 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */, 423 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */,
421 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */, 424 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */,
422 ); 425 );
423 name = Today; 426 name = Today;
424 sourceTree = "<group>"; 427 sourceTree = "<group>";
425 }; 428 };
426 6ECC406D1F2A5FA500AAEB97 /* Library */ = { 429 6ECC406D1F2A5FA500AAEB97 /* Library */ = {
427 isa = PBXGroup; 430 isa = PBXGroup;
428 children = ( 431 children = (
429 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */, 432 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */,
430 6ECC406E1F2A5FB200AAEB97 /* Category */, 433 6ECC406E1F2A5FB200AAEB97 /* Category */,
431 ); 434 );
432 name = Library; 435 name = Library;
433 sourceTree = "<group>"; 436 sourceTree = "<group>";
434 }; 437 };
435 6ECC406E1F2A5FB200AAEB97 /* Category */ = { 438 6ECC406E1F2A5FB200AAEB97 /* Category */ = {
436 isa = PBXGroup; 439 isa = PBXGroup;
437 children = ( 440 children = (
438 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */, 441 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */,
439 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */, 442 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */,
440 ); 443 );
441 name = Category; 444 name = Category;
442 sourceTree = "<group>"; 445 sourceTree = "<group>";
443 }; 446 };
444 6EDC8BEB1F2C2F3300765ACC /* Common */ = { 447 6EDC8BEB1F2C2F3300765ACC /* Common */ = {
445 isa = PBXGroup; 448 isa = PBXGroup;
446 children = ( 449 children = (
447 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */, 450 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */,
448 6EDC8BED1F2C2FB800765ACC /* Utilities.m */, 451 6EDC8BED1F2C2FB800765ACC /* Utilities.m */,
449 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */, 452 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */,
450 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */, 453 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */,
451 ); 454 );
452 name = Common; 455 name = Common;
453 sourceTree = "<group>"; 456 sourceTree = "<group>";
454 }; 457 };
455 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */ = { 458 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */ = {
456 isa = PBXGroup; 459 isa = PBXGroup;
457 children = ( 460 children = (
458 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */, 461 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */,
459 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */, 462 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */,
460 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */, 463 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */,
461 ); 464 );
462 name = ConfirmForgetPass; 465 name = ConfirmForgetPass;
463 sourceTree = "<group>"; 466 sourceTree = "<group>";
464 }; 467 };
465 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */ = { 468 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */ = {
466 isa = PBXGroup; 469 isa = PBXGroup;
467 children = ( 470 children = (
468 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */, 471 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */,
469 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */, 472 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */,
470 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */, 473 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */,
471 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */, 474 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */,
475 E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */,
476 E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */,
472 ); 477 );
473 name = BaseViewController; 478 name = BaseViewController;
474 sourceTree = "<group>"; 479 sourceTree = "<group>";
475 }; 480 };
476 9CBDA0FB1F2F03490055DED1 /* Register */ = { 481 9CBDA0FB1F2F03490055DED1 /* Register */ = {
477 isa = PBXGroup; 482 isa = PBXGroup;
478 children = ( 483 children = (
479 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */, 484 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */,
480 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */, 485 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */,
481 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */, 486 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */,
482 ); 487 );
483 name = Register; 488 name = Register;
484 sourceTree = "<group>"; 489 sourceTree = "<group>";
485 }; 490 };
486 DE8269E957EA47CD771BAB33 /* Pods */ = { 491 DE8269E957EA47CD771BAB33 /* Pods */ = {
487 isa = PBXGroup; 492 isa = PBXGroup;
488 children = ( 493 children = (
489 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */, 494 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */,
490 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */, 495 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */,
491 ); 496 );
492 name = Pods; 497 name = Pods;
493 sourceTree = "<group>"; 498 sourceTree = "<group>";
494 }; 499 };
495 E9373E441F35966D0059355A /* AutoTranslateView */ = { 500 E9373E441F35966D0059355A /* AutoTranslateView */ = {
496 isa = PBXGroup; 501 isa = PBXGroup;
497 children = ( 502 children = (
498 E9373E451F3596940059355A /* AutoTransLabel.h */, 503 E9373E451F3596940059355A /* AutoTransLabel.h */,
499 E9373E461F3596940059355A /* AutoTransLabel.m */, 504 E9373E461F3596940059355A /* AutoTransLabel.m */,
500 E96855081F3C444900317CEF /* AutoTransButton.h */, 505 E96855081F3C444900317CEF /* AutoTransButton.h */,
501 E96855091F3C444900317CEF /* AutoTransButton.m */, 506 E96855091F3C444900317CEF /* AutoTransButton.m */,
502 ); 507 );
503 name = AutoTranslateView; 508 name = AutoTranslateView;
504 sourceTree = "<group>"; 509 sourceTree = "<group>";
505 }; 510 };
506 E99E13A71F336F0C00C78787 /* CustomView */ = { 511 E99E13A71F336F0C00C78787 /* CustomView */ = {
507 isa = PBXGroup; 512 isa = PBXGroup;
508 children = ( 513 children = (
509 E9373E441F35966D0059355A /* AutoTranslateView */, 514 E9373E441F35966D0059355A /* AutoTranslateView */,
510 E99E13A81F336F1700C78787 /* CollectionView */, 515 E99E13A81F336F1700C78787 /* CollectionView */,
511 ); 516 );
512 name = CustomView; 517 name = CustomView;
513 sourceTree = "<group>"; 518 sourceTree = "<group>";
514 }; 519 };
515 E99E13A81F336F1700C78787 /* CollectionView */ = { 520 E99E13A81F336F1700C78787 /* CollectionView */ = {
516 isa = PBXGroup; 521 isa = PBXGroup;
517 children = ( 522 children = (
518 E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */, 523 E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */,
519 E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */, 524 E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */,
520 E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */, 525 E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */,
521 E99E13A91F336F3600C78787 /* CollectionView.h */, 526 E99E13A91F336F3600C78787 /* CollectionView.h */,
522 E99E13AA1F336F3600C78787 /* CollectionView.m */, 527 E99E13AA1F336F3600C78787 /* CollectionView.m */,
523 E99E13AC1F336F4500C78787 /* CollectionView.xib */, 528 E99E13AC1F336F4500C78787 /* CollectionView.xib */,
524 ); 529 );
525 name = CollectionView; 530 name = CollectionView;
526 sourceTree = "<group>"; 531 sourceTree = "<group>";
527 }; 532 };
528 /* End PBXGroup section */ 533 /* End PBXGroup section */
529 534
530 /* Begin PBXNativeTarget section */ 535 /* Begin PBXNativeTarget section */
531 6E84E3701F27A700001EB88E /* LifeLog */ = { 536 6E84E3701F27A700001EB88E /* LifeLog */ = {
532 isa = PBXNativeTarget; 537 isa = PBXNativeTarget;
533 buildConfigurationList = 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */; 538 buildConfigurationList = 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */;
534 buildPhases = ( 539 buildPhases = (
535 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */, 540 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */,
536 6E84E36D1F27A700001EB88E /* Sources */, 541 6E84E36D1F27A700001EB88E /* Sources */,
537 6E84E36E1F27A700001EB88E /* Frameworks */, 542 6E84E36E1F27A700001EB88E /* Frameworks */,
538 6E84E36F1F27A700001EB88E /* Resources */, 543 6E84E36F1F27A700001EB88E /* Resources */,
539 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */, 544 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */,
540 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */, 545 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */,
541 ); 546 );
542 buildRules = ( 547 buildRules = (
543 ); 548 );
544 dependencies = ( 549 dependencies = (
545 ); 550 );
546 name = LifeLog; 551 name = LifeLog;
547 productName = LifeLog; 552 productName = LifeLog;
548 productReference = 6E84E3711F27A700001EB88E /* LifeLog.app */; 553 productReference = 6E84E3711F27A700001EB88E /* LifeLog.app */;
549 productType = "com.apple.product-type.application"; 554 productType = "com.apple.product-type.application";
550 }; 555 };
551 6E84E3891F27A703001EB88E /* LifeLogTests */ = { 556 6E84E3891F27A703001EB88E /* LifeLogTests */ = {
552 isa = PBXNativeTarget; 557 isa = PBXNativeTarget;
553 buildConfigurationList = 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */; 558 buildConfigurationList = 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */;
554 buildPhases = ( 559 buildPhases = (
555 6E84E3861F27A703001EB88E /* Sources */, 560 6E84E3861F27A703001EB88E /* Sources */,
556 6E84E3871F27A703001EB88E /* Frameworks */, 561 6E84E3871F27A703001EB88E /* Frameworks */,
557 6E84E3881F27A703001EB88E /* Resources */, 562 6E84E3881F27A703001EB88E /* Resources */,
558 ); 563 );
559 buildRules = ( 564 buildRules = (
560 ); 565 );
561 dependencies = ( 566 dependencies = (
562 6E84E38C1F27A703001EB88E /* PBXTargetDependency */, 567 6E84E38C1F27A703001EB88E /* PBXTargetDependency */,
563 ); 568 );
564 name = LifeLogTests; 569 name = LifeLogTests;
565 productName = LifeLogTests; 570 productName = LifeLogTests;
566 productReference = 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */; 571 productReference = 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */;
567 productType = "com.apple.product-type.bundle.unit-test"; 572 productType = "com.apple.product-type.bundle.unit-test";
568 }; 573 };
569 6E84E3941F27A703001EB88E /* LifeLogUITests */ = { 574 6E84E3941F27A703001EB88E /* LifeLogUITests */ = {
570 isa = PBXNativeTarget; 575 isa = PBXNativeTarget;
571 buildConfigurationList = 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */; 576 buildConfigurationList = 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */;
572 buildPhases = ( 577 buildPhases = (
573 6E84E3911F27A703001EB88E /* Sources */, 578 6E84E3911F27A703001EB88E /* Sources */,
574 6E84E3921F27A703001EB88E /* Frameworks */, 579 6E84E3921F27A703001EB88E /* Frameworks */,
575 6E84E3931F27A703001EB88E /* Resources */, 580 6E84E3931F27A703001EB88E /* Resources */,
576 ); 581 );
577 buildRules = ( 582 buildRules = (
578 ); 583 );
579 dependencies = ( 584 dependencies = (
580 6E84E3971F27A703001EB88E /* PBXTargetDependency */, 585 6E84E3971F27A703001EB88E /* PBXTargetDependency */,
581 ); 586 );
582 name = LifeLogUITests; 587 name = LifeLogUITests;
583 productName = LifeLogUITests; 588 productName = LifeLogUITests;
584 productReference = 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */; 589 productReference = 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */;
585 productType = "com.apple.product-type.bundle.ui-testing"; 590 productType = "com.apple.product-type.bundle.ui-testing";
586 }; 591 };
587 /* End PBXNativeTarget section */ 592 /* End PBXNativeTarget section */
588 593
589 /* Begin PBXProject section */ 594 /* Begin PBXProject section */
590 6E84E3691F27A700001EB88E /* Project object */ = { 595 6E84E3691F27A700001EB88E /* Project object */ = {
591 isa = PBXProject; 596 isa = PBXProject;
592 attributes = { 597 attributes = {
593 LastUpgradeCheck = 0830; 598 LastUpgradeCheck = 0830;
594 ORGANIZATIONNAME = PhongNV; 599 ORGANIZATIONNAME = PhongNV;
595 TargetAttributes = { 600 TargetAttributes = {
596 6E84E3701F27A700001EB88E = { 601 6E84E3701F27A700001EB88E = {
597 CreatedOnToolsVersion = 8.3.3; 602 CreatedOnToolsVersion = 8.3.3;
598 DevelopmentTeam = UXU4V3VUN4; 603 DevelopmentTeam = UXU4V3VUN4;
599 ProvisioningStyle = Automatic; 604 ProvisioningStyle = Automatic;
600 }; 605 };
601 6E84E3891F27A703001EB88E = { 606 6E84E3891F27A703001EB88E = {
602 CreatedOnToolsVersion = 8.3.3; 607 CreatedOnToolsVersion = 8.3.3;
603 ProvisioningStyle = Automatic; 608 ProvisioningStyle = Automatic;
604 TestTargetID = 6E84E3701F27A700001EB88E; 609 TestTargetID = 6E84E3701F27A700001EB88E;
605 }; 610 };
606 6E84E3941F27A703001EB88E = { 611 6E84E3941F27A703001EB88E = {
607 CreatedOnToolsVersion = 8.3.3; 612 CreatedOnToolsVersion = 8.3.3;
608 ProvisioningStyle = Automatic; 613 ProvisioningStyle = Automatic;
609 TestTargetID = 6E84E3701F27A700001EB88E; 614 TestTargetID = 6E84E3701F27A700001EB88E;
610 }; 615 };
611 }; 616 };
612 }; 617 };
613 buildConfigurationList = 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */; 618 buildConfigurationList = 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */;
614 compatibilityVersion = "Xcode 3.2"; 619 compatibilityVersion = "Xcode 3.2";
615 developmentRegion = English; 620 developmentRegion = English;
616 hasScannedForEncodings = 0; 621 hasScannedForEncodings = 0;
617 knownRegions = ( 622 knownRegions = (
618 en, 623 en,
619 Base, 624 Base,
620 ); 625 );
621 mainGroup = 6E84E3681F27A700001EB88E; 626 mainGroup = 6E84E3681F27A700001EB88E;
622 productRefGroup = 6E84E3721F27A700001EB88E /* Products */; 627 productRefGroup = 6E84E3721F27A700001EB88E /* Products */;
623 projectDirPath = ""; 628 projectDirPath = "";
624 projectRoot = ""; 629 projectRoot = "";
625 targets = ( 630 targets = (
626 6E84E3701F27A700001EB88E /* LifeLog */, 631 6E84E3701F27A700001EB88E /* LifeLog */,
627 6E84E3891F27A703001EB88E /* LifeLogTests */, 632 6E84E3891F27A703001EB88E /* LifeLogTests */,
628 6E84E3941F27A703001EB88E /* LifeLogUITests */, 633 6E84E3941F27A703001EB88E /* LifeLogUITests */,
629 ); 634 );
630 }; 635 };
631 /* End PBXProject section */ 636 /* End PBXProject section */
632 637
633 /* Begin PBXResourcesBuildPhase section */ 638 /* Begin PBXResourcesBuildPhase section */
634 6E84E36F1F27A700001EB88E /* Resources */ = { 639 6E84E36F1F27A700001EB88E /* Resources */ = {
635 isa = PBXResourcesBuildPhase; 640 isa = PBXResourcesBuildPhase;
636 buildActionMask = 2147483647; 641 buildActionMask = 2147483647;
637 files = ( 642 files = (
638 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */, 643 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */,
639 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */, 644 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */,
640 E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */, 645 E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */,
641 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */, 646 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */,
642 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */, 647 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */,
643 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */, 648 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */,
644 E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */, 649 E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */,
645 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */, 650 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */,
646 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */, 651 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */,
647 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */, 652 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */,
648 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */, 653 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */,
649 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */, 654 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */,
650 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */, 655 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */,
651 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */, 656 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */,
652 E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */, 657 E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */,
653 E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */, 658 E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */,
654 E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */, 659 E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */,
655 ); 660 );
656 runOnlyForDeploymentPostprocessing = 0; 661 runOnlyForDeploymentPostprocessing = 0;
657 }; 662 };
658 6E84E3881F27A703001EB88E /* Resources */ = { 663 6E84E3881F27A703001EB88E /* Resources */ = {
659 isa = PBXResourcesBuildPhase; 664 isa = PBXResourcesBuildPhase;
660 buildActionMask = 2147483647; 665 buildActionMask = 2147483647;
661 files = ( 666 files = (
662 ); 667 );
663 runOnlyForDeploymentPostprocessing = 0; 668 runOnlyForDeploymentPostprocessing = 0;
664 }; 669 };
665 6E84E3931F27A703001EB88E /* Resources */ = { 670 6E84E3931F27A703001EB88E /* Resources */ = {
666 isa = PBXResourcesBuildPhase; 671 isa = PBXResourcesBuildPhase;
667 buildActionMask = 2147483647; 672 buildActionMask = 2147483647;
668 files = ( 673 files = (
669 ); 674 );
670 runOnlyForDeploymentPostprocessing = 0; 675 runOnlyForDeploymentPostprocessing = 0;
671 }; 676 };
672 /* End PBXResourcesBuildPhase section */ 677 /* End PBXResourcesBuildPhase section */
673 678
674 /* Begin PBXShellScriptBuildPhase section */ 679 /* Begin PBXShellScriptBuildPhase section */
675 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */ = { 680 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */ = {
676 isa = PBXShellScriptBuildPhase; 681 isa = PBXShellScriptBuildPhase;
677 buildActionMask = 2147483647; 682 buildActionMask = 2147483647;
678 files = ( 683 files = (
679 ); 684 );
680 inputPaths = ( 685 inputPaths = (
681 ); 686 );
682 name = "[CP] Embed Pods Frameworks"; 687 name = "[CP] Embed Pods Frameworks";
683 outputPaths = ( 688 outputPaths = (
684 ); 689 );
685 runOnlyForDeploymentPostprocessing = 0; 690 runOnlyForDeploymentPostprocessing = 0;
686 shellPath = /bin/sh; 691 shellPath = /bin/sh;
687 shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh\"\n"; 692 shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh\"\n";
688 showEnvVarsInLog = 0; 693 showEnvVarsInLog = 0;
689 }; 694 };
690 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */ = { 695 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */ = {
691 isa = PBXShellScriptBuildPhase; 696 isa = PBXShellScriptBuildPhase;
692 buildActionMask = 2147483647; 697 buildActionMask = 2147483647;
693 files = ( 698 files = (
694 ); 699 );
695 inputPaths = ( 700 inputPaths = (
696 ); 701 );
697 name = "[CP] Check Pods Manifest.lock"; 702 name = "[CP] Check Pods Manifest.lock";
698 outputPaths = ( 703 outputPaths = (
699 ); 704 );
700 runOnlyForDeploymentPostprocessing = 0; 705 runOnlyForDeploymentPostprocessing = 0;
701 shellPath = /bin/sh; 706 shellPath = /bin/sh;
702 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"; 707 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";
703 showEnvVarsInLog = 0; 708 showEnvVarsInLog = 0;
704 }; 709 };
705 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */ = { 710 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */ = {
706 isa = PBXShellScriptBuildPhase; 711 isa = PBXShellScriptBuildPhase;
707 buildActionMask = 2147483647; 712 buildActionMask = 2147483647;
708 files = ( 713 files = (
709 ); 714 );
710 inputPaths = ( 715 inputPaths = (
711 ); 716 );
712 name = "[CP] Copy Pods Resources"; 717 name = "[CP] Copy Pods Resources";
713 outputPaths = ( 718 outputPaths = (
714 ); 719 );
715 runOnlyForDeploymentPostprocessing = 0; 720 runOnlyForDeploymentPostprocessing = 0;
716 shellPath = /bin/sh; 721 shellPath = /bin/sh;
717 shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-resources.sh\"\n"; 722 shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-resources.sh\"\n";
718 showEnvVarsInLog = 0; 723 showEnvVarsInLog = 0;
719 }; 724 };
720 /* End PBXShellScriptBuildPhase section */ 725 /* End PBXShellScriptBuildPhase section */
721 726
722 /* Begin PBXSourcesBuildPhase section */ 727 /* Begin PBXSourcesBuildPhase section */
723 6E84E36D1F27A700001EB88E /* Sources */ = { 728 6E84E36D1F27A700001EB88E /* Sources */ = {
724 isa = PBXSourcesBuildPhase; 729 isa = PBXSourcesBuildPhase;
725 buildActionMask = 2147483647; 730 buildActionMask = 2147483647;
726 files = ( 731 files = (
727 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */, 732 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */,
728 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */, 733 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */,
729 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */, 734 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */,
730 E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */, 735 E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */,
731 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */, 736 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */,
732 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */, 737 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */,
733 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, 738 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */,
734 E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */, 739 E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */,
735 E9D909211F3D559D004CF99F /* TweetObject.m in Sources */, 740 E9D909211F3D559D004CF99F /* TweetObject.m in Sources */,
736 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */, 741 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */,
737 E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */, 742 E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */,
738 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */, 743 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */,
739 E9373E471F3596940059355A /* AutoTransLabel.m in Sources */, 744 E9373E471F3596940059355A /* AutoTransLabel.m in Sources */,
740 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */, 745 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */,
741 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */, 746 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */,
742 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */, 747 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */,
743 E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */, 748 E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */,
744 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */, 749 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */,
745 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */, 750 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */,
746 E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */, 751 E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */,
747 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */, 752 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */,
748 E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */, 753 E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */,
749 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */, 754 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */,
750 E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */, 755 E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */,
751 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */, 756 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */,
752 6E18CEDC1F2E40F50029891F /* User.m in Sources */, 757 6E18CEDC1F2E40F50029891F /* User.m in Sources */,
753 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */, 758 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */,
754 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */, 759 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */,
760 E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */,
755 6E84E3761F27A701001EB88E /* main.m in Sources */, 761 6E84E3761F27A701001EB88E /* main.m in Sources */,
756 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */, 762 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */,
757 E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */, 763 E9373E4D1F361A230059355A /* HistoryGraphObject.m in Sources */,
758 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */, 764 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */,
759 ); 765 );
760 runOnlyForDeploymentPostprocessing = 0; 766 runOnlyForDeploymentPostprocessing = 0;
761 }; 767 };
762 6E84E3861F27A703001EB88E /* Sources */ = { 768 6E84E3861F27A703001EB88E /* Sources */ = {
763 isa = PBXSourcesBuildPhase; 769 isa = PBXSourcesBuildPhase;
764 buildActionMask = 2147483647; 770 buildActionMask = 2147483647;
765 files = ( 771 files = (
766 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */, 772 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */,
767 ); 773 );
768 runOnlyForDeploymentPostprocessing = 0; 774 runOnlyForDeploymentPostprocessing = 0;
769 }; 775 };
770 6E84E3911F27A703001EB88E /* Sources */ = { 776 6E84E3911F27A703001EB88E /* Sources */ = {
771 isa = PBXSourcesBuildPhase; 777 isa = PBXSourcesBuildPhase;
772 buildActionMask = 2147483647; 778 buildActionMask = 2147483647;
773 files = ( 779 files = (
774 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */, 780 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */,
775 ); 781 );
776 runOnlyForDeploymentPostprocessing = 0; 782 runOnlyForDeploymentPostprocessing = 0;
777 }; 783 };
778 /* End PBXSourcesBuildPhase section */ 784 /* End PBXSourcesBuildPhase section */
779 785
780 /* Begin PBXTargetDependency section */ 786 /* Begin PBXTargetDependency section */
781 6E84E38C1F27A703001EB88E /* PBXTargetDependency */ = { 787 6E84E38C1F27A703001EB88E /* PBXTargetDependency */ = {
782 isa = PBXTargetDependency; 788 isa = PBXTargetDependency;
783 target = 6E84E3701F27A700001EB88E /* LifeLog */; 789 target = 6E84E3701F27A700001EB88E /* LifeLog */;
784 targetProxy = 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */; 790 targetProxy = 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */;
785 }; 791 };
786 6E84E3971F27A703001EB88E /* PBXTargetDependency */ = { 792 6E84E3971F27A703001EB88E /* PBXTargetDependency */ = {
787 isa = PBXTargetDependency; 793 isa = PBXTargetDependency;
788 target = 6E84E3701F27A700001EB88E /* LifeLog */; 794 target = 6E84E3701F27A700001EB88E /* LifeLog */;
789 targetProxy = 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */; 795 targetProxy = 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */;
790 }; 796 };
791 /* End PBXTargetDependency section */ 797 /* End PBXTargetDependency section */
792 798
793 /* Begin PBXVariantGroup section */ 799 /* Begin PBXVariantGroup section */
794 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */ = { 800 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */ = {
795 isa = PBXVariantGroup; 801 isa = PBXVariantGroup;
796 children = ( 802 children = (
797 6E84E3831F27A701001EB88E /* Base */, 803 6E84E3831F27A701001EB88E /* Base */,
798 ); 804 );
799 name = LaunchScreen.storyboard; 805 name = LaunchScreen.storyboard;
800 sourceTree = "<group>"; 806 sourceTree = "<group>";
801 }; 807 };
802 /* End PBXVariantGroup section */ 808 /* End PBXVariantGroup section */
803 809
804 /* Begin XCBuildConfiguration section */ 810 /* Begin XCBuildConfiguration section */
805 6E84E39C1F27A703001EB88E /* Debug */ = { 811 6E84E39C1F27A703001EB88E /* Debug */ = {
806 isa = XCBuildConfiguration; 812 isa = XCBuildConfiguration;
807 buildSettings = { 813 buildSettings = {
808 ALWAYS_SEARCH_USER_PATHS = NO; 814 ALWAYS_SEARCH_USER_PATHS = NO;
809 CLANG_ANALYZER_NONNULL = YES; 815 CLANG_ANALYZER_NONNULL = YES;
810 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 816 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
811 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 817 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
812 CLANG_CXX_LIBRARY = "libc++"; 818 CLANG_CXX_LIBRARY = "libc++";
813 CLANG_ENABLE_MODULES = YES; 819 CLANG_ENABLE_MODULES = YES;
814 CLANG_ENABLE_OBJC_ARC = YES; 820 CLANG_ENABLE_OBJC_ARC = YES;
815 CLANG_WARN_BOOL_CONVERSION = YES; 821 CLANG_WARN_BOOL_CONVERSION = YES;
816 CLANG_WARN_CONSTANT_CONVERSION = YES; 822 CLANG_WARN_CONSTANT_CONVERSION = YES;
817 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 823 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
818 CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 824 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
819 CLANG_WARN_EMPTY_BODY = YES; 825 CLANG_WARN_EMPTY_BODY = YES;
820 CLANG_WARN_ENUM_CONVERSION = YES; 826 CLANG_WARN_ENUM_CONVERSION = YES;
821 CLANG_WARN_INFINITE_RECURSION = YES; 827 CLANG_WARN_INFINITE_RECURSION = YES;
822 CLANG_WARN_INT_CONVERSION = YES; 828 CLANG_WARN_INT_CONVERSION = YES;
823 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 829 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
824 CLANG_WARN_SUSPICIOUS_MOVE = YES; 830 CLANG_WARN_SUSPICIOUS_MOVE = YES;
825 CLANG_WARN_UNREACHABLE_CODE = YES; 831 CLANG_WARN_UNREACHABLE_CODE = YES;
826 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 832 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
827 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 833 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
828 COPY_PHASE_STRIP = NO; 834 COPY_PHASE_STRIP = NO;
829 DEBUG_INFORMATION_FORMAT = dwarf; 835 DEBUG_INFORMATION_FORMAT = dwarf;
830 ENABLE_STRICT_OBJC_MSGSEND = YES; 836 ENABLE_STRICT_OBJC_MSGSEND = YES;
831 ENABLE_TESTABILITY = YES; 837 ENABLE_TESTABILITY = YES;
832 GCC_C_LANGUAGE_STANDARD = gnu99; 838 GCC_C_LANGUAGE_STANDARD = gnu99;
833 GCC_DYNAMIC_NO_PIC = NO; 839 GCC_DYNAMIC_NO_PIC = NO;
834 GCC_NO_COMMON_BLOCKS = YES; 840 GCC_NO_COMMON_BLOCKS = YES;
835 GCC_OPTIMIZATION_LEVEL = 0; 841 GCC_OPTIMIZATION_LEVEL = 0;
836 GCC_PREPROCESSOR_DEFINITIONS = ( 842 GCC_PREPROCESSOR_DEFINITIONS = (
837 "DEBUG=1", 843 "DEBUG=1",
838 "$(inherited)", 844 "$(inherited)",
839 ); 845 );
840 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 846 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
841 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 847 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
842 GCC_WARN_UNDECLARED_SELECTOR = YES; 848 GCC_WARN_UNDECLARED_SELECTOR = YES;
843 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 849 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
844 GCC_WARN_UNUSED_FUNCTION = YES; 850 GCC_WARN_UNUSED_FUNCTION = YES;
845 GCC_WARN_UNUSED_VARIABLE = YES; 851 GCC_WARN_UNUSED_VARIABLE = YES;
846 IPHONEOS_DEPLOYMENT_TARGET = 10.3; 852 IPHONEOS_DEPLOYMENT_TARGET = 10.3;
847 MTL_ENABLE_DEBUG_INFO = YES; 853 MTL_ENABLE_DEBUG_INFO = YES;
848 ONLY_ACTIVE_ARCH = YES; 854 ONLY_ACTIVE_ARCH = YES;
849 SDKROOT = iphoneos; 855 SDKROOT = iphoneos;
850 TARGETED_DEVICE_FAMILY = "1,2"; 856 TARGETED_DEVICE_FAMILY = "1,2";
851 }; 857 };
852 name = Debug; 858 name = Debug;
853 }; 859 };
854 6E84E39D1F27A703001EB88E /* Release */ = { 860 6E84E39D1F27A703001EB88E /* Release */ = {
855 isa = XCBuildConfiguration; 861 isa = XCBuildConfiguration;
856 buildSettings = { 862 buildSettings = {
857 ALWAYS_SEARCH_USER_PATHS = NO; 863 ALWAYS_SEARCH_USER_PATHS = NO;
858 CLANG_ANALYZER_NONNULL = YES; 864 CLANG_ANALYZER_NONNULL = YES;
859 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 865 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
860 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 866 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
861 CLANG_CXX_LIBRARY = "libc++"; 867 CLANG_CXX_LIBRARY = "libc++";
862 CLANG_ENABLE_MODULES = YES; 868 CLANG_ENABLE_MODULES = YES;
863 CLANG_ENABLE_OBJC_ARC = YES; 869 CLANG_ENABLE_OBJC_ARC = YES;
864 CLANG_WARN_BOOL_CONVERSION = YES; 870 CLANG_WARN_BOOL_CONVERSION = YES;
865 CLANG_WARN_CONSTANT_CONVERSION = YES; 871 CLANG_WARN_CONSTANT_CONVERSION = YES;
866 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 872 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
867 CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 873 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
868 CLANG_WARN_EMPTY_BODY = YES; 874 CLANG_WARN_EMPTY_BODY = YES;
869 CLANG_WARN_ENUM_CONVERSION = YES; 875 CLANG_WARN_ENUM_CONVERSION = YES;
870 CLANG_WARN_INFINITE_RECURSION = YES; 876 CLANG_WARN_INFINITE_RECURSION = YES;
871 CLANG_WARN_INT_CONVERSION = YES; 877 CLANG_WARN_INT_CONVERSION = YES;
872 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 878 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
873 CLANG_WARN_SUSPICIOUS_MOVE = YES; 879 CLANG_WARN_SUSPICIOUS_MOVE = YES;
874 CLANG_WARN_UNREACHABLE_CODE = YES; 880 CLANG_WARN_UNREACHABLE_CODE = YES;
875 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 881 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
876 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 882 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
877 COPY_PHASE_STRIP = NO; 883 COPY_PHASE_STRIP = NO;
878 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 884 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
879 ENABLE_NS_ASSERTIONS = NO; 885 ENABLE_NS_ASSERTIONS = NO;
880 ENABLE_STRICT_OBJC_MSGSEND = YES; 886 ENABLE_STRICT_OBJC_MSGSEND = YES;
881 GCC_C_LANGUAGE_STANDARD = gnu99; 887 GCC_C_LANGUAGE_STANDARD = gnu99;
882 GCC_NO_COMMON_BLOCKS = YES; 888 GCC_NO_COMMON_BLOCKS = YES;
883 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 889 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
884 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 890 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
885 GCC_WARN_UNDECLARED_SELECTOR = YES; 891 GCC_WARN_UNDECLARED_SELECTOR = YES;
886 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 892 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
887 GCC_WARN_UNUSED_FUNCTION = YES; 893 GCC_WARN_UNUSED_FUNCTION = YES;
888 GCC_WARN_UNUSED_VARIABLE = YES; 894 GCC_WARN_UNUSED_VARIABLE = YES;
889 IPHONEOS_DEPLOYMENT_TARGET = 10.3; 895 IPHONEOS_DEPLOYMENT_TARGET = 10.3;
890 MTL_ENABLE_DEBUG_INFO = NO; 896 MTL_ENABLE_DEBUG_INFO = NO;
891 SDKROOT = iphoneos; 897 SDKROOT = iphoneos;
892 TARGETED_DEVICE_FAMILY = "1,2"; 898 TARGETED_DEVICE_FAMILY = "1,2";
893 VALIDATE_PRODUCT = YES; 899 VALIDATE_PRODUCT = YES;
894 }; 900 };
895 name = Release; 901 name = Release;
896 }; 902 };
897 6E84E39F1F27A703001EB88E /* Debug */ = { 903 6E84E39F1F27A703001EB88E /* Debug */ = {
898 isa = XCBuildConfiguration; 904 isa = XCBuildConfiguration;
899 baseConfigurationReference = 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */; 905 baseConfigurationReference = 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */;
900 buildSettings = { 906 buildSettings = {
901 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 907 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
902 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 908 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
903 DEVELOPMENT_TEAM = ""; 909 DEVELOPMENT_TEAM = "";
904 INFOPLIST_FILE = LifeLog/Info.plist; 910 INFOPLIST_FILE = LifeLog/Info.plist;
905 IPHONEOS_DEPLOYMENT_TARGET = 9.0; 911 IPHONEOS_DEPLOYMENT_TARGET = 9.0;
906 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 912 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
907 OTHER_LDFLAGS = ( 913 OTHER_LDFLAGS = (
908 "$(inherited)", 914 "$(inherited)",
909 "-framework", 915 "-framework",
910 "\"CircleProgressBar\"", 916 "\"CircleProgressBar\"",
911 "-all_load", 917 "-all_load",
912 "-ObjC", 918 "-ObjC",
913 ); 919 );
914 PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; 920 PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog;
915 PRODUCT_NAME = "$(TARGET_NAME)"; 921 PRODUCT_NAME = "$(TARGET_NAME)";
916 PROVISIONING_PROFILE = ""; 922 PROVISIONING_PROFILE = "";
917 PROVISIONING_PROFILE_SPECIFIER = ""; 923 PROVISIONING_PROFILE_SPECIFIER = "";
918 }; 924 };
919 name = Debug; 925 name = Debug;
920 }; 926 };
921 6E84E3A01F27A703001EB88E /* Release */ = { 927 6E84E3A01F27A703001EB88E /* Release */ = {
922 isa = XCBuildConfiguration; 928 isa = XCBuildConfiguration;
923 baseConfigurationReference = 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */; 929 baseConfigurationReference = 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */;
924 buildSettings = { 930 buildSettings = {
925 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 931 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
926 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 932 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
927 DEVELOPMENT_TEAM = ""; 933 DEVELOPMENT_TEAM = "";
928 INFOPLIST_FILE = LifeLog/Info.plist; 934 INFOPLIST_FILE = LifeLog/Info.plist;
929 IPHONEOS_DEPLOYMENT_TARGET = 9.0; 935 IPHONEOS_DEPLOYMENT_TARGET = 9.0;
930 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 936 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
931 OTHER_LDFLAGS = ( 937 OTHER_LDFLAGS = (
932 "$(inherited)", 938 "$(inherited)",
933 "-framework", 939 "-framework",
934 "\"CircleProgressBar\"", 940 "\"CircleProgressBar\"",
935 "-all_load", 941 "-all_load",
936 "-ObjC", 942 "-ObjC",
937 ); 943 );
938 PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; 944 PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog;
939 PRODUCT_NAME = "$(TARGET_NAME)"; 945 PRODUCT_NAME = "$(TARGET_NAME)";
940 PROVISIONING_PROFILE = ""; 946 PROVISIONING_PROFILE = "";
941 PROVISIONING_PROFILE_SPECIFIER = ""; 947 PROVISIONING_PROFILE_SPECIFIER = "";
942 }; 948 };
943 name = Release; 949 name = Release;
944 }; 950 };
945 6E84E3A21F27A703001EB88E /* Debug */ = { 951 6E84E3A21F27A703001EB88E /* Debug */ = {
946 isa = XCBuildConfiguration; 952 isa = XCBuildConfiguration;
947 buildSettings = { 953 buildSettings = {
948 BUNDLE_LOADER = "$(TEST_HOST)"; 954 BUNDLE_LOADER = "$(TEST_HOST)";
949 INFOPLIST_FILE = LifeLogTests/Info.plist; 955 INFOPLIST_FILE = LifeLogTests/Info.plist;
950 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 956 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
951 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; 957 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests;
952 PRODUCT_NAME = "$(TARGET_NAME)"; 958 PRODUCT_NAME = "$(TARGET_NAME)";
953 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; 959 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog";
954 }; 960 };
955 name = Debug; 961 name = Debug;
956 }; 962 };
957 6E84E3A31F27A703001EB88E /* Release */ = { 963 6E84E3A31F27A703001EB88E /* Release */ = {
958 isa = XCBuildConfiguration; 964 isa = XCBuildConfiguration;
959 buildSettings = { 965 buildSettings = {
960 BUNDLE_LOADER = "$(TEST_HOST)"; 966 BUNDLE_LOADER = "$(TEST_HOST)";
961 INFOPLIST_FILE = LifeLogTests/Info.plist; 967 INFOPLIST_FILE = LifeLogTests/Info.plist;
962 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 968 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
963 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; 969 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests;
964 PRODUCT_NAME = "$(TARGET_NAME)"; 970 PRODUCT_NAME = "$(TARGET_NAME)";
965 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; 971 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog";
966 }; 972 };
967 name = Release; 973 name = Release;
968 }; 974 };
969 6E84E3A51F27A703001EB88E /* Debug */ = { 975 6E84E3A51F27A703001EB88E /* Debug */ = {
970 isa = XCBuildConfiguration; 976 isa = XCBuildConfiguration;
971 buildSettings = { 977 buildSettings = {
972 INFOPLIST_FILE = LifeLogUITests/Info.plist; 978 INFOPLIST_FILE = LifeLogUITests/Info.plist;
973 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 979 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
974 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; 980 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests;
975 PRODUCT_NAME = "$(TARGET_NAME)"; 981 PRODUCT_NAME = "$(TARGET_NAME)";
976 TEST_TARGET_NAME = LifeLog; 982 TEST_TARGET_NAME = LifeLog;
977 }; 983 };
978 name = Debug; 984 name = Debug;
979 }; 985 };
980 6E84E3A61F27A703001EB88E /* Release */ = { 986 6E84E3A61F27A703001EB88E /* Release */ = {
981 isa = XCBuildConfiguration; 987 isa = XCBuildConfiguration;
982 buildSettings = { 988 buildSettings = {
983 INFOPLIST_FILE = LifeLogUITests/Info.plist; 989 INFOPLIST_FILE = LifeLogUITests/Info.plist;
984 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 990 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
985 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; 991 PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests;
986 PRODUCT_NAME = "$(TARGET_NAME)"; 992 PRODUCT_NAME = "$(TARGET_NAME)";
987 TEST_TARGET_NAME = LifeLog; 993 TEST_TARGET_NAME = LifeLog;
988 }; 994 };
989 name = Release; 995 name = Release;
990 }; 996 };
991 /* End XCBuildConfiguration section */ 997 /* End XCBuildConfiguration section */
992 998
993 /* Begin XCConfigurationList section */ 999 /* Begin XCConfigurationList section */
994 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */ = { 1000 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */ = {
995 isa = XCConfigurationList; 1001 isa = XCConfigurationList;
996 buildConfigurations = ( 1002 buildConfigurations = (
997 6E84E39C1F27A703001EB88E /* Debug */, 1003 6E84E39C1F27A703001EB88E /* Debug */,
998 6E84E39D1F27A703001EB88E /* Release */, 1004 6E84E39D1F27A703001EB88E /* Release */,
999 ); 1005 );
1000 defaultConfigurationIsVisible = 0; 1006 defaultConfigurationIsVisible = 0;
1001 defaultConfigurationName = Release; 1007 defaultConfigurationName = Release;
1002 }; 1008 };
1003 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */ = { 1009 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */ = {
1004 isa = XCConfigurationList; 1010 isa = XCConfigurationList;
1005 buildConfigurations = ( 1011 buildConfigurations = (
1006 6E84E39F1F27A703001EB88E /* Debug */, 1012 6E84E39F1F27A703001EB88E /* Debug */,
1007 6E84E3A01F27A703001EB88E /* Release */, 1013 6E84E3A01F27A703001EB88E /* Release */,
1008 ); 1014 );
1009 defaultConfigurationIsVisible = 0; 1015 defaultConfigurationIsVisible = 0;
1010 defaultConfigurationName = Release; 1016 defaultConfigurationName = Release;
1011 }; 1017 };
1012 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */ = { 1018 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */ = {
1013 isa = XCConfigurationList; 1019 isa = XCConfigurationList;
1014 buildConfigurations = ( 1020 buildConfigurations = (
1015 6E84E3A21F27A703001EB88E /* Debug */, 1021 6E84E3A21F27A703001EB88E /* Debug */,
1016 6E84E3A31F27A703001EB88E /* Release */, 1022 6E84E3A31F27A703001EB88E /* Release */,
1017 ); 1023 );
1018 defaultConfigurationIsVisible = 0; 1024 defaultConfigurationIsVisible = 0;
1019 defaultConfigurationName = Release; 1025 defaultConfigurationName = Release;
1020 }; 1026 };
1021 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */ = { 1027 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */ = {
1022 isa = XCConfigurationList; 1028 isa = XCConfigurationList;
1023 buildConfigurations = ( 1029 buildConfigurations = (
1024 6E84E3A51F27A703001EB88E /* Debug */, 1030 6E84E3A51F27A703001EB88E /* Debug */,
1025 6E84E3A61F27A703001EB88E /* Release */, 1031 6E84E3A61F27A703001EB88E /* Release */,
1026 ); 1032 );
1027 defaultConfigurationIsVisible = 0; 1033 defaultConfigurationIsVisible = 0;
1028 defaultConfigurationName = Release; 1034 defaultConfigurationName = Release;
1029 }; 1035 };
1030 /* End XCConfigurationList section */ 1036 /* End XCConfigurationList section */
1031 }; 1037 };
1032 rootObject = 6E84E3691F27A700001EB88E /* Project object */; 1038 rootObject = 6E84E3691F27A700001EB88E /* Project object */;
1033 } 1039 }
1034 1040
LifeLog/LifeLog/BaseTableViewController.h
File was created 1 //
2 // BaseTableViewController.h
3 // LifeLog
4 //
5 // Created by nvtu on 8/11/17.
6 // Copyright © 2017 PhongNV. All rights reserved.
7 //
8
9 #import <UIKit/UIKit.h>
10
11 @interface BaseTableViewController : UIViewController<UITableViewDelegate, UITableViewDataSource> {
12 NSMutableArray * _curDataList;
13 BOOL _firstTime;
14 BOOL _isLoading;
15 BOOL _isEndOfResult;
16 int _curPage;
17 }
18
19 @property (weak, nonatomic) IBOutlet UITableView *tableBase;
20 @property (strong, nonatomic) UIRefreshControl *refreshControl;
21
22 -(void) callRequestToUpdateData;
23 -(void) updateTableData : (NSArray *) array error: (NSError *) error;
24 -(void) resetData;
25 @end
26
LifeLog/LifeLog/BaseTableViewController.m
File was created 1 //
2 // BaseTableViewController.m
3 // LifeLog
4 //
5 // Created by nvtu on 8/11/17.
6 // Copyright © 2017 PhongNV. All rights reserved.
7 //
8
9 #import "BaseTableViewController.h"
10 #import "Utilities.h"
11
12 @interface BaseTableViewController ()
13
14 @end
15
16 @implementation BaseTableViewController
17
18 - (void)viewDidLoad {
19 [super viewDidLoad];
20 _firstTime = false;
21 _curPage = 1;
22 _isEndOfResult = false;
23 _curDataList = [[NSMutableArray alloc] init];
24 self.refreshControl = [[UIRefreshControl alloc] init];
25 [self.refreshControl addTarget:self action:@selector(refreshTable) forControlEvents:UIControlEventValueChanged];
26 [self.tableBase addSubview:self.refreshControl];
27 // Do any additional setup after loading the view.
28 }
29
30 - (void)didReceiveMemoryWarning {
31 [super didReceiveMemoryWarning];
32 // Dispose of any resources that can be recreated.
33 }
34
35 -(void) callRequestToUpdateData {
36 _isLoading = true;
37 }
38
39 -(void) resetData {
40 _isLoading = false;
41 _isEndOfResult = false;
42 _firstTime = false;
43 _curPage = 1;
44 [_curDataList removeAllObjects];
45 [self.tableBase reloadData];
46 [self callRequestToUpdateData];
47 }
48
49 -(void) refreshTable {
50 [self resetData];
51 }
52
53 -(void) updateTableData : (NSArray *) array error: (NSError *) error {
54 BaseTableViewController __weak *weakSelf = self;
55 _isLoading = false;
56 _firstTime = true;
57 if(self.refreshControl != nil) {
58 dispatch_async(dispatch_get_main_queue(), ^{
59 [self.refreshControl endRefreshing];
60 });
61 }
62 if(error == nil) {
63 if(array.count != 0) {
64 [_curDataList addObjectsFromArray:array];
65 dispatch_async(dispatch_get_main_queue(), ^{
66 [weakSelf.tableBase reloadData];
67 });
68 }
69 else {
70 if(_curPage != 1) {
71 _isEndOfResult = true;
72 _curPage -= 1;
73 }
74 else {
75 dispatch_async(dispatch_get_main_queue(), ^{
76 [weakSelf.tableBase reloadData];
77 });
78 }
79 }
80 }
81 else {
82 _curPage = MAX(1, _curPage - 1);
83 dispatch_async(dispatch_get_main_queue(), ^{
84 NSString *message = [error.userInfo objectForKey:@"message"];
85 [Utilities showErrorMessage:message withViewController:weakSelf];
86 });
87 }
88 }
89
90 #pragma mark UITableView Delegate
91 - (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
92 if((_curDataList == nil || _curDataList.count == 0) && _firstTime) {
93 UILabel * noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, tableView.frame.size.height)];
94 noDataLabel.text = @"No data available";
95 noDataLabel.backgroundColor = [UIColor clearColor];
96 noDataLabel.textColor = [UIColor whiteColor];
97 noDataLabel.textAlignment = NSTextAlignmentCenter;
98 tableView.backgroundView = noDataLabel;
99 tableView.backgroundView.layer.zPosition -= 1;
100 return 0;
101 }
102 tableView.backgroundView = nil;
103 return 1;
104 }
105
106 - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
107 return _curDataList.count;
108 }
109
110 - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
111 NSInteger lastRowIndex = [tableView numberOfRowsInSection:0] - 1;
112 if (indexPath.row == lastRowIndex) {
113 // This is the last cell
114 if(!_isLoading) {
115 _curPage += 1;
116 [self callRequestToUpdateData];
117 }
118 }
119 }
120 @end
121
LifeLog/LifeLog/HistoryViewController.h
1 // 1 //
2 // HistoryViewController.h 2 // HistoryViewController.h
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 <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 #import <Charts/Charts-Swift.h> 10 #import <Charts/Charts-Swift.h>
11 11
12 #import "BaseTableViewController.h"
12 #import "CollectionView.h" 13 #import "CollectionView.h"
13 14
14 #import "Entities.h" 15 #import "Entities.h"
15 16
16 @interface HistoryViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate> { 17 @interface HistoryViewController : BaseTableViewController <UIScrollViewDelegate> {
17 NSDate * _curDate; 18 NSDate * _curDate;
18 HistoryObject * _curHisObj; 19 HistoryObject * _curHisObj;
19 HistoryGraphObject * _curHisGraphObj; 20 HistoryGraphObject * _curHisGraphObj;
20 NSMutableArray * _curHisList;
21
22 int _curPageIndex;
23 } 21 }
24 22
25 @property (weak, nonatomic) IBOutlet UILabel *lblCircleStep; 23 @property (weak, nonatomic) IBOutlet UILabel *lblCircleStep;
26 @property (weak, nonatomic) IBOutlet UILabel *lblCircleRemain; 24 @property (weak, nonatomic) IBOutlet UILabel *lblCircleRemain;
27 25
28 @property (weak, nonatomic) IBOutlet UILabel *lblStep; 26 @property (weak, nonatomic) IBOutlet UILabel *lblStep;
29 @property (weak, nonatomic) IBOutlet UILabel *lblRemaining; 27 @property (weak, nonatomic) IBOutlet UILabel *lblRemaining;
30 @property (weak, nonatomic) IBOutlet UILabel *lblPercent; 28 @property (weak, nonatomic) IBOutlet UILabel *lblPercent;
31 @property (weak, nonatomic) IBOutlet UILabel *lblCalories; 29 @property (weak, nonatomic) IBOutlet UILabel *lblCalories;
32 @property (weak, nonatomic) IBOutlet UILabel *lblDistance; 30 @property (weak, nonatomic) IBOutlet UILabel *lblDistance;
33 @property (weak, nonatomic) IBOutlet UILabel *lblTime; 31 @property (weak, nonatomic) IBOutlet UILabel *lblTime;
34 32
35 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; 33 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType;
36 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; 34 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode;
37 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionShare; 35 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionShare;
38 36
39 @property (weak, nonatomic) IBOutlet BarChartView *viewBarChart; 37 @property (weak, nonatomic) IBOutlet BarChartView *viewBarChart;
40 38
41 @property (weak, nonatomic) IBOutlet UITableView *tableListHistory;
42 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; 39 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
43 40
44 - (IBAction)swipeAction:(UISwipeGestureRecognizer *)sender; 41 - (IBAction)swipeAction:(UISwipeGestureRecognizer *)sender;
45 42
46 @end 43 @end
LifeLog/LifeLog/HistoryViewController.m
1 // 1 //
2 // HistoryViewController.m 2 // HistoryViewController.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 "HistoryViewController.h" 9 #import "HistoryViewController.h"
10 #import "Utilities.h" 10 #import "Utilities.h"
11 #import "ServerAPI.h" 11 #import "ServerAPI.h"
12 12
13 #import "HistoryListTableViewCell.h" 13 #import "HistoryListTableViewCell.h"
14 14
15 @interface HistoryViewController () 15 @interface HistoryViewController ()
16 16
17 @end 17 @end
18 18
19 @implementation HistoryViewController 19 @implementation HistoryViewController
20 20
21 - (void)viewDidLoad { 21 - (void)viewDidLoad {
22 [super viewDidLoad]; 22 [super viewDidLoad];
23 // Do any additional setup after loading the view from its nib. 23 // Do any additional setup after loading the view from its nib.
24 self.title = NSLocalizedString(@"lifelog.history.title", nil); 24 self.title = NSLocalizedString(@"lifelog.history.title", nil);
25 25
26 [self setupView]; 26 [self setupView];
27 [self setupChartView]; 27 [self setupChartView];
28 28
29 _curDate = [NSDate date]; 29 _curDate = [NSDate date];
30 _curHisList = [[NSMutableArray alloc] init];
31 30
32 [self callRequestToUpdateData]; 31 [self checkRequestData];
33 32
34 //register nib for table view 33 //register nib for table view
35 [self.tableListHistory registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"]; 34 [self.tableBase registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"];
36 } 35 }
37 36
38 - (void)viewDidAppear:(BOOL) animated 37 - (void)viewDidAppear:(BOOL) animated
39 { 38 {
40 [super viewDidAppear:animated]; 39 [super viewDidAppear:animated];
41 self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 400); 40 self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 400);
42 [self.scrollView setNeedsLayout]; 41 [self.scrollView setNeedsLayout];
43 [self.scrollView setNeedsUpdateConstraints]; 42 [self.scrollView setNeedsUpdateConstraints];
44 43
45 } 44 }
46 45
47 - (void)didReceiveMemoryWarning { 46 - (void)didReceiveMemoryWarning {
48 [super didReceiveMemoryWarning]; 47 [super didReceiveMemoryWarning];
49 // Dispose of any resources that can be recreated. 48 // Dispose of any resources that can be recreated.
50 } 49 }
51 50
52 - (void)setupView { 51 - (void)setupView {
53 NSArray *typeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.type.1", nil), NSLocalizedString(@"lifelog.history.type.2", nil), NSLocalizedString(@"lifelog.history.type.3", nil), NSLocalizedString(@"lifelog.history.type.4", nil), NSLocalizedString(@"lifelog.history.type.5", nil), nil]; 52 NSArray *typeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.type.1", nil), NSLocalizedString(@"lifelog.history.type.2", nil), NSLocalizedString(@"lifelog.history.type.3", nil), NSLocalizedString(@"lifelog.history.type.4", nil), NSLocalizedString(@"lifelog.history.type.5", nil), nil];
54 [self.viewCollectionType setButtonNumber:typeTitle.count]; 53 [self.viewCollectionType setButtonNumber:typeTitle.count];
55 [self.viewCollectionType setSpacing:2]; 54 [self.viewCollectionType setSpacing:2];
56 [self.viewCollectionType setArrayTitle:typeTitle]; 55 [self.viewCollectionType setArrayTitle:typeTitle];
57 self.viewCollectionType.changeCurrentIndex = ^(int index){ 56 self.viewCollectionType.changeCurrentIndex = ^(int index){
58 [self callRequestToUpdateData]; 57 [self checkRequestData];
59 }; 58 };
60 59
61 NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.mode.1", nil), NSLocalizedString(@"lifelog.history.mode.2", nil), NSLocalizedString(@"lifelog.history.mode.3", nil), nil]; 60 NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.mode.1", nil), NSLocalizedString(@"lifelog.history.mode.2", nil), NSLocalizedString(@"lifelog.history.mode.3", nil), nil];
62 [self.viewCollectionMode setButtonNumber:modeTitle.count]; 61 [self.viewCollectionMode setButtonNumber:modeTitle.count];
63 [self.viewCollectionMode setSpacing:0]; 62 [self.viewCollectionMode setSpacing:0];
64 [self.viewCollectionMode setCornerRadius:0]; 63 [self.viewCollectionMode setCornerRadius:0];
65 [self.viewCollectionMode setNormalColor:[Utilities convertHecToColor:0x191919] highlightColor:[Utilities convertHecToColor:0x474747] textColor:[UIColor whiteColor]]; 64 [self.viewCollectionMode setNormalColor:[Utilities convertHecToColor:0x191919] highlightColor:[Utilities convertHecToColor:0x474747] textColor:[UIColor whiteColor]];
66 [self.viewCollectionMode setArrayTitle:modeTitle]; 65 [self.viewCollectionMode setArrayTitle:modeTitle];
67 self.viewCollectionMode.changeCurrentIndex = ^(int index){ 66 self.viewCollectionMode.changeCurrentIndex = ^(int index){
68 [self callRequestToUpdateData]; 67 [self checkRequestData];
69 }; 68 };
70 69
71 NSArray *shareTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.share.1", nil), NSLocalizedString(@"lifelog.history.share.2", nil), NSLocalizedString(@"lifelog.history.share.3", nil), NSLocalizedString(@"lifelog.history.share.4", nil), NSLocalizedString(@"lifelog.history.share.5", nil), nil]; 70 NSArray *shareTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.share.1", nil), NSLocalizedString(@"lifelog.history.share.2", nil), NSLocalizedString(@"lifelog.history.share.3", nil), NSLocalizedString(@"lifelog.history.share.4", nil), NSLocalizedString(@"lifelog.history.share.5", nil), nil];
72 [self.viewCollectionShare setButtonNumber:typeTitle.count]; 71 [self.viewCollectionShare setButtonNumber:typeTitle.count];
73 [self.viewCollectionShare setSpacing:3]; 72 [self.viewCollectionShare setSpacing:3];
74 [self.viewCollectionShare setArrayTitle:shareTitle]; 73 [self.viewCollectionShare setArrayTitle:shareTitle];
75 [self.viewCollectionShare disableSelection]; 74 [self.viewCollectionShare disableSelection];
76 75
77 //add tap gesture for enable tap on gesture on CollectionView in ScrollView 76 //add tap gesture for enable tap on gesture on CollectionView in ScrollView
78 UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureAction:)]; 77 // UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureAction:)];
79 [recognizer setNumberOfTapsRequired:1]; 78 // [recognizer setNumberOfTapsRequired:1];
80 self.scrollView.userInteractionEnabled = YES; 79 // self.scrollView.userInteractionEnabled = YES;
81 [self.scrollView addGestureRecognizer:recognizer]; 80 // [self.scrollView addGestureRecognizer:recognizer];
82 } 81 }
83 82
84 - (void)setupChartView { 83 - (void)setupChartView {
85 self.viewBarChart.chartDescription.enabled = NO; 84 self.viewBarChart.chartDescription.enabled = NO;
86 self.viewBarChart.leftAxis.drawGridLinesEnabled = NO; 85 self.viewBarChart.leftAxis.drawGridLinesEnabled = NO;
87 self.viewBarChart.rightAxis.drawGridLinesEnabled = NO; 86 self.viewBarChart.rightAxis.drawGridLinesEnabled = NO;
88 self.viewBarChart.legend.enabled = NO; 87 self.viewBarChart.legend.enabled = NO;
89 88
90 ChartXAxis *xAxis = self.viewBarChart.xAxis; 89 ChartXAxis *xAxis = self.viewBarChart.xAxis;
91 xAxis.labelPosition = XAxisLabelPositionBottom; 90 xAxis.labelPosition = XAxisLabelPositionBottom;
92 xAxis.drawGridLinesEnabled = NO; 91 xAxis.drawGridLinesEnabled = NO;
93 xAxis.drawAxisLineEnabled = NO; 92 xAxis.drawAxisLineEnabled = NO;
94 xAxis.drawLabelsEnabled = YES; 93 xAxis.drawLabelsEnabled = YES;
95 xAxis.labelPosition = XAxisLabelPositionBottom; 94 xAxis.labelPosition = XAxisLabelPositionBottom;
96 xAxis.labelFont = [UIFont systemFontOfSize:10.f]; 95 xAxis.labelFont = [UIFont systemFontOfSize:10.f];
97 xAxis.labelTextColor = [UIColor whiteColor]; 96 xAxis.labelTextColor = [UIColor whiteColor];
98 xAxis.granularity = 1.0; // only intervals of 1 day 97 xAxis.granularity = 1.0; // only intervals of 1 day
99 xAxis.labelCount = 8; 98 xAxis.labelCount = 8;
100 99
101 self.viewBarChart.leftAxis.drawAxisLineEnabled = NO; 100 self.viewBarChart.leftAxis.drawAxisLineEnabled = NO;
102 self.viewBarChart.rightAxis.drawAxisLineEnabled = NO; 101 self.viewBarChart.rightAxis.drawAxisLineEnabled = NO;
103 } 102 }
104 103
105 -(void) updateView { 104 -(void) updateView {
106 self.lblStep.text = [NSString stringWithFormat:@"%d", _curHisObj.step]; 105 self.lblStep.text = [NSString stringWithFormat:@"%d", _curHisObj.step];
107 self.lblRemaining.text = [NSString stringWithFormat:@"%d", _curHisObj.missing]; 106 self.lblRemaining.text = [NSString stringWithFormat:@"%d", _curHisObj.missing];
108 self.lblPercent.text = [NSString stringWithFormat:@"%0.2f", _curHisObj.percent * 100]; 107 self.lblPercent.text = [NSString stringWithFormat:@"%0.2f", _curHisObj.percent * 100];
109 self.lblCalories.text = [NSString stringWithFormat:@"%0.2f", _curHisObj.calories]; 108 self.lblCalories.text = [NSString stringWithFormat:@"%0.2f", _curHisObj.calories];
110 self.lblDistance.text = [NSString stringWithFormat:@"%0.1f", _curHisObj.distance]; 109 self.lblDistance.text = [NSString stringWithFormat:@"%0.1f", _curHisObj.distance];
111 self.lblTime.text = _curHisObj.time; 110 self.lblTime.text = _curHisObj.time;
112 } 111 }
113 112
114 -(void) updateGraphView { 113 -(void) updateGraphView {
115 NSMutableArray *yVals = [[NSMutableArray alloc] init]; 114 NSMutableArray *yVals = [[NSMutableArray alloc] init];
116 for (int i = 0; i < _curHisGraphObj.arrayStep.count; i++) 115 for (int i = 0; i < _curHisGraphObj.arrayStep.count; i++)
117 { 116 {
118 [yVals addObject:[[BarChartDataEntry alloc] initWithX:i y:[[_curHisGraphObj.arrayStep objectAtIndex:i] doubleValue]]]; 117 [yVals addObject:[[BarChartDataEntry alloc] initWithX:i y:[[_curHisGraphObj.arrayStep objectAtIndex:i] doubleValue]]];
119 } 118 }
120 119
121 BarChartDataSet *set1 = nil; 120 BarChartDataSet *set1 = nil;
122 if (self.viewBarChart.data.dataSetCount > 0) 121 if (self.viewBarChart.data.dataSetCount > 0)
123 { 122 {
124 set1 = (BarChartDataSet *)self.viewBarChart.data.dataSets[0]; 123 set1 = (BarChartDataSet *)self.viewBarChart.data.dataSets[0];
125 set1.values = yVals; 124 set1.values = yVals;
126 [self.viewBarChart.data notifyDataChanged]; 125 [self.viewBarChart.data notifyDataChanged];
127 [self.viewBarChart notifyDataSetChanged]; 126 [self.viewBarChart notifyDataSetChanged];
128 } 127 }
129 else 128 else
130 { 129 {
131 set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@""]; 130 set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@""];
132 [set1 setColor:[UIColor whiteColor]]; 131 [set1 setColor:[UIColor whiteColor]];
133 132
134 NSMutableArray *dataSets = [[NSMutableArray alloc] init]; 133 NSMutableArray *dataSets = [[NSMutableArray alloc] init];
135 [dataSets addObject:set1]; 134 [dataSets addObject:set1];
136 135
137 BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets]; 136 BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets];
138 data.barWidth = 0.5f; 137 data.barWidth = 0.5f;
139 138
140 self.viewBarChart.data = data; 139 self.viewBarChart.data = data;
141 } 140 }
142 } 141 }
143 142
144 -(void) callRequestToUpdateData { 143 -(void) checkRequestData {
145 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; 144 if(self.tableBase.alpha == 0.0) {
146 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; 145 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
147 int type = self.viewCollectionType.getCurrentIndex; 146 int type = self.viewCollectionType.getCurrentIndex;
148 int mode = self.viewCollectionMode.getCurrentIndex + 1; 147 int mode = self.viewCollectionMode.getCurrentIndex + 1;
149 148 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
150 if(self.tableListHistory.alpha == 0.0) {
151 [[ServerAPI server] requestHistory:token atDate:_curDate withType:type andMode:mode CompletionHandler:^(HistoryObject *object, NSError *error) { 149 [[ServerAPI server] requestHistory:token atDate:_curDate withType:type andMode:mode CompletionHandler:^(HistoryObject *object, NSError *error) {
152 HistoryViewController __weak *weakSelf = self; 150 HistoryViewController __weak *weakSelf = self;
153 dispatch_async(dispatch_get_main_queue(), ^{ 151 dispatch_async(dispatch_get_main_queue(), ^{
154 if(hudView != nil) { 152 if(hudView != nil) {
155 [hudView hideAnimated:true]; 153 [hudView hideAnimated:true];
156 } 154 }
157 }); 155 });
158 if(error == nil) { 156 if(error == nil) {
159 _curHisObj = object; 157 _curHisObj = object;
160 dispatch_async(dispatch_get_main_queue(), ^{ 158 dispatch_async(dispatch_get_main_queue(), ^{
161 [weakSelf updateView]; 159 [weakSelf updateView];
162 }); 160 });
163 } 161 }
164 else { 162 else {
165 dispatch_async(dispatch_get_main_queue(), ^{ 163 dispatch_async(dispatch_get_main_queue(), ^{
166 NSString *message = [error.userInfo objectForKey:@"message"]; 164 NSString *message = [error.userInfo objectForKey:@"message"];
167 [Utilities showErrorMessage:message withViewController:weakSelf]; 165 [Utilities showErrorMessage:message withViewController:weakSelf];
168 }); 166 });
169 } 167 }
170 }]; 168 }];
171 169
172 [[ServerAPI server] requestHistoryGraph:token withType:type andMode:mode CompletionHandler:^(HistoryGraphObject *object, NSError *error) { 170 [[ServerAPI server] requestHistoryGraph:token withType:type andMode:mode CompletionHandler:^(HistoryGraphObject *object, NSError *error) {
173 HistoryViewController __weak *weakSelf = self; 171 HistoryViewController __weak *weakSelf = self;
174 if(error == nil) { 172 if(error == nil) {
175 _curHisGraphObj = object; 173 _curHisGraphObj = object;
176 dispatch_async(dispatch_get_main_queue(), ^{ 174 dispatch_async(dispatch_get_main_queue(), ^{
177 [self updateGraphView]; 175 [self updateGraphView];
178 }); 176 });
179 } 177 }
180 else { 178 else {
181 dispatch_async(dispatch_get_main_queue(), ^{ 179 dispatch_async(dispatch_get_main_queue(), ^{
182 NSString *message = [error.userInfo objectForKey:@"message"]; 180 NSString *message = [error.userInfo objectForKey:@"message"];
183 [Utilities showErrorMessage:message withViewController:weakSelf]; 181 [Utilities showErrorMessage:message withViewController:weakSelf];
184 }); 182 });
185 } 183 }
186 }]; 184 }];
187 } 185 }
188 else { 186 else {
189 [[ServerAPI server] requestHistoryList:token withType:type andMode:mode AtPage:1 CompletionHandler:^(NSMutableArray *object, NSError *error) { 187 [self resetData];
190 HistoryViewController __weak *weakSelf = self;
191 dispatch_async(dispatch_get_main_queue(), ^{
192 if(hudView != nil) {
193 [hudView hideAnimated:true];
194 }
195 });
196 if(error == nil) {
197 _curHisList = object;
198 dispatch_async(dispatch_get_main_queue(), ^{
199 [weakSelf.tableListHistory reloadData];
200 });
201 }
202 else {
203 dispatch_async(dispatch_get_main_queue(), ^{
204 NSString *message = [error.userInfo objectForKey:@"message"];
205 [Utilities showErrorMessage:message withViewController:weakSelf];
206 });
207 }
208 }];
209 } 188 }
210 } 189 }
211 190
191 -(void) callRequestToUpdateData {
192 [super callRequestToUpdateData];
193 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
194 int type = self.viewCollectionType.getCurrentIndex;
195 int mode = self.viewCollectionMode.getCurrentIndex + 1;
196
197 MBProgressHUD *hudView = nil;
198 if(_curPage == 1 && !self.refreshControl.isRefreshing) {
199 hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
200 }
201 [[ServerAPI server] requestHistoryList:token withType:type andMode:mode AtPage:_curPage CompletionHandler:^(NSArray *array, NSError *error) {
202 dispatch_async(dispatch_get_main_queue(), ^{
203 if(hudView != nil) {
204 [hudView hideAnimated:true];
205 }
206 });
207 HistoryViewController __weak *weakSelf = self;
208 [weakSelf updateTableData:array error:error];
209 }];
210 }
211
212 #pragma mark IBAction 212 #pragma mark IBAction
213 -(void) swipeAction:(UISwipeGestureRecognizer *)sender { 213 -(void) swipeAction:(UISwipeGestureRecognizer *)sender {
214 bool alphaValue = self.scrollView.alpha == 1.0 ? 1.0 : 0.0; 214 bool alphaValue = self.scrollView.alpha == 1.0 ? 1.0 : 0.0;
215 [UIView animateWithDuration:0.5 animations:^{ 215 [UIView animateWithDuration:0.5 animations:^{
216 self.tableListHistory.alpha = alphaValue; 216 self.tableBase.alpha = alphaValue;
217 self.scrollView.alpha = 1.0 - alphaValue; 217 self.scrollView.alpha = 1.0 - alphaValue;
218 } completion:^(BOOL completed) { 218 } completion:^(BOOL completed) {
219 [self callRequestToUpdateData]; 219 [self checkRequestData];
220 }]; 220 }];
221 } 221 }
222 222
223 -(void)gestureAction:(UITapGestureRecognizer *) sender 223 -(void)gestureAction:(UITapGestureRecognizer *) sender
224 { 224 {
225 CGPoint touchLocation = [sender locationOfTouch:0 inView:self.viewCollectionShare]; 225 CGPoint touchLocation = [sender locationOfTouch:0 inView:self.viewCollectionShare];
226 NSIndexPath *indexPath = [self.viewCollectionShare.collectionView indexPathForItemAtPoint:touchLocation]; 226 NSIndexPath *indexPath = [self.viewCollectionShare.collectionView indexPathForItemAtPoint:touchLocation];
227 NSString * content = @"Finish 500 steps"; 227 NSString * content = @"Finish 500 steps";
228 HistoryViewController __weak *weakSelf = self; 228 HistoryViewController __weak *weakSelf = self;
229 if(indexPath != NULL) { 229 if(indexPath != NULL) {
230 switch (indexPath.row) { 230 switch (indexPath.row) {
231 case 0: //share facebook 231 case 0: //share facebook
232 [Utilities shareFacebook:content withViewController:weakSelf]; 232 [Utilities shareFacebook:content withViewController:weakSelf];
233 break; 233 break;
234 case 1: //share twitter 234 case 1: //share twitter
235 [Utilities shareTwitter:content withViewController:weakSelf]; 235 [Utilities shareTwitter:content withViewController:weakSelf];
236 break; 236 break;
237 case 2 : //share line 237 case 2 : //share line
238 [Utilities shareLine:content withViewController:weakSelf]; 238 [Utilities shareLine:content withViewController:weakSelf];
239 break; 239 break;
240 case 3: // share email 240 case 3: // share email
241 [Utilities shareEmail:content withViewController:weakSelf]; 241 [Utilities shareEmail:content withViewController:weakSelf];
242 break; 242 break;
243 default: 243 default:
244 break; 244 break;
245 } 245 }
246 } 246 }
247 } 247 }
248 248
249 #pragma mark UITableView Delegate 249 #pragma mark UITableView Delegate
250 - (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
251 if(_curHisList == nil || _curHisList.count == 0) {
252 UILabel * noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, tableView.frame.size.height)];
253 noDataLabel.text = @"No data available";
254 noDataLabel.backgroundColor = [UIColor clearColor];
255 noDataLabel.textColor = [UIColor whiteColor];
256 noDataLabel.textAlignment = NSTextAlignmentCenter;
257 tableView.backgroundView = noDataLabel;
258 tableView.backgroundView.layer.zPosition -= 1;
259 return 0;
LifeLog/LifeLog/HistoryViewController.xib
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> 7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
8 <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> 8 <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
10 </dependencies> 10 </dependencies>
11 <objects> 11 <objects>
12 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HistoryViewController"> 12 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HistoryViewController">
13 <connections> 13 <connections>
14 <outlet property="lblCalories" destination="dAE-C8-QLr" id="WaS-S3-Qxh"/> 14 <outlet property="lblCalories" destination="dAE-C8-QLr" id="WaS-S3-Qxh"/>
15 <outlet property="lblCircleRemain" destination="Kr7-S0-Fpl" id="UQe-Bt-i0X"/> 15 <outlet property="lblCircleRemain" destination="Kr7-S0-Fpl" id="UQe-Bt-i0X"/>
16 <outlet property="lblCircleStep" destination="oWg-A8-aCr" id="Q9g-UY-hyv"/> 16 <outlet property="lblCircleStep" destination="oWg-A8-aCr" id="Q9g-UY-hyv"/>
17 <outlet property="lblDistance" destination="1tR-JC-pyw" id="q4s-Ru-vLO"/> 17 <outlet property="lblDistance" destination="1tR-JC-pyw" id="q4s-Ru-vLO"/>
18 <outlet property="lblPercent" destination="8Ru-Jc-Ouv" id="ZHn-Kt-0Qk"/> 18 <outlet property="lblPercent" destination="8Ru-Jc-Ouv" id="ZHn-Kt-0Qk"/>
19 <outlet property="lblRemaining" destination="1NH-b3-ST8" id="hFc-q9-b0h"/> 19 <outlet property="lblRemaining" destination="1NH-b3-ST8" id="hFc-q9-b0h"/>
20 <outlet property="lblStep" destination="0pf-fX-QXT" id="jK4-9Y-89Q"/> 20 <outlet property="lblStep" destination="0pf-fX-QXT" id="jK4-9Y-89Q"/>
21 <outlet property="lblTime" destination="PfZ-7x-LAR" id="NQv-fs-rl7"/> 21 <outlet property="lblTime" destination="PfZ-7x-LAR" id="NQv-fs-rl7"/>
22 <outlet property="scrollView" destination="rey-N3-l8b" id="s3w-fi-n5l"/> 22 <outlet property="scrollView" destination="rey-N3-l8b" id="s3w-fi-n5l"/>
23 <outlet property="tableListHistory" destination="FXQ-4O-sRc" id="VNN-sx-9xu"/> 23 <outlet property="tableBase" destination="FXQ-4O-sRc" id="UHy-Nk-f7u"/>
24 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> 24 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
25 <outlet property="viewBarChart" destination="VqD-Y3-cYQ" id="RdJ-G5-pPy"/> 25 <outlet property="viewBarChart" destination="VqD-Y3-cYQ" id="RdJ-G5-pPy"/>
26 <outlet property="viewCollectionMode" destination="BVv-qD-EHM" id="A6n-32-oxg"/> 26 <outlet property="viewCollectionMode" destination="BVv-qD-EHM" id="A6n-32-oxg"/>
27 <outlet property="viewCollectionShare" destination="Iw2-nW-e7g" id="LW3-j0-yEY"/> 27 <outlet property="viewCollectionShare" destination="Iw2-nW-e7g" id="LW3-j0-yEY"/>
28 <outlet property="viewCollectionType" destination="yxY-4d-tB6" id="K1D-Gc-kWV"/> 28 <outlet property="viewCollectionType" destination="yxY-4d-tB6" id="K1D-Gc-kWV"/>
29 </connections> 29 </connections>
30 </placeholder> 30 </placeholder>
31 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 31 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
32 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> 32 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
33 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 33 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
34 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 34 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
35 <subviews> 35 <subviews>
36 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="clL-JG-rbd" userLabel="ViewHeader"> 36 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="clL-JG-rbd" userLabel="ViewHeader">
37 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 37 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
38 <subviews> 38 <subviews>
39 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="履歴" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ht6-rd-JXF" customClass="AutoTransLabel"> 39 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="履歴" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ht6-rd-JXF" customClass="AutoTransLabel">
40 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 40 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
41 <fontDescription key="fontDescription" type="system" pointSize="17"/> 41 <fontDescription key="fontDescription" type="system" pointSize="17"/>
42 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 42 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
43 <nil key="highlightedColor"/> 43 <nil key="highlightedColor"/>
44 <userDefinedRuntimeAttributes> 44 <userDefinedRuntimeAttributes>
45 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title"/> 45 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title"/>
46 </userDefinedRuntimeAttributes> 46 </userDefinedRuntimeAttributes>
47 </label> 47 </label>
48 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ytc-zM-ZGC"> 48 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ytc-zM-ZGC">
49 <rect key="frame" x="0.0" y="5" width="70" height="36"/> 49 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
50 <constraints> 50 <constraints>
51 <constraint firstAttribute="width" constant="70" id="xAE-oP-WEf"/> 51 <constraint firstAttribute="width" constant="70" id="xAE-oP-WEf"/>
52 </constraints> 52 </constraints>
53 <state key="normal" image="today_back_button"/> 53 <state key="normal" image="today_back_button"/>
54 </button> 54 </button>
55 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CFx-sO-MAH"> 55 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CFx-sO-MAH">
56 <rect key="frame" x="330" y="0.0" width="45" height="46"/> 56 <rect key="frame" x="330" y="0.0" width="45" height="46"/>
57 <constraints> 57 <constraints>
58 <constraint firstAttribute="width" constant="45" id="V0g-Ii-pNQ"/> 58 <constraint firstAttribute="width" constant="45" id="V0g-Ii-pNQ"/>
59 </constraints> 59 </constraints>
60 <state key="normal" image="icon_menu"/> 60 <state key="normal" image="icon_menu"/>
61 </button> 61 </button>
62 </subviews> 62 </subviews>
63 <color key="backgroundColor" red="0.098039215686274508" green="0.098039215686274508" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 63 <color key="backgroundColor" red="0.098039215686274508" green="0.098039215686274508" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
64 <constraints> 64 <constraints>
65 <constraint firstAttribute="trailing" secondItem="Ht6-rd-JXF" secondAttribute="trailing" id="Fr9-Yj-q5e"/> 65 <constraint firstAttribute="trailing" secondItem="Ht6-rd-JXF" secondAttribute="trailing" id="Fr9-Yj-q5e"/>
66 <constraint firstItem="ytc-zM-ZGC" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="LDb-Pq-Z5k"/> 66 <constraint firstItem="ytc-zM-ZGC" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="LDb-Pq-Z5k"/>
67 <constraint firstAttribute="trailing" secondItem="CFx-sO-MAH" secondAttribute="trailing" id="PTh-vI-2DI"/> 67 <constraint firstAttribute="trailing" secondItem="CFx-sO-MAH" secondAttribute="trailing" id="PTh-vI-2DI"/>
68 <constraint firstItem="Ht6-rd-JXF" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="URG-nj-C2r"/> 68 <constraint firstItem="Ht6-rd-JXF" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="URG-nj-C2r"/>
69 <constraint firstItem="CFx-sO-MAH" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="Uxg-Wl-DlF"/> 69 <constraint firstItem="CFx-sO-MAH" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="Uxg-Wl-DlF"/>
70 <constraint firstAttribute="bottom" secondItem="CFx-sO-MAH" secondAttribute="bottom" id="X9D-m3-QXF"/> 70 <constraint firstAttribute="bottom" secondItem="CFx-sO-MAH" secondAttribute="bottom" id="X9D-m3-QXF"/>
71 <constraint firstAttribute="bottom" secondItem="ytc-zM-ZGC" secondAttribute="bottom" constant="5" id="hWb-ga-1wm"/> 71 <constraint firstAttribute="bottom" secondItem="ytc-zM-ZGC" secondAttribute="bottom" constant="5" id="hWb-ga-1wm"/>
72 <constraint firstAttribute="bottom" secondItem="Ht6-rd-JXF" secondAttribute="bottom" id="iqI-Bi-QI1"/> 72 <constraint firstAttribute="bottom" secondItem="Ht6-rd-JXF" secondAttribute="bottom" id="iqI-Bi-QI1"/>
73 <constraint firstItem="Ht6-rd-JXF" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="uzc-SO-7mw"/> 73 <constraint firstItem="Ht6-rd-JXF" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="uzc-SO-7mw"/>
74 <constraint firstItem="ytc-zM-ZGC" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" constant="5" id="vFt-FE-klC"/> 74 <constraint firstItem="ytc-zM-ZGC" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" constant="5" id="vFt-FE-klC"/>
75 <constraint firstAttribute="height" constant="46" id="xGd-BD-bgs"/> 75 <constraint firstAttribute="height" constant="46" id="xGd-BD-bgs"/>
76 </constraints> 76 </constraints>
77 </view> 77 </view>
78 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cf1-lP-zbB" userLabel="ViewTime"> 78 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cf1-lP-zbB" userLabel="ViewTime">
79 <rect key="frame" x="10" y="46" width="355" height="35"/> 79 <rect key="frame" x="10" y="46" width="355" height="35"/>
80 <subviews> 80 <subviews>
81 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6T2-M9-9wV"> 81 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6T2-M9-9wV">
82 <rect key="frame" x="0.0" y="0.0" width="35" height="35"/> 82 <rect key="frame" x="0.0" y="0.0" width="35" height="35"/>
83 <constraints> 83 <constraints>
84 <constraint firstAttribute="width" secondItem="6T2-M9-9wV" secondAttribute="height" multiplier="1:1" id="RlM-6u-eer"/> 84 <constraint firstAttribute="width" secondItem="6T2-M9-9wV" secondAttribute="height" multiplier="1:1" id="RlM-6u-eer"/>
85 </constraints> 85 </constraints>
86 <state key="normal" backgroundImage="arrow_back"/> 86 <state key="normal" backgroundImage="arrow_back"/>
87 </button> 87 </button>
88 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cwb-8M-pDi"> 88 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cwb-8M-pDi">
89 <rect key="frame" x="320" y="0.0" width="35" height="35"/> 89 <rect key="frame" x="320" y="0.0" width="35" height="35"/>
90 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 90 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
91 <state key="normal" backgroundImage="arrow_next"/> 91 <state key="normal" backgroundImage="arrow_next"/>
92 </button> 92 </button>
93 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2017年1月1日 日曜日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EM7-vA-s1e"> 93 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2017年1月1日 日曜日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EM7-vA-s1e">
94 <rect key="frame" x="40" y="2" width="275" height="31"/> 94 <rect key="frame" x="40" y="2" width="275" height="31"/>
95 <fontDescription key="fontDescription" type="system" pointSize="17"/> 95 <fontDescription key="fontDescription" type="system" pointSize="17"/>
96 <nil key="textColor"/> 96 <nil key="textColor"/>
97 <nil key="highlightedColor"/> 97 <nil key="highlightedColor"/>
98 </label> 98 </label>
99 </subviews> 99 </subviews>
100 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 100 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
101 <constraints> 101 <constraints>
102 <constraint firstItem="Cwb-8M-pDi" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="4Jr-r7-y6d"/> 102 <constraint firstItem="Cwb-8M-pDi" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="4Jr-r7-y6d"/>
103 <constraint firstAttribute="bottom" secondItem="6T2-M9-9wV" secondAttribute="bottom" id="8bU-NI-m32"/> 103 <constraint firstAttribute="bottom" secondItem="6T2-M9-9wV" secondAttribute="bottom" id="8bU-NI-m32"/>
104 <constraint firstItem="EM7-vA-s1e" firstAttribute="leading" secondItem="6T2-M9-9wV" secondAttribute="trailing" constant="5" id="9G1-I6-nSV"/> 104 <constraint firstItem="EM7-vA-s1e" firstAttribute="leading" secondItem="6T2-M9-9wV" secondAttribute="trailing" constant="5" id="9G1-I6-nSV"/>
105 <constraint firstItem="EM7-vA-s1e" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" constant="2" id="9Yk-sv-gkx"/> 105 <constraint firstItem="EM7-vA-s1e" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" constant="2" id="9Yk-sv-gkx"/>
106 <constraint firstItem="Cwb-8M-pDi" firstAttribute="leading" secondItem="EM7-vA-s1e" secondAttribute="trailing" constant="5" id="JQI-18-cWP"/> 106 <constraint firstItem="Cwb-8M-pDi" firstAttribute="leading" secondItem="EM7-vA-s1e" secondAttribute="trailing" constant="5" id="JQI-18-cWP"/>
107 <constraint firstAttribute="height" constant="35" id="Pdg-IR-g8y"/> 107 <constraint firstAttribute="height" constant="35" id="Pdg-IR-g8y"/>
108 <constraint firstItem="6T2-M9-9wV" firstAttribute="leading" secondItem="Cf1-lP-zbB" secondAttribute="leading" id="Pgh-zZ-vrG"/> 108 <constraint firstItem="6T2-M9-9wV" firstAttribute="leading" secondItem="Cf1-lP-zbB" secondAttribute="leading" id="Pgh-zZ-vrG"/>
109 <constraint firstAttribute="bottom" secondItem="Cwb-8M-pDi" secondAttribute="bottom" id="WWs-Ey-osm"/> 109 <constraint firstAttribute="bottom" secondItem="Cwb-8M-pDi" secondAttribute="bottom" id="WWs-Ey-osm"/>
110 <constraint firstItem="Cwb-8M-pDi" firstAttribute="width" secondItem="Cwb-8M-pDi" secondAttribute="height" multiplier="1:1" id="YHa-MU-GKi"/> 110 <constraint firstItem="Cwb-8M-pDi" firstAttribute="width" secondItem="Cwb-8M-pDi" secondAttribute="height" multiplier="1:1" id="YHa-MU-GKi"/>
111 <constraint firstItem="6T2-M9-9wV" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="fiM-o3-Us0"/> 111 <constraint firstItem="6T2-M9-9wV" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="fiM-o3-Us0"/>
112 <constraint firstAttribute="trailing" secondItem="Cwb-8M-pDi" secondAttribute="trailing" id="oCE-RP-EmX"/> 112 <constraint firstAttribute="trailing" secondItem="Cwb-8M-pDi" secondAttribute="trailing" id="oCE-RP-EmX"/>
113 <constraint firstAttribute="bottom" secondItem="EM7-vA-s1e" secondAttribute="bottom" constant="2" id="oOd-ip-MZy"/> 113 <constraint firstAttribute="bottom" secondItem="EM7-vA-s1e" secondAttribute="bottom" constant="2" id="oOd-ip-MZy"/>
114 </constraints> 114 </constraints>
115 </view> 115 </view>
116 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yxY-4d-tB6" customClass="CollectionView"> 116 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yxY-4d-tB6" customClass="CollectionView">
117 <rect key="frame" x="2" y="96" width="371" height="40"/> 117 <rect key="frame" x="2" y="96" width="371" height="40"/>
118 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 118 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
119 <constraints> 119 <constraints>
120 <constraint firstAttribute="height" constant="40" id="U7Q-wa-CDi"/> 120 <constraint firstAttribute="height" constant="40" id="U7Q-wa-CDi"/>
121 </constraints> 121 </constraints>
122 </view> 122 </view>
123 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVv-qD-EHM" customClass="CollectionView"> 123 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVv-qD-EHM" customClass="CollectionView">
124 <rect key="frame" x="0.0" y="577" width="375" height="40"/> 124 <rect key="frame" x="0.0" y="577" width="375" height="40"/>
125 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 125 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
126 <constraints> 126 <constraints>
127 <constraint firstAttribute="height" constant="40" id="6wc-NQ-UAH"/> 127 <constraint firstAttribute="height" constant="40" id="6wc-NQ-UAH"/>
128 </constraints> 128 </constraints>
129 </view> 129 </view>
130 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FLa-rV-Aas" userLabel="ViewContent"> 130 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FLa-rV-Aas" userLabel="ViewContent">
131 <rect key="frame" x="0.0" y="151" width="375" height="421"/> 131 <rect key="frame" x="0.0" y="151" width="375" height="421"/>
132 <subviews> 132 <subviews>
133 <tableView clipsSubviews="YES" alpha="0.0" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="FXQ-4O-sRc"> 133 <tableView clipsSubviews="YES" alpha="0.0" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="FXQ-4O-sRc">
134 <rect key="frame" x="5" y="0.0" width="365" height="421"/> 134 <rect key="frame" x="5" y="0.0" width="365" height="421"/>
135 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 135 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
136 <connections> 136 <connections>
137 <outlet property="dataSource" destination="-1" id="GQy-lg-1Af"/> 137 <outlet property="dataSource" destination="-1" id="GQy-lg-1Af"/>
138 <outlet property="delegate" destination="-1" id="Jka-Ij-zNq"/> 138 <outlet property="delegate" destination="-1" id="Jka-Ij-zNq"/>
139 </connections> 139 </connections>
140 </tableView> 140 </tableView>
141 <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rey-N3-l8b"> 141 <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rey-N3-l8b">
142 <rect key="frame" x="0.0" y="0.0" width="375" height="421"/> 142 <rect key="frame" x="0.0" y="0.0" width="375" height="421"/>
143 <subviews> 143 <subviews>
144 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cam-ML-IEO"> 144 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cam-ML-IEO">
145 <rect key="frame" x="0.0" y="0.0" width="375" height="421"/> 145 <rect key="frame" x="0.0" y="0.0" width="375" height="421"/>
146 <subviews> 146 <subviews>
147 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kzk-mN-AOf"> 147 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kzk-mN-AOf">
148 <rect key="frame" x="20" y="30" width="120" height="120"/> 148 <rect key="frame" x="20" y="30" width="120" height="120"/>
149 <subviews> 149 <subviews>
150 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="500 step" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oWg-A8-aCr"> 150 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="500 step" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oWg-A8-aCr">
151 <rect key="frame" x="18" y="35" width="82" height="21"/> 151 <rect key="frame" x="18" y="35" width="82" height="21"/>
152 <constraints> 152 <constraints>
153 <constraint firstAttribute="height" constant="21" id="zOX-0d-IVv"/> 153 <constraint firstAttribute="height" constant="21" id="zOX-0d-IVv"/>
154 </constraints> 154 </constraints>
155 <fontDescription key="fontDescription" type="system" pointSize="17"/> 155 <fontDescription key="fontDescription" type="system" pointSize="17"/>
156 <nil key="textColor"/> 156 <nil key="textColor"/>
157 <nil key="highlightedColor"/> 157 <nil key="highlightedColor"/>
158 </label> 158 </label>
159 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kr7-S0-Fpl"> 159 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kr7-S0-Fpl">
160 <rect key="frame" x="20" y="61" width="80" height="42"/> 160 <rect key="frame" x="20" y="61" width="80" height="42"/>
161 <constraints> 161 <constraints>
162 <constraint firstAttribute="width" constant="80" id="IOc-sB-dA2"/> 162 <constraint firstAttribute="width" constant="80" id="IOc-sB-dA2"/>
163 <constraint firstAttribute="height" constant="42" id="zRP-Fu-qZ9"/> 163 <constraint firstAttribute="height" constant="42" id="zRP-Fu-qZ9"/>
164 </constraints> 164 </constraints>
165 <string key="text">目標まであと 165 <string key="text">目標まであと
166 500 stepです</string> 166 500 stepです</string>
167 <fontDescription key="fontDescription" type="system" pointSize="11"/> 167 <fontDescription key="fontDescription" type="system" pointSize="11"/>
168 <nil key="textColor"/> 168 <nil key="textColor"/>
169 <nil key="highlightedColor"/> 169 <nil key="highlightedColor"/>
170 </label> 170 </label>
171 </subviews> 171 </subviews>
172 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 172 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
173 <constraints> 173 <constraints>
174 <constraint firstItem="Kr7-S0-Fpl" firstAttribute="top" secondItem="oWg-A8-aCr" secondAttribute="bottom" constant="5" id="2KK-Lm-h74"/> 174 <constraint firstItem="Kr7-S0-Fpl" firstAttribute="top" secondItem="oWg-A8-aCr" secondAttribute="bottom" constant="5" id="2KK-Lm-h74"/>
175 <constraint firstItem="oWg-A8-aCr" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="leading" constant="18" id="CdG-qa-ud5"/> 175 <constraint firstItem="oWg-A8-aCr" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="leading" constant="18" id="CdG-qa-ud5"/>
176 <constraint firstAttribute="width" constant="120" id="E48-cC-dsc"/> 176 <constraint firstAttribute="width" constant="120" id="E48-cC-dsc"/>
177 <constraint firstAttribute="height" constant="120" id="SlY-sr-tR9"/> 177 <constraint firstAttribute="height" constant="120" id="SlY-sr-tR9"/>
178 <constraint firstItem="Kr7-S0-Fpl" firstAttribute="centerX" secondItem="Kzk-mN-AOf" secondAttribute="centerX" id="jJV-RH-pk1"/> 178 <constraint firstItem="Kr7-S0-Fpl" firstAttribute="centerX" secondItem="Kzk-mN-AOf" secondAttribute="centerX" id="jJV-RH-pk1"/>
179 <constraint firstItem="oWg-A8-aCr" firstAttribute="top" secondItem="Kzk-mN-AOf" secondAttribute="top" constant="35" id="oBl-zo-td5"/> 179 <constraint firstItem="oWg-A8-aCr" firstAttribute="top" secondItem="Kzk-mN-AOf" secondAttribute="top" constant="35" id="oBl-zo-td5"/>
180 <constraint firstAttribute="trailing" secondItem="oWg-A8-aCr" secondAttribute="trailing" constant="20" id="xgh-d4-jOF"/> 180 <constraint firstAttribute="trailing" secondItem="oWg-A8-aCr" secondAttribute="trailing" constant="20" id="xgh-d4-jOF"/>
181 </constraints> 181 </constraints>
182 <userDefinedRuntimeAttributes> 182 <userDefinedRuntimeAttributes>
183 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 183 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
184 <integer key="value" value="60"/> 184 <integer key="value" value="60"/>
185 </userDefinedRuntimeAttribute> 185 </userDefinedRuntimeAttribute>
186 </userDefinedRuntimeAttributes> 186 </userDefinedRuntimeAttributes>
187 </view> 187 </view>
188 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ix-HE-d9T"> 188 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ix-HE-d9T">
189 <rect key="frame" x="148" y="30" width="219" height="120"/> 189 <rect key="frame" x="148" y="30" width="219" height="120"/>
190 <subviews> 190 <subviews>
191 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YE6-wh-77T" customClass="AutoTransLabel"> 191 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YE6-wh-77T" customClass="AutoTransLabel">
192 <rect key="frame" x="10" y="38" width="45" height="15"/> 192 <rect key="frame" x="10" y="38" width="45" height="15"/>
193 <constraints> 193 <constraints>
194 <constraint firstAttribute="width" constant="45" id="6Ce-YE-wbx"/> 194 <constraint firstAttribute="width" constant="45" id="6Ce-YE-wbx"/>
195 <constraint firstAttribute="height" constant="15" id="eFR-Ao-75U"/> 195 <constraint firstAttribute="height" constant="15" id="eFR-Ao-75U"/>
196 </constraints> 196 </constraints>
197 <fontDescription key="fontDescription" type="system" pointSize="12"/> 197 <fontDescription key="fontDescription" type="system" pointSize="12"/>
198 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 198 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
199 <nil key="highlightedColor"/> 199 <nil key="highlightedColor"/>
200 <userDefinedRuntimeAttributes> 200 <userDefinedRuntimeAttributes>
201 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.total"/> 201 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.total"/>
202 </userDefinedRuntimeAttributes> 202 </userDefinedRuntimeAttributes>
203 </label> 203 </label>
204 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="残歩数" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HOl-Tj-xiT" customClass="AutoTransLabel"> 204 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="残歩数" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HOl-Tj-xiT" customClass="AutoTransLabel">
205 <rect key="frame" x="10" y="53" width="45" height="15"/> 205 <rect key="frame" x="10" y="53" width="45" height="15"/>
206 <fontDescription key="fontDescription" type="system" pointSize="12"/> 206 <fontDescription key="fontDescription" type="system" pointSize="12"/>
207 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 207 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
208 <nil key="highlightedColor"/> 208 <nil key="highlightedColor"/>
209 <userDefinedRuntimeAttributes> 209 <userDefinedRuntimeAttributes>
210 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.remaining"/> 210 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.remaining"/>
211 </userDefinedRuntimeAttributes> 211 </userDefinedRuntimeAttributes>
212 </label> 212 </label>
213 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="達成率" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l0h-qA-2Ai" customClass="AutoTransLabel"> 213 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="達成率" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l0h-qA-2Ai" customClass="AutoTransLabel">
214 <rect key="frame" x="10" y="68" width="45" height="15"/> 214 <rect key="frame" x="10" y="68" width="45" height="15"/>
215 <fontDescription key="fontDescription" type="system" pointSize="12"/> 215 <fontDescription key="fontDescription" type="system" pointSize="12"/>
216 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 216 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
217 <nil key="highlightedColor"/> 217 <nil key="highlightedColor"/>
218 <userDefinedRuntimeAttributes> 218 <userDefinedRuntimeAttributes>
219 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.percent"/> 219 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.percent"/>
220 </userDefinedRuntimeAttributes> 220 </userDefinedRuntimeAttributes>
221 </label> 221 </label>
222 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1000 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0pf-fX-QXT"> 222 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1000 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0pf-fX-QXT">
223 <rect key="frame" x="63" y="38" width="118" height="15"/> 223 <rect key="frame" x="63" y="38" width="118" height="15"/>
224 <constraints> 224 <constraints>
225 <constraint firstAttribute="height" constant="15" id="Z6o-LI-Eu9"/> 225 <constraint firstAttribute="height" constant="15" id="Z6o-LI-Eu9"/>
226 </constraints> 226 </constraints>
227 <fontDescription key="fontDescription" type="system" pointSize="12"/> 227 <fontDescription key="fontDescription" type="system" pointSize="12"/>
228 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 228 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
229 <nil key="highlightedColor"/> 229 <nil key="highlightedColor"/>
230 </label> 230 </label>
231 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="500 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1NH-b3-ST8"> 231 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="500 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1NH-b3-ST8">
232 <rect key="frame" x="63" y="53" width="118" height="15"/> 232 <rect key="frame" x="63" y="53" width="118" height="15"/>
233 <fontDescription key="fontDescription" type="system" pointSize="12"/> 233 <fontDescription key="fontDescription" type="system" pointSize="12"/>
234 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 234 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
235 <nil key="highlightedColor"/> 235 <nil key="highlightedColor"/>
236 </label> 236 </label>
237 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="50 %" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Ru-Jc-Ouv"> 237 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="50 %" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Ru-Jc-Ouv">
238 <rect key="frame" x="63" y="68" width="118" height="15"/> 238 <rect key="frame" x="63" y="68" width="118" height="15"/>
239 <fontDescription key="fontDescription" type="system" pointSize="12"/> 239 <fontDescription key="fontDescription" type="system" pointSize="12"/>
240 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 240 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
241 <nil key="highlightedColor"/> 241 <nil key="highlightedColor"/>
242 </label> 242 </label>
243 </subviews> 243 </subviews>
244 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 244 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
245 <constraints> 245 <constraints>
246 <constraint firstItem="l0h-qA-2Ai" firstAttribute="top" secondItem="HOl-Tj-xiT" secondAttribute="bottom" id="0dv-3h-eHs"/> 246 <constraint firstItem="l0h-qA-2Ai" firstAttribute="top" secondItem="HOl-Tj-xiT" secondAttribute="bottom" id="0dv-3h-eHs"/>
247 <constraint firstItem="l0h-qA-2Ai" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="7z3-ph-BM4"/> 247 <constraint firstItem="l0h-qA-2Ai" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="7z3-ph-BM4"/>
248 <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="ACu-BV-ieg"/> 248 <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="ACu-BV-ieg"/>
249 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="top" secondItem="1NH-b3-ST8" secondAttribute="bottom" id="Abh-FK-4X7"/> 249 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="top" secondItem="1NH-b3-ST8" secondAttribute="bottom" id="Abh-FK-4X7"/>
250 <constraint firstItem="1NH-b3-ST8" firstAttribute="top" secondItem="0pf-fX-QXT" secondAttribute="bottom" id="B3I-n2-Oks"/> 250 <constraint firstItem="1NH-b3-ST8" firstAttribute="top" secondItem="0pf-fX-QXT" secondAttribute="bottom" id="B3I-n2-Oks"/>
251 <constraint firstItem="1NH-b3-ST8" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="BAn-7O-jBX"/> 251 <constraint firstItem="1NH-b3-ST8" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="BAn-7O-jBX"/>
252 <constraint firstItem="0pf-fX-QXT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="trailing" constant="8" id="G20-xx-HEH"/> 252 <constraint firstItem="0pf-fX-QXT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="trailing" constant="8" id="G20-xx-HEH"/>
253 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="NIm-Zw-fnf"/> 253 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="NIm-Zw-fnf"/>
254 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="PdQ-qd-Sqc"/> 254 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="PdQ-qd-Sqc"/>
255 <constraint firstItem="HOl-Tj-xiT" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="WpC-o9-bDa"/> 255 <constraint firstItem="HOl-Tj-xiT" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="WpC-o9-bDa"/>
256 <constraint firstItem="l0h-qA-2Ai" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="bR8-Ki-lS1"/> 256 <constraint firstItem="l0h-qA-2Ai" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="bR8-Ki-lS1"/>
257 <constraint firstItem="HOl-Tj-xiT" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="c0u-hz-5O9"/> 257 <constraint firstItem="HOl-Tj-xiT" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="c0u-hz-5O9"/>
258 <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="chf-kb-ClX"/> 258 <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="chf-kb-ClX"/>
259 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="din-4T-V5w"/> 259 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="din-4T-V5w"/>
260 <constraint firstItem="l0h-qA-2Ai" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="eo0-xw-d1f"/> 260 <constraint firstItem="l0h-qA-2Ai" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="eo0-xw-d1f"/>
261 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="gjt-3e-Pkx"/> 261 <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="gjt-3e-Pkx"/>
262 <constraint firstItem="1NH-b3-ST8" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="kOM-6S-Amv"/> 262 <constraint firstItem="1NH-b3-ST8" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="kOM-6S-Amv"/>
263 <constraint firstItem="HOl-Tj-xiT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="oOc-TB-k4j"/> 263 <constraint firstItem="HOl-Tj-xiT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="oOc-TB-k4j"/>
264 <constraint firstItem="1NH-b3-ST8" firstAttribute="centerY" secondItem="HOl-Tj-xiT" secondAttribute="centerY" id="pGW-dw-56G"/> 264 <constraint firstItem="1NH-b3-ST8" firstAttribute="centerY" secondItem="HOl-Tj-xiT" secondAttribute="centerY" id="pGW-dw-56G"/>
265 <constraint firstItem="HOl-Tj-xiT" firstAttribute="top" secondItem="YE6-wh-77T" secondAttribute="bottom" id="s6n-mU-Sp6"/> 265 <constraint firstItem="HOl-Tj-xiT" firstAttribute="top" secondItem="YE6-wh-77T" secondAttribute="bottom" id="s6n-mU-Sp6"/>
266 <constraint firstItem="HOl-Tj-xiT" firstAttribute="centerY" secondItem="4ix-HE-d9T" secondAttribute="centerY" id="vB9-RR-pao"/> 266 <constraint firstItem="HOl-Tj-xiT" firstAttribute="centerY" secondItem="4ix-HE-d9T" secondAttribute="centerY" id="vB9-RR-pao"/>
267 <constraint firstAttribute="trailing" secondItem="0pf-fX-QXT" secondAttribute="trailing" constant="38" id="xiP-fg-Ozi"/> 267 <constraint firstAttribute="trailing" secondItem="0pf-fX-QXT" secondAttribute="trailing" constant="38" id="xiP-fg-Ozi"/>
268 <constraint firstItem="YE6-wh-77T" firstAttribute="leading" secondItem="4ix-HE-d9T" secondAttribute="leading" constant="10" id="xj6-In-ihz"/> 268 <constraint firstItem="YE6-wh-77T" firstAttribute="leading" secondItem="4ix-HE-d9T" secondAttribute="leading" constant="10" id="xj6-In-ihz"/>
269 </constraints> 269 </constraints>
270 </view> 270 </view>
271 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iEh-Ze-suq"> 271 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iEh-Ze-suq">
272 <rect key="frame" x="20" y="158" width="335" height="35"/> 272 <rect key="frame" x="20" y="158" width="335" height="35"/>
273 <subviews> 273 <subviews>
274 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UwA-5Q-gdv"> 274 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UwA-5Q-gdv">
275 <rect key="frame" x="0.0" y="0.0" width="111.5" height="35"/> 275 <rect key="frame" x="0.0" y="0.0" width="111.5" height="35"/>
276 <subviews> 276 <subviews>
277 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="消費カロリー" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zRU-L6-Ed4" customClass="AutoTransLabel"> 277 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="消費カロリー" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zRU-L6-Ed4" customClass="AutoTransLabel">
278 <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/> 278 <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/>
279 <constraints> 279 <constraints>
280 <constraint firstAttribute="height" constant="18" id="Ywp-RA-6am"/> 280 <constraint firstAttribute="height" constant="18" id="Ywp-RA-6am"/>
281 </constraints> 281 </constraints>
282 <fontDescription key="fontDescription" type="system" pointSize="12"/> 282 <fontDescription key="fontDescription" type="system" pointSize="12"/>
283 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 283 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
284 <nil key="highlightedColor"/> 284 <nil key="highlightedColor"/>
285 <userDefinedRuntimeAttributes> 285 <userDefinedRuntimeAttributes>
286 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.calories"/> 286 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.calories"/>
287 </userDefinedRuntimeAttributes> 287 </userDefinedRuntimeAttributes>
288 </label> 288 </label>
289 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1000 kcal" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dAE-C8-QLr"> 289 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1000 kcal" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dAE-C8-QLr">
290 <rect key="frame" x="0.0" y="17" width="111.5" height="18"/> 290 <rect key="frame" x="0.0" y="17" width="111.5" height="18"/>
291 <constraints> 291 <constraints>
292 <constraint firstAttribute="height" constant="18" id="r0d-xi-3u7"/> 292 <constraint firstAttribute="height" constant="18" id="r0d-xi-3u7"/>
293 </constraints> 293 </constraints>
294 <fontDescription key="fontDescription" type="system" pointSize="12"/> 294 <fontDescription key="fontDescription" type="system" pointSize="12"/>
295 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 295 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
296 <nil key="highlightedColor"/> 296 <nil key="highlightedColor"/>
297 </label> 297 </label>
298 </subviews> 298 </subviews>
299 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 299 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
300 <constraints> 300 <constraints>
301 <constraint firstItem="zRU-L6-Ed4" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="Zbe-7f-cuR"/> 301 <constraint firstItem="zRU-L6-Ed4" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="Zbe-7f-cuR"/>
302 <constraint firstAttribute="bottom" secondItem="dAE-C8-QLr" secondAttribute="bottom" id="aZH-zh-M1V"/> 302 <constraint firstAttribute="bottom" secondItem="dAE-C8-QLr" secondAttribute="bottom" id="aZH-zh-M1V"/>
303 <constraint firstItem="zRU-L6-Ed4" firstAttribute="top" secondItem="UwA-5Q-gdv" secondAttribute="top" id="bsw-KU-Tcu"/> 303 <constraint firstItem="zRU-L6-Ed4" firstAttribute="top" secondItem="UwA-5Q-gdv" secondAttribute="top" id="bsw-KU-Tcu"/>
304 <constraint firstAttribute="trailing" secondItem="zRU-L6-Ed4" secondAttribute="trailing" id="iMB-ch-u4B"/> 304 <constraint firstAttribute="trailing" secondItem="zRU-L6-Ed4" secondAttribute="trailing" id="iMB-ch-u4B"/>
305 <constraint firstItem="dAE-C8-QLr" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="qNu-WH-Jjj"/> 305 <constraint firstItem="dAE-C8-QLr" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="qNu-WH-Jjj"/>
306 <constraint firstAttribute="trailing" secondItem="dAE-C8-QLr" secondAttribute="trailing" id="wRF-1x-XC1"/> 306 <constraint firstAttribute="trailing" secondItem="dAE-C8-QLr" secondAttribute="trailing" id="wRF-1x-XC1"/>
307 </constraints> 307 </constraints>
308 </view> 308 </view>
309 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVs-KG-fDF"> 309 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVs-KG-fDF">
310 <rect key="frame" x="111.5" y="0.0" width="112" height="35"/> 310 <rect key="frame" x="111.5" y="0.0" width="112" height="35"/>
311 <subviews> 311 <subviews>
312 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距離" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XGt-pc-sd7" customClass="AutoTransLabel"> 312 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距離" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XGt-pc-sd7" customClass="AutoTransLabel">
313 <rect key="frame" x="0.0" y="0.0" width="112" height="18"/> 313 <rect key="frame" x="0.0" y="0.0" width="112" height="18"/>
314 <constraints> 314 <constraints>
315 <constraint firstAttribute="height" constant="18" id="tct-pY-7wo"/> 315 <constraint firstAttribute="height" constant="18" id="tct-pY-7wo"/>
316 </constraints> 316 </constraints>
317 <fontDescription key="fontDescription" type="system" pointSize="12"/> 317 <fontDescription key="fontDescription" type="system" pointSize="12"/>
318 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 318 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
319 <nil key="highlightedColor"/> 319 <nil key="highlightedColor"/>
320 <userDefinedRuntimeAttributes> 320 <userDefinedRuntimeAttributes>
321 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.distance"/> 321 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.distance"/>
322 </userDefinedRuntimeAttributes> 322 </userDefinedRuntimeAttributes>
323 </label> 323 </label>
324 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.0 KM" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1tR-JC-pyw"> 324 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.0 KM" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1tR-JC-pyw">
325 <rect key="frame" x="0.0" y="17" width="112" height="18"/> 325 <rect key="frame" x="0.0" y="17" width="112" height="18"/>
326 <constraints> 326 <constraints>
327 <constraint firstAttribute="height" constant="18" id="sNT-xl-BKH"/> 327 <constraint firstAttribute="height" constant="18" id="sNT-xl-BKH"/>
328 </constraints> 328 </constraints>
329 <fontDescription key="fontDescription" type="system" pointSize="12"/> 329 <fontDescription key="fontDescription" type="system" pointSize="12"/>
330 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 330 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
331 <nil key="highlightedColor"/> 331 <nil key="highlightedColor"/>
332 </label> 332 </label>
333 </subviews> 333 </subviews>
334 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 334 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
335 <constraints> 335 <constraints>
336 <constraint firstItem="XGt-pc-sd7" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="Bd8-ZX-shc"/> 336 <constraint firstItem="XGt-pc-sd7" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="Bd8-ZX-shc"/>
337 <constraint firstAttribute="trailing" secondItem="1tR-JC-pyw" secondAttribute="trailing" id="Mrw-gb-r3n"/> 337 <constraint firstAttribute="trailing" secondItem="1tR-JC-pyw" secondAttribute="trailing" id="Mrw-gb-r3n"/>
338 <constraint firstAttribute="trailing" secondItem="XGt-pc-sd7" secondAttribute="trailing" id="cTc-te-Pc1"/> 338 <constraint firstAttribute="trailing" secondItem="XGt-pc-sd7" secondAttribute="trailing" id="cTc-te-Pc1"/>
339 <constraint firstItem="XGt-pc-sd7" firstAttribute="top" secondItem="BVs-KG-fDF" secondAttribute="top" id="cs1-A7-e5C"/> 339 <constraint firstItem="XGt-pc-sd7" firstAttribute="top" secondItem="BVs-KG-fDF" secondAttribute="top" id="cs1-A7-e5C"/>
340 <constraint firstAttribute="bottom" secondItem="1tR-JC-pyw" secondAttribute="bottom" id="vsZ-FE-X5m"/> 340 <constraint firstAttribute="bottom" secondItem="1tR-JC-pyw" secondAttribute="bottom" id="vsZ-FE-X5m"/>
341 <constraint firstItem="1tR-JC-pyw" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="xOd-ZK-rZn"/> 341 <constraint firstItem="1tR-JC-pyw" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="xOd-ZK-rZn"/>
342 </constraints> 342 </constraints>
343 </view> 343 </view>
344 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j5h-QD-Igf"> 344 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j5h-QD-Igf">
345 <rect key="frame" x="223.5" y="0.0" width="111.5" height="35"/> 345 <rect key="frame" x="223.5" y="0.0" width="111.5" height="35"/>
346 <subviews> 346 <subviews>
347 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="時間" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OEO-l8-Ibg" customClass="AutoTransLabel"> 347 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="時間" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OEO-l8-Ibg" customClass="AutoTransLabel">
348 <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/> 348 <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/>
349 <constraints> 349 <constraints>
350 <constraint firstAttribute="height" constant="18" id="EVe-qW-qqp"/> 350 <constraint firstAttribute="height" constant="18" id="EVe-qW-qqp"/>
351 </constraints> 351 </constraints>
352 <fontDescription key="fontDescription" type="system" pointSize="12"/> 352 <fontDescription key="fontDescription" type="system" pointSize="12"/>
353 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 353 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
354 <nil key="highlightedColor"/> 354 <nil key="highlightedColor"/>
355 <userDefinedRuntimeAttributes> 355 <userDefinedRuntimeAttributes>
356 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.time"/> 356 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.time"/>
357 </userDefinedRuntimeAttributes> 357 </userDefinedRuntimeAttributes>
358 </label> 358 </label>
359 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1:00 時間" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PfZ-7x-LAR"> 359 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1:00 時間" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PfZ-7x-LAR">
360 <rect key="frame" x="0.0" y="17" width="111.5" height="18"/> 360 <rect key="frame" x="0.0" y="17" width="111.5" height="18"/>
361 <constraints> 361 <constraints>
362 <constraint firstAttribute="height" constant="18" id="lno-Dx-ZNm"/> 362 <constraint firstAttribute="height" constant="18" id="lno-Dx-ZNm"/>
363 </constraints> 363 </constraints>
364 <fontDescription key="fontDescription" type="system" pointSize="12"/> 364 <fontDescription key="fontDescription" type="system" pointSize="12"/>
365 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 365 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
366 <nil key="highlightedColor"/> 366 <nil key="highlightedColor"/>
367 </label> 367 </label>
368 </subviews> 368 </subviews>
369 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 369 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
370 <constraints> 370 <constraints>
371 <constraint firstAttribute="trailing" secondItem="PfZ-7x-LAR" secondAttribute="trailing" id="3Ir-mZ-xmI"/> 371 <constraint firstAttribute="trailing" secondItem="PfZ-7x-LAR" secondAttribute="trailing" id="3Ir-mZ-xmI"/>
372 <constraint firstItem="OEO-l8-Ibg" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="5oW-CQ-vWi"/> 372 <constraint firstItem="OEO-l8-Ibg" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="5oW-CQ-vWi"/>
373 <constraint firstItem="PfZ-7x-LAR" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="Qur-SO-10d"/> 373 <constraint firstItem="PfZ-7x-LAR" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="Qur-SO-10d"/>
374 <constraint firstAttribute="trailing" secondItem="OEO-l8-Ibg" secondAttribute="trailing" id="WQn-Gv-plQ"/> 374 <constraint firstAttribute="trailing" secondItem="OEO-l8-Ibg" secondAttribute="trailing" id="WQn-Gv-plQ"/>
375 <constraint firstItem="OEO-l8-Ibg" firstAttribute="top" secondItem="j5h-QD-Igf" secondAttribute="top" id="lt7-Qt-rBM"/> 375 <constraint firstItem="OEO-l8-Ibg" firstAttribute="top" secondItem="j5h-QD-Igf" secondAttribute="top" id="lt7-Qt-rBM"/>
376 <constraint firstAttribute="bottom" secondItem="PfZ-7x-LAR" secondAttribute="bottom" id="qcA-M9-NYS"/> 376 <constraint firstAttribute="bottom" secondItem="PfZ-7x-LAR" secondAttribute="bottom" id="qcA-M9-NYS"/>
377 </constraints> 377 </constraints>
378 </view> 378 </view>
379 </subviews> 379 </subviews>
380 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 380 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
381 <constraints> 381 <constraints>
382 <constraint firstAttribute="bottom" secondItem="j5h-QD-Igf" secondAttribute="bottom" id="IsO-UX-w9t"/> 382 <constraint firstAttribute="bottom" secondItem="j5h-QD-Igf" secondAttribute="bottom" id="IsO-UX-w9t"/>
383 <constraint firstItem="j5h-QD-Igf" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Msr-oS-nFH"/> 383 <constraint firstItem="j5h-QD-Igf" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Msr-oS-nFH"/>
384 <constraint firstItem="BVs-KG-fDF" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Ohk-mJ-oCK"/> 384 <constraint firstItem="BVs-KG-fDF" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Ohk-mJ-oCK"/>
385 <constraint firstItem="UwA-5Q-gdv" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Pue-sC-wfB"/> 385 <constraint firstItem="UwA-5Q-gdv" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Pue-sC-wfB"/>
386 <constraint firstAttribute="height" constant="35" id="WDe-uC-4Qb"/> 386 <constraint firstAttribute="height" constant="35" id="WDe-uC-4Qb"/>
387 <constraint firstItem="BVs-KG-fDF" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="trailing" id="f8Q-F0-hjc"/> 387 <constraint firstItem="BVs-KG-fDF" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="trailing" id="f8Q-F0-hjc"/>
388 <constraint firstItem="BVs-KG-fDF" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="fdz-YH-1kJ"/> 388 <constraint firstItem="BVs-KG-fDF" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="fdz-YH-1kJ"/>
389 <constraint firstAttribute="bottom" secondItem="UwA-5Q-gdv" secondAttribute="bottom" id="gxD-wy-TgL"/> 389 <constraint firstAttribute="bottom" secondItem="UwA-5Q-gdv" secondAttribute="bottom" id="gxD-wy-TgL"/>
390 <constraint firstItem="j5h-QD-Igf" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="i3o-n4-fZN"/> 390 <constraint firstItem="j5h-QD-Igf" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="i3o-n4-fZN"/>
391 <constraint firstAttribute="trailing" secondItem="j5h-QD-Igf" secondAttribute="trailing" id="nT6-nS-H9z"/> 391 <constraint firstAttribute="trailing" secondItem="j5h-QD-Igf" secondAttribute="trailing" id="nT6-nS-H9z"/>
392 <constraint firstAttribute="bottom" secondItem="BVs-KG-fDF" secondAttribute="bottom" id="nqB-N3-F3F"/> 392 <constraint firstAttribute="bottom" secondItem="BVs-KG-fDF" secondAttribute="bottom" id="nqB-N3-F3F"/>
393 <constraint firstItem="UwA-5Q-gdv" firstAttribute="leading" secondItem="iEh-Ze-suq" secondAttribute="leading" id="oV9-IH-tYC"/> 393 <constraint firstItem="UwA-5Q-gdv" firstAttribute="leading" secondItem="iEh-Ze-suq" secondAttribute="leading" id="oV9-IH-tYC"/>
394 <constraint firstItem="j5h-QD-Igf" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="trailing" id="zOb-WE-3CI"/> 394 <constraint firstItem="j5h-QD-Igf" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="trailing" id="zOb-WE-3CI"/>
395 </constraints> 395 </constraints>
396 </view> 396 </view>
397 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqD-Y3-cYQ" customClass="BarChartView" customModule="Charts"> 397 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqD-Y3-cYQ" customClass="BarChartView" customModule="Charts">
398 <rect key="frame" x="0.0" y="201" width="375" height="100"/> 398 <rect key="frame" x="0.0" y="201" width="375" height="100"/>
399 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 399 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
400 <constraints> 400 <constraints>
401 <constraint firstAttribute="height" constant="100" id="aQR-hf-MhR"/> 401 <constraint firstAttribute="height" constant="100" id="aQR-hf-MhR"/>
402 </constraints> 402 </constraints>
403 </view> 403 </view>
404 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Iw2-nW-e7g" customClass="CollectionView"> 404 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Iw2-nW-e7g" customClass="CollectionView">
405 <rect key="frame" x="20" y="316" width="335" height="50"/> 405 <rect key="frame" x="20" y="316" width="335" height="50"/>
406 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 406 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
407 <constraints> 407 <constraints>
408 <constraint firstAttribute="height" constant="50" id="Yzh-hD-r0n"/> 408 <constraint firstAttribute="height" constant="50" id="Yzh-hD-r0n"/>
409 </constraints> 409 </constraints>
410 </view> 410 </view>
411 </subviews> 411 </subviews>
412 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 412 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
413 <constraints> 413 <constraints>
414 <constraint firstItem="VqD-Y3-cYQ" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="bottom" constant="8" id="0BA-6p-JLT"/> 414 <constraint firstItem="VqD-Y3-cYQ" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="bottom" constant="8" id="0BA-6p-JLT"/>
415 <constraint firstItem="Iw2-nW-e7g" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="2lH-sF-Mp0"/> 415 <constraint firstItem="Iw2-nW-e7g" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="2lH-sF-Mp0"/>
416 <constraint firstItem="iEh-Ze-suq" firstAttribute="top" secondItem="4ix-HE-d9T" secondAttribute="bottom" constant="8" id="9Sm-IQ-feL"/> 416 <constraint firstItem="iEh-Ze-suq" firstAttribute="top" secondItem="4ix-HE-d9T" secondAttribute="bottom" constant="8" id="9Sm-IQ-feL"/>
417 <constraint firstItem="VqD-Y3-cYQ" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" id="Gbd-bD-rFf"/> 417 <constraint firstItem="VqD-Y3-cYQ" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" id="Gbd-bD-rFf"/>
418 <constraint firstItem="4ix-HE-d9T" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="JyQ-KD-MhR"/> 418 <constraint firstItem="4ix-HE-d9T" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="JyQ-KD-MhR"/>
419 <constraint firstAttribute="trailing" secondItem="iEh-Ze-suq" secondAttribute="trailing" constant="20" id="RcZ-yN-56e"/> 419 <constraint firstAttribute="trailing" secondItem="iEh-Ze-suq" secondAttribute="trailing" constant="20" id="RcZ-yN-56e"/>
420 <constraint firstAttribute="trailing" secondItem="Iw2-nW-e7g" secondAttribute="trailing" constant="20" id="Xso-Or-Fgf"/> 420 <constraint firstAttribute="trailing" secondItem="Iw2-nW-e7g" secondAttribute="trailing" constant="20" id="Xso-Or-Fgf"/>
421 <constraint firstItem="Kzk-mN-AOf" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="YzU-Mb-veC"/> 421 <constraint firstItem="Kzk-mN-AOf" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="YzU-Mb-veC"/>
422 <constraint firstAttribute="trailing" secondItem="4ix-HE-d9T" secondAttribute="trailing" constant="8" id="del-xz-Tos"/> 422 <constraint firstAttribute="trailing" secondItem="4ix-HE-d9T" secondAttribute="trailing" constant="8" id="del-xz-Tos"/>
423 <constraint firstItem="4ix-HE-d9T" firstAttribute="height" secondItem="Kzk-mN-AOf" secondAttribute="height" id="duV-wT-9wp"/> 423 <constraint firstItem="4ix-HE-d9T" firstAttribute="height" secondItem="Kzk-mN-AOf" secondAttribute="height" id="duV-wT-9wp"/>
424 <constraint firstItem="Iw2-nW-e7g" firstAttribute="top" secondItem="VqD-Y3-cYQ" secondAttribute="bottom" constant="15" id="ekR-kS-L5v"/> 424 <constraint firstItem="Iw2-nW-e7g" firstAttribute="top" secondItem="VqD-Y3-cYQ" secondAttribute="bottom" constant="15" id="ekR-kS-L5v"/>
425 <constraint firstItem="Kzk-mN-AOf" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="hFq-WM-gLq"/> 425 <constraint firstItem="Kzk-mN-AOf" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="hFq-WM-gLq"/>
426 <constraint firstItem="4ix-HE-d9T" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="trailing" constant="8" id="hzO-hA-cNG"/> 426 <constraint firstItem="4ix-HE-d9T" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="trailing" constant="8" id="hzO-hA-cNG"/>
427 <constraint firstAttribute="trailing" secondItem="VqD-Y3-cYQ" secondAttribute="trailing" id="ptF-2O-CNR"/> 427 <constraint firstAttribute="trailing" secondItem="VqD-Y3-cYQ" secondAttribute="trailing" id="ptF-2O-CNR"/>
428 <constraint firstItem="iEh-Ze-suq" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="u5o-P4-qkL"/> 428 <constraint firstItem="iEh-Ze-suq" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="u5o-P4-qkL"/>
429 </constraints> 429 </constraints>
430 </view> 430 </view>
431 </subviews> 431 </subviews>
432 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 432 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
433 <constraints> 433 <constraints>
434 <constraint firstItem="Cam-ML-IEO" firstAttribute="centerY" secondItem="rey-N3-l8b" secondAttribute="centerY" id="0WD-1q-SWm"/> 434 <constraint firstItem="Cam-ML-IEO" firstAttribute="centerY" secondItem="rey-N3-l8b" secondAttribute="centerY" id="0WD-1q-SWm"/>
435 <constraint firstItem="Cam-ML-IEO" firstAttribute="width" secondItem="rey-N3-l8b" secondAttribute="width" id="LbF-3h-cxa"/> 435 <constraint firstItem="Cam-ML-IEO" firstAttribute="width" secondItem="rey-N3-l8b" secondAttribute="width" id="LbF-3h-cxa"/>
436 <constraint firstAttribute="trailing" secondItem="Cam-ML-IEO" secondAttribute="trailing" id="UHb-6d-wF8"/> 436 <constraint firstAttribute="trailing" secondItem="Cam-ML-IEO" secondAttribute="trailing" id="UHb-6d-wF8"/>
437 <constraint firstItem="Cam-ML-IEO" firstAttribute="leading" secondItem="rey-N3-l8b" secondAttribute="leading" id="Y4U-kD-V28"/> 437 <constraint firstItem="Cam-ML-IEO" firstAttribute="leading" secondItem="rey-N3-l8b" secondAttribute="leading" id="Y4U-kD-V28"/>
438 <constraint firstItem="Cam-ML-IEO" firstAttribute="top" secondItem="rey-N3-l8b" secondAttribute="top" id="ohS-iH-IIM"/> 438 <constraint firstItem="Cam-ML-IEO" firstAttribute="top" secondItem="rey-N3-l8b" secondAttribute="top" id="ohS-iH-IIM"/>
439 <constraint firstAttribute="bottom" secondItem="Cam-ML-IEO" secondAttribute="bottom" id="th8-dH-zv1"/> 439 <constraint firstAttribute="bottom" secondItem="Cam-ML-IEO" secondAttribute="bottom" id="th8-dH-zv1"/>
440 </constraints> 440 </constraints>
441 <connections> 441 <connections>
442 <outlet property="delegate" destination="-1" id="3Fl-Qy-gjm"/> 442 <outlet property="delegate" destination="-1" id="3Fl-Qy-gjm"/>
443 </connections> 443 </connections>
444 </scrollView> 444 </scrollView>
445 </subviews> 445 </subviews>
446 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 446 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
447 <constraints> 447 <constraints>
448 <constraint firstAttribute="trailing" secondItem="FXQ-4O-sRc" secondAttribute="trailing" constant="5" id="5y0-NC-rHp"/> 448 <constraint firstAttribute="trailing" secondItem="FXQ-4O-sRc" secondAttribute="trailing" constant="5" id="5y0-NC-rHp"/>
449 <constraint firstItem="FXQ-4O-sRc" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" constant="5" id="C0U-21-SKl"/> 449 <constraint firstItem="FXQ-4O-sRc" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" constant="5" id="C0U-21-SKl"/>
450 <constraint firstItem="FXQ-4O-sRc" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="CB0-VD-h5m"/> 450 <constraint firstItem="FXQ-4O-sRc" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="CB0-VD-h5m"/>
451 <constraint firstAttribute="bottom" secondItem="FXQ-4O-sRc" secondAttribute="bottom" id="FbP-FY-h1E"/> 451 <constraint firstAttribute="bottom" secondItem="FXQ-4O-sRc" secondAttribute="bottom" id="FbP-FY-h1E"/>
452 <constraint firstAttribute="trailing" secondItem="rey-N3-l8b" secondAttribute="trailing" id="KFD-f5-xci"/> 452 <constraint firstAttribute="trailing" secondItem="rey-N3-l8b" secondAttribute="trailing" id="KFD-f5-xci"/>
453 <constraint firstItem="rey-N3-l8b" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="SpB-31-H3a"/> 453 <constraint firstItem="rey-N3-l8b" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="SpB-31-H3a"/>
454 <constraint firstItem="rey-N3-l8b" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" id="YvS-I2-8Dg"/> 454 <constraint firstItem="rey-N3-l8b" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" id="YvS-I2-8Dg"/>
455 <constraint firstAttribute="bottom" secondItem="rey-N3-l8b" secondAttribute="bottom" id="enX-7g-Eib"/> 455 <constraint firstAttribute="bottom" secondItem="rey-N3-l8b" secondAttribute="bottom" id="enX-7g-Eib"/>
456 </constraints> 456 </constraints>
457 <connections> 457 <connections>
458 <outletCollection property="gestureRecognizers" destination="Qjg-St-rCc" appends="YES" id="egt-sX-aBC"/> 458 <outletCollection property="gestureRecognizers" destination="Qjg-St-rCc" appends="YES" id="egt-sX-aBC"/>
459 <outletCollection property="gestureRecognizers" destination="VSZ-i0-Jhb" appends="YES" id="UKr-c3-9pp"/> 459 <outletCollection property="gestureRecognizers" destination="VSZ-i0-Jhb" appends="YES" id="UKr-c3-9pp"/>
460 </connections> 460 </connections>
461 </view> 461 </view>
462 </subviews> 462 </subviews>
463 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> 463 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
464 <gestureRecognizers/> 464 <gestureRecognizers/>
465 <constraints> 465 <constraints>
466 <constraint firstAttribute="trailing" secondItem="Cf1-lP-zbB" secondAttribute="trailing" constant="10" id="20C-UL-MCu"/> 466 <constraint firstAttribute="trailing" secondItem="Cf1-lP-zbB" secondAttribute="trailing" constant="10" id="20C-UL-MCu"/>
467 <constraint firstItem="clL-JG-rbd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="3tf-ab-v41"/> 467 <constraint firstItem="clL-JG-rbd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="3tf-ab-v41"/>
468 <constraint firstItem="Cf1-lP-zbB" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="bottom" id="5vy-x5-G38"/> 468 <constraint firstItem="Cf1-lP-zbB" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="bottom" id="5vy-x5-G38"/>
469 <constraint firstItem="Cf1-lP-zbB" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="10" id="974-wJ-aRb"/> 469 <constraint firstItem="Cf1-lP-zbB" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="10" id="974-wJ-aRb"/>
470 <constraint firstItem="yxY-4d-tB6" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="2" id="Jqg-nE-6dv"/> 470 <constraint firstItem="yxY-4d-tB6" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="2" id="Jqg-nE-6dv"/>
471 <constraint firstAttribute="trailing" secondItem="BVv-qD-EHM" secondAttribute="trailing" id="MCi-Tl-hSp"/> 471 <constraint firstAttribute="trailing" secondItem="BVv-qD-EHM" secondAttribute="trailing" id="MCi-Tl-hSp"/>
472 <constraint firstAttribute="trailing" secondItem="yxY-4d-tB6" secondAttribute="trailing" constant="2" id="Qs5-ky-nmB"/> 472 <constraint firstAttribute="trailing" secondItem="yxY-4d-tB6" secondAttribute="trailing" constant="2" id="Qs5-ky-nmB"/>
473 <constraint firstAttribute="bottom" secondItem="BVv-qD-EHM" secondAttribute="bottom" constant="50" id="SbT-PG-8MJ"/> 473 <constraint firstAttribute="bottom" secondItem="BVv-qD-EHM" secondAttribute="bottom" constant="50" id="SbT-PG-8MJ"/>
474 <constraint firstItem="BVv-qD-EHM" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="SqH-AA-Z2K"/> 474 <constraint firstItem="BVv-qD-EHM" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="SqH-AA-Z2K"/>
475 <constraint firstItem="FLa-rV-Aas" firstAttribute="top" secondItem="yxY-4d-tB6" secondAttribute="bottom" constant="15" id="cWw-RX-1Kp"/> 475 <constraint firstItem="FLa-rV-Aas" firstAttribute="top" secondItem="yxY-4d-tB6" secondAttribute="bottom" constant="15" id="cWw-RX-1Kp"/>
476 <constraint firstItem="yxY-4d-tB6" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="bottom" constant="15" id="dSN-ey-gQ7"/> 476 <constraint firstItem="yxY-4d-tB6" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="bottom" constant="15" id="dSN-ey-gQ7"/>
477 <constraint firstItem="clL-JG-rbd" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="i5Z-XR-Msb"/> 477 <constraint firstItem="clL-JG-rbd" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="i5Z-XR-Msb"/>
478 <constraint firstItem="FLa-rV-Aas" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iiN-Zj-1uu"/> 478 <constraint firstItem="FLa-rV-Aas" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iiN-Zj-1uu"/>
479 <constraint firstAttribute="trailing" secondItem="FLa-rV-Aas" secondAttribute="trailing" id="jme-cz-cFt"/> 479 <constraint firstAttribute="trailing" secondItem="FLa-rV-Aas" secondAttribute="trailing" id="jme-cz-cFt"/>
480 <constraint firstItem="BVv-qD-EHM" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="bottom" constant="5" id="qbT-yT-phN"/> 480 <constraint firstItem="BVv-qD-EHM" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="bottom" constant="5" id="qbT-yT-phN"/>
481 <constraint firstAttribute="trailing" secondItem="clL-JG-rbd" secondAttribute="trailing" id="ri5-LG-xJH"/> 481 <constraint firstAttribute="trailing" secondItem="clL-JG-rbd" secondAttribute="trailing" id="ri5-LG-xJH"/>
482 </constraints> 482 </constraints>
483 <point key="canvasLocation" x="26.5" y="52.5"/> 483 <point key="canvasLocation" x="26.5" y="52.5"/>
484 </view> 484 </view>
485 <swipeGestureRecognizer enabled="NO" cancelsTouchesInView="NO" direction="left" id="Qjg-St-rCc"> 485 <swipeGestureRecognizer enabled="NO" cancelsTouchesInView="NO" direction="left" id="Qjg-St-rCc">
486 <connections> 486 <connections>
487 <action selector="swipeAction:" destination="-1" id="2Vl-bM-Ta7"/> 487 <action selector="swipeAction:" destination="-1" id="2Vl-bM-Ta7"/>
488 </connections> 488 </connections>
489 </swipeGestureRecognizer> 489 </swipeGestureRecognizer>
490 <swipeGestureRecognizer cancelsTouchesInView="NO" direction="right" id="VSZ-i0-Jhb"> 490 <swipeGestureRecognizer cancelsTouchesInView="NO" direction="right" id="VSZ-i0-Jhb">
491 <connections> 491 <connections>
492 <action selector="swipeAction:" destination="-1" id="hoY-6M-DoS"/> 492 <action selector="swipeAction:" destination="-1" id="hoY-6M-DoS"/>
493 </connections> 493 </connections>
494 </swipeGestureRecognizer> 494 </swipeGestureRecognizer>
495 </objects> 495 </objects>
496 <resources> 496 <resources>
497 <image name="arrow_back" width="22" height="22"/> 497 <image name="arrow_back" width="22" height="22"/>
498 <image name="arrow_next" width="22" height="22"/> 498 <image name="arrow_next" width="22" height="22"/>
499 <image name="icon_menu" width="30" height="30"/> 499 <image name="icon_menu" width="30" height="30"/>
500 <image name="today_back_button" width="73" height="37"/> 500 <image name="today_back_button" width="73" height="37"/>
501 </resources> 501 </resources>
502 </document> 502 </document>
503 503
LifeLog/LifeLog/SNSViewController.h
1 // 1 //
2 // SNSViewController.h 2 // SNSViewController.h
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 <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 #import "BaseTableViewController.h"
10 11
11 @interface SNSViewController : UIViewController<UITableViewDelegate, UITableViewDataSource> { 12 @interface SNSViewController : BaseTableViewController {
12 BOOL _firstTime;
13 BOOL _isLoading;
14 BOOL _isEndOfResult;
15 int _curPage;
16 NSMutableArray * _curTweetList;
17 }
18 13
19 @property (weak, nonatomic) IBOutlet UITableView *tableRecent; 14 }
20 15
21 @end 16 @end
LifeLog/LifeLog/SNSViewController.m
1 // 1 //
2 // SNSViewController.m 2 // SNSViewController.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 "SNSViewController.h" 9 #import "SNSViewController.h"
10 #import "SNSRecentTopicTableViewCell.h" 10 #import "SNSRecentTopicTableViewCell.h"
11 #import "ServerAPI.h" 11 #import "ServerAPI.h"
12 #import "Utilities.h" 12 #import "Utilities.h"
13 #import <SDWebImage/UIImageView+WebCache.h> 13 #import <SDWebImage/UIImageView+WebCache.h>
14 14
15 @interface SNSViewController () 15 @interface SNSViewController ()
16 16
17 @end 17 @end
18 18
19 @implementation SNSViewController 19 @implementation SNSViewController
20 20
21 - (void)viewDidLoad { 21 - (void)viewDidLoad {
22 [super viewDidLoad]; 22 [super viewDidLoad];
23 // Do any additional setup after loading the view from its nib. 23 // Do any additional setup after loading the view from its nib.
24 self.title = NSLocalizedString(@"lifelog.tapbar.sns", nil); 24 self.title = NSLocalizedString(@"lifelog.tapbar.sns", nil);
25 _firstTime = true; 25
26 _curPage = 1;
27 _isEndOfResult = false;
28
29 _curTweetList = [[NSMutableArray alloc] init];
30
31 [self callRequestToUpdateData]; 26 [self callRequestToUpdateData];
32 27
33 //register nib for table view 28 //register nib for table view
34 [self.tableRecent registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; 29 [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"];
35 } 30 }
36 31
37 - (void)didReceiveMemoryWarning { 32 - (void)didReceiveMemoryWarning {
38 [super didReceiveMemoryWarning]; 33 [super didReceiveMemoryWarning];
39 // Dispose of any resources that can be recreated. 34 // Dispose of any resources that can be recreated.
40 } 35 }
41 36
42 37
43 #pragma mark UITableView Delegate 38 #pragma mark UITableView Delegate
44 - (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
45 if((_curTweetList == nil || _curTweetList.count == 0) && !_firstTime) {
46 UILabel * noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, tableView.frame.size.height)];
47 noDataLabel.text = @"No data available";
48 noDataLabel.backgroundColor = [UIColor clearColor];
49 noDataLabel.textColor = [UIColor whiteColor];
50 noDataLabel.textAlignment = NSTextAlignmentCenter;
51 tableView.backgroundView = noDataLabel;
52 tableView.backgroundView.layer.zPosition -= 1;
53 return 0;
54 }
55 tableView.backgroundView = nil;
56 return 1;
57 }
58
59 - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
60 return _curTweetList.count;
61 }
62
63 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 39 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
64 SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; 40 SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"];
65 TweetObject *object = [_curTweetList objectAtIndex:indexPath.row]; 41 TweetObject *object = [_curDataList objectAtIndex:indexPath.row];
66 if(object.avatarLink && ![object.avatarLink isKindOfClass:[NSNull class]]) { 42 if(object.avatarLink && ![object.avatarLink isKindOfClass:[NSNull class]]) {
67 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatarLink]]]; 43 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatarLink]]];
68 } 44 }
69 cell.lblDateTime.text = [Utilities stringFromDate:object.createDate withFormat:@"YYYY/MM/dd hh:mm"]; 45 cell.lblDateTime.text = [Utilities stringFromDate:object.createDate withFormat:@"YYYY/MM/dd hh:mm"];
70 cell.lblUsername.text = object.userName; 46 cell.lblUsername.text = object.userName;
71 cell.lblDes.text = object.content; 47 cell.lblDes.text = object.content;
72 cell.lblMode.text = object.mode; 48 cell.lblMode.text = object.mode;
73 cell.lblDistance.text = [NSString stringWithFormat:@"%.0f m", object.distance]; 49 cell.lblDistance.text = [NSString stringWithFormat:@"%.0f m", object.distance];
74 cell.lblDuration.text = object.time; 50 cell.lblDuration.text = object.time;
75 return cell; 51 return cell;
76 } 52 }
77 53
78 - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
79 NSInteger lastRowIndex = [tableView numberOfRowsInSection:0] - 1;
80 if (indexPath.row == lastRowIndex) {
81 // This is the last cell
82 if(!_isLoading) {
83 _curPage += 1;
84 [self callRequestToUpdateData];
85 }
86 }
87 }
88 #pragma mark Private Function 54 #pragma mark Private Function
89 55
90 -(void) callRequestToUpdateData { 56 -(void) callRequestToUpdateData {
91 _isLoading = true; 57 [super callRequestToUpdateData];
58
92 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; 59 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
93 MBProgressHUD *hudView = nil; 60 MBProgressHUD *hudView = nil;
94 if(_curPage == 1) { 61 if(_curPage == 1 && !self.refreshControl.isRefreshing) {
95 hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; 62 hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
96 } 63 }
97 [[ServerAPI server] requestRecentlyTweetsList:token withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ 64 [[ServerAPI server] requestRecentlyTweetsList:token withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){
98 SNSViewController __weak *weakSelf = self;
99 _isLoading = false;
100 dispatch_async(dispatch_get_main_queue(), ^{ 65 dispatch_async(dispatch_get_main_queue(), ^{
101 if(hudView != nil) { 66 if(hudView != nil) {
102 [hudView hideAnimated:true]; 67 [hudView hideAnimated:true];
103 } 68 }
104 }); 69 });
105 if(error == nil) { 70 SNSViewController __weak *weakSelf = self;
106 if(_curPage == 1) { 71 [weakSelf updateTableData:array error:error];
107 [_curTweetList removeAllObjects];
108 }
109 if(array.count != 0) {
110 [_curTweetList addObjectsFromArray:array];
111 dispatch_async(dispatch_get_main_queue(), ^{
112 [weakSelf.tableRecent reloadData];
113 });
114 }
115 else {
116 _isEndOfResult = true;
117 _curPage = MAX(1, _curPage - 1);
118 }
119 }
120 else {
121 _curPage = MAX(1, _curPage - 1);
122 dispatch_async(dispatch_get_main_queue(), ^{
123 NSString *message = [error.userInfo objectForKey:@"message"];
124 [Utilities showErrorMessage:message withViewController:weakSelf];
125 });
126 }
127
128 }]; 72 }];
129 }
130
131 -(void) resetData {
132 _isLoading = false;
133 _isEndOfResult = false;
134 _firstTime = true;
135 _curPage = 1;
136 } 73 }
137 74
138 @end 75 @end
LifeLog/LifeLog/SNSViewController.xib
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> 7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 </dependencies> 9 </dependencies>
10 <objects> 10 <objects>
11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SNSViewController"> 11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SNSViewController">
12 <connections> 12 <connections>
13 <outlet property="tableRecent" destination="KcG-O5-UhK" id="80p-fP-6Pb"/> 13 <outlet property="tableBase" destination="KcG-O5-UhK" id="gDL-iU-n52"/>
14 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> 14 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
15 </connections> 15 </connections>
16 </placeholder> 16 </placeholder>
17 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 17 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
18 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> 18 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
19 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 19 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
20 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 20 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
21 <subviews> 21 <subviews>
22 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O4Q-H0-WBO" userLabel="ViewHeader"> 22 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O4Q-H0-WBO" userLabel="ViewHeader">
23 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 23 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
24 <subviews> 24 <subviews>
25 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="afS-51-Q5Z" customClass="AutoTransLabel"> 25 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="afS-51-Q5Z" customClass="AutoTransLabel">
26 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 26 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
27 <fontDescription key="fontDescription" type="system" pointSize="17"/> 27 <fontDescription key="fontDescription" type="system" pointSize="17"/>
28 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 28 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
29 <nil key="highlightedColor"/> 29 <nil key="highlightedColor"/>
30 <userDefinedRuntimeAttributes> 30 <userDefinedRuntimeAttributes>
31 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.title"/> 31 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.title"/>
32 </userDefinedRuntimeAttributes> 32 </userDefinedRuntimeAttributes>
33 </label> 33 </label>
34 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-oM-ejb"> 34 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-oM-ejb">
35 <rect key="frame" x="0.0" y="5" width="70" height="36"/> 35 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
36 <constraints> 36 <constraints>
37 <constraint firstAttribute="width" constant="70" id="ZpD-Ru-8wG"/> 37 <constraint firstAttribute="width" constant="70" id="ZpD-Ru-8wG"/>
38 </constraints> 38 </constraints>
39 <state key="normal" image="today_back_button"/> 39 <state key="normal" image="today_back_button"/>
40 </button> 40 </button>
41 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CJn-w1-o2o"> 41 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CJn-w1-o2o">
42 <rect key="frame" x="330" y="0.0" width="45" height="46"/> 42 <rect key="frame" x="330" y="0.0" width="45" height="46"/>
43 <constraints> 43 <constraints>
44 <constraint firstAttribute="width" constant="45" id="5jv-6w-JAE"/> 44 <constraint firstAttribute="width" constant="45" id="5jv-6w-JAE"/>
45 </constraints> 45 </constraints>
46 <state key="normal" image="icon_menu"/> 46 <state key="normal" image="icon_menu"/>
47 </button> 47 </button>
48 </subviews> 48 </subviews>
49 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 49 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
50 <constraints> 50 <constraints>
51 <constraint firstItem="CJn-w1-o2o" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="1zI-mI-RXX"/> 51 <constraint firstItem="CJn-w1-o2o" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="1zI-mI-RXX"/>
52 <constraint firstAttribute="trailing" secondItem="afS-51-Q5Z" secondAttribute="trailing" id="7I5-1M-8AE"/> 52 <constraint firstAttribute="trailing" secondItem="afS-51-Q5Z" secondAttribute="trailing" id="7I5-1M-8AE"/>
53 <constraint firstItem="afS-51-Q5Z" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="IEr-WN-6MO"/> 53 <constraint firstItem="afS-51-Q5Z" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="IEr-WN-6MO"/>
54 <constraint firstAttribute="bottom" secondItem="afS-51-Q5Z" secondAttribute="bottom" id="LNL-Mo-g5c"/> 54 <constraint firstAttribute="bottom" secondItem="afS-51-Q5Z" secondAttribute="bottom" id="LNL-Mo-g5c"/>
55 <constraint firstItem="BIE-oM-ejb" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="O9H-bB-I0V"/> 55 <constraint firstItem="BIE-oM-ejb" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="O9H-bB-I0V"/>
56 <constraint firstAttribute="height" constant="46" id="Pmw-mV-DhU"/> 56 <constraint firstAttribute="height" constant="46" id="Pmw-mV-DhU"/>
57 <constraint firstAttribute="bottom" secondItem="CJn-w1-o2o" secondAttribute="bottom" id="Xmh-Qg-N81"/> 57 <constraint firstAttribute="bottom" secondItem="CJn-w1-o2o" secondAttribute="bottom" id="Xmh-Qg-N81"/>
58 <constraint firstAttribute="trailing" secondItem="CJn-w1-o2o" secondAttribute="trailing" id="l2g-NC-l1f"/> 58 <constraint firstAttribute="trailing" secondItem="CJn-w1-o2o" secondAttribute="trailing" id="l2g-NC-l1f"/>
59 <constraint firstAttribute="bottom" secondItem="BIE-oM-ejb" secondAttribute="bottom" constant="5" id="lwA-7z-Gi9"/> 59 <constraint firstAttribute="bottom" secondItem="BIE-oM-ejb" secondAttribute="bottom" constant="5" id="lwA-7z-Gi9"/>
60 <constraint firstItem="BIE-oM-ejb" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" constant="5" id="r6e-SB-lb7"/> 60 <constraint firstItem="BIE-oM-ejb" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" constant="5" id="r6e-SB-lb7"/>
61 <constraint firstItem="afS-51-Q5Z" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="vAx-Bu-CLe"/> 61 <constraint firstItem="afS-51-Q5Z" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="vAx-Bu-CLe"/>
62 </constraints> 62 </constraints>
63 </view> 63 </view>
64 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5ZL-zf-geZ" customClass="AutoTransButton"> 64 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5ZL-zf-geZ" customClass="AutoTransButton">
65 <rect key="frame" x="20" y="76" width="335" height="40"/> 65 <rect key="frame" x="20" y="76" width="335" height="40"/>
66 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 66 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
67 <constraints> 67 <constraints>
68 <constraint firstAttribute="height" constant="40" id="ATx-eA-hJ1"/> 68 <constraint firstAttribute="height" constant="40" id="ATx-eA-hJ1"/>
69 </constraints> 69 </constraints>
70 <fontDescription key="fontDescription" type="system" pointSize="13"/> 70 <fontDescription key="fontDescription" type="system" pointSize="13"/>
71 <state key="normal"> 71 <state key="normal">
72 <string key="title" base64-UTF8="YES"> 72 <string key="title" base64-UTF8="YES">
73 44Kq44K544K544Oh44Kw44Or44O844OXAA 73 44Kq44K544K544Oh44Kw44Or44O844OXAA
74 </string> 74 </string>
75 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 75 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
76 </state> 76 </state>
77 <userDefinedRuntimeAttributes> 77 <userDefinedRuntimeAttributes>
78 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> 78 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius">
79 <integer key="value" value="5"/> 79 <integer key="value" value="5"/>
80 </userDefinedRuntimeAttribute> 80 </userDefinedRuntimeAttribute>
81 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.commendgroup"/> 81 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.commendgroup"/>
82 </userDefinedRuntimeAttributes> 82 </userDefinedRuntimeAttributes>
83 </button> 83 </button>
84 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uB3-Sm-i6e" customClass="AutoTransButton"> 84 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uB3-Sm-i6e" customClass="AutoTransButton">
85 <rect key="frame" x="20" y="126" width="335" height="40"/> 85 <rect key="frame" x="20" y="126" width="335" height="40"/>
86 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 86 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
87 <constraints> 87 <constraints>
88 <constraint firstAttribute="height" constant="40" id="oph-d8-bxh"/> 88 <constraint firstAttribute="height" constant="40" id="oph-d8-bxh"/>
89 </constraints> 89 </constraints>
90 <fontDescription key="fontDescription" type="system" pointSize="13"/> 90 <fontDescription key="fontDescription" type="system" pointSize="13"/>
91 <state key="normal"> 91 <state key="normal">
92 <string key="title" base64-UTF8="YES"> 92 <string key="title" base64-UTF8="YES">
93 44Oe44Kk44Kw44Or44O844OXAA 93 44Oe44Kk44Kw44Or44O844OXAA
94 </string> 94 </string>
95 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 95 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
96 </state> 96 </state>
97 <userDefinedRuntimeAttributes> 97 <userDefinedRuntimeAttributes>
98 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> 98 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius">
99 <integer key="value" value="5"/> 99 <integer key="value" value="5"/>
100 </userDefinedRuntimeAttribute> 100 </userDefinedRuntimeAttribute>
101 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.mygroup"/> 101 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.mygroup"/>
102 </userDefinedRuntimeAttributes> 102 </userDefinedRuntimeAttributes>
103 </button> 103 </button>
104 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近の話題" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zzn-bU-X6s" customClass="AutoTransLabel"> 104 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近の話題" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zzn-bU-X6s" customClass="AutoTransLabel">
105 <rect key="frame" x="20" y="226" width="335" height="21"/> 105 <rect key="frame" x="20" y="226" width="335" height="21"/>
106 <constraints> 106 <constraints>
107 <constraint firstAttribute="height" constant="21" id="Gu9-7U-YXF"/> 107 <constraint firstAttribute="height" constant="21" id="Gu9-7U-YXF"/>
108 </constraints> 108 </constraints>
109 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> 109 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
110 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 110 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
111 <nil key="highlightedColor"/> 111 <nil key="highlightedColor"/>
112 <userDefinedRuntimeAttributes> 112 <userDefinedRuntimeAttributes>
113 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.lbl.recent"/> 113 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.lbl.recent"/>
114 </userDefinedRuntimeAttributes> 114 </userDefinedRuntimeAttributes>
115 </label> 115 </label>
116 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="KcG-O5-UhK"> 116 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="KcG-O5-UhK">
117 <rect key="frame" x="0.0" y="255" width="375" height="362"/> 117 <rect key="frame" x="0.0" y="255" width="375" height="362"/>
118 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 118 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
119 <connections> 119 <connections>
120 <outlet property="dataSource" destination="-1" id="Y5Y-4y-Bzz"/> 120 <outlet property="dataSource" destination="-1" id="Y5Y-4y-Bzz"/>
121 <outlet property="delegate" destination="-1" id="VCg-Ha-vdk"/> 121 <outlet property="delegate" destination="-1" id="VCg-Ha-vdk"/>
122 </connections> 122 </connections>
123 </tableView> 123 </tableView>
124 </subviews> 124 </subviews>
125 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> 125 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
126 <constraints> 126 <constraints>
127 <constraint firstItem="O4Q-H0-WBO" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="0u7-Ks-LSt"/> 127 <constraint firstItem="O4Q-H0-WBO" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="0u7-Ks-LSt"/>
128 <constraint firstAttribute="trailing" secondItem="O4Q-H0-WBO" secondAttribute="trailing" id="2pA-85-kwM"/> 128 <constraint firstAttribute="trailing" secondItem="O4Q-H0-WBO" secondAttribute="trailing" id="2pA-85-kwM"/>
129 <constraint firstItem="zzn-bU-X6s" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="4Uu-Hd-lEX"/> 129 <constraint firstItem="zzn-bU-X6s" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="4Uu-Hd-lEX"/>
130 <constraint firstItem="uB3-Sm-i6e" firstAttribute="top" secondItem="5ZL-zf-geZ" secondAttribute="bottom" constant="10" id="BBu-TF-Z8P"/> 130 <constraint firstItem="uB3-Sm-i6e" firstAttribute="top" secondItem="5ZL-zf-geZ" secondAttribute="bottom" constant="10" id="BBu-TF-Z8P"/>
131 <constraint firstItem="O4Q-H0-WBO" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ml4-eE-LTb"/> 131 <constraint firstItem="O4Q-H0-WBO" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ml4-eE-LTb"/>
132 <constraint firstAttribute="bottom" secondItem="KcG-O5-UhK" secondAttribute="bottom" constant="50" id="O0M-Cr-W0f"/> 132 <constraint firstAttribute="bottom" secondItem="KcG-O5-UhK" secondAttribute="bottom" constant="50" id="O0M-Cr-W0f"/>
133 <constraint firstAttribute="trailing" secondItem="uB3-Sm-i6e" secondAttribute="trailing" constant="20" id="Qu0-ja-Iwx"/> 133 <constraint firstAttribute="trailing" secondItem="uB3-Sm-i6e" secondAttribute="trailing" constant="20" id="Qu0-ja-Iwx"/>
134 <constraint firstAttribute="trailing" secondItem="5ZL-zf-geZ" secondAttribute="trailing" constant="20" id="Sdn-yt-XFa"/> 134 <constraint firstAttribute="trailing" secondItem="5ZL-zf-geZ" secondAttribute="trailing" constant="20" id="Sdn-yt-XFa"/>
135 <constraint firstAttribute="trailing" secondItem="KcG-O5-UhK" secondAttribute="trailing" id="T6S-Bu-Yqj"/> 135 <constraint firstAttribute="trailing" secondItem="KcG-O5-UhK" secondAttribute="trailing" id="T6S-Bu-Yqj"/>
136 <constraint firstItem="5ZL-zf-geZ" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="bottom" constant="30" id="byK-GM-sv0"/> 136 <constraint firstItem="5ZL-zf-geZ" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="bottom" constant="30" id="byK-GM-sv0"/>
137 <constraint firstItem="KcG-O5-UhK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eBl-Gj-eMk"/> 137 <constraint firstItem="KcG-O5-UhK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eBl-Gj-eMk"/>
138 <constraint firstItem="zzn-bU-X6s" firstAttribute="top" secondItem="uB3-Sm-i6e" secondAttribute="bottom" constant="60" id="edW-Ji-61a"/> 138 <constraint firstItem="zzn-bU-X6s" firstAttribute="top" secondItem="uB3-Sm-i6e" secondAttribute="bottom" constant="60" id="edW-Ji-61a"/>
139 <constraint firstAttribute="trailing" secondItem="zzn-bU-X6s" secondAttribute="trailing" constant="20" id="ftd-7J-C4c"/> 139 <constraint firstAttribute="trailing" secondItem="zzn-bU-X6s" secondAttribute="trailing" constant="20" id="ftd-7J-C4c"/>
140 <constraint firstItem="5ZL-zf-geZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="jDz-q1-ufR"/> 140 <constraint firstItem="5ZL-zf-geZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="jDz-q1-ufR"/>
141 <constraint firstItem="KcG-O5-UhK" firstAttribute="top" secondItem="zzn-bU-X6s" secondAttribute="bottom" constant="8" id="lFR-We-lIy"/> 141 <constraint firstItem="KcG-O5-UhK" firstAttribute="top" secondItem="zzn-bU-X6s" secondAttribute="bottom" constant="8" id="lFR-We-lIy"/>
142 <constraint firstItem="uB3-Sm-i6e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="v4n-Fr-Vhx"/> 142 <constraint firstItem="uB3-Sm-i6e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="v4n-Fr-Vhx"/>
143 </constraints> 143 </constraints>
144 <point key="canvasLocation" x="24.5" y="52.5"/> 144 <point key="canvasLocation" x="24.5" y="52.5"/>
145 </view> 145 </view>
146 </objects> 146 </objects>
147 <resources> 147 <resources>
148 <image name="icon_menu" width="30" height="30"/> 148 <image name="icon_menu" width="30" height="30"/>
149 <image name="today_back_button" width="73" height="37"/> 149 <image name="today_back_button" width="73" height="37"/>
150 </resources> 150 </resources>
151 </document> 151 </document>
152 152
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 15
16 @interface ServerAPI : NSObject 16 @interface ServerAPI : NSObject
17 + (instancetype) server; 17 + (instancetype) server;
18 @property (nonatomic, assign) NSTimeInterval timeOutInterval; 18 @property (nonatomic, assign) NSTimeInterval timeOutInterval;
19 - (void)loginWithEmail:(NSString *)email Password:(NSString *)password CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion; 19 - (void)loginWithEmail:(NSString *)email Password:(NSString *)password CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion;
20 - (void)registerUserWithParams:(NSDictionary *)params CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion; 20 - (void)registerUserWithParams:(NSDictionary *)params CompletionHandler: (void (^)(User *, NSString *, NSError *)) completion;
21 - (void)uploadImage:(NSString *)token andImageData:(NSData *)data CompletionHandler:(void (^)(NSString *, NSError *)) completion; 21 - (void)uploadImage:(NSString *)token andImageData:(NSData *)data CompletionHandler:(void (^)(NSString *, NSError *)) completion;
22 - (void)forgetPass:(NSString *)email CompletionHandler:(void (^)(NSError *)) completion; 22 - (void)forgetPass:(NSString *)email CompletionHandler:(void (^)(NSError *)) completion;
23 - (void)confirmForgetPass:(NSString *)email withConfirm:(NSString *)confirm CompletionHandler:(void (^)(NSError *)) completion; 23 - (void)confirmForgetPass:(NSString *)email withConfirm:(NSString *)confirm CompletionHandler:(void (^)(NSError *)) completion;
24 24
25 #pragma mark - History Screen Function 25 #pragma mark - History Screen Function
26 - (void) requestHistory:(NSString *)token atDate:(NSDate *)date withType:(int)type andMode:(int) mode CompletionHandler:(void (^)(HistoryObject *, NSError *)) completion; 26 - (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; 27 - (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 (^)(NSMutableArray *, NSError *)) completion; 28 - (void) requestHistoryList:(NSString *)token withType:(int)type andMode:(int) mode AtPage:(int) page CompletionHandler:(void (^)(NSArray *, NSError *)) completion;
29 29
30 #pragma mark - SNS Screen Function 30 #pragma mark - SNS Screen Function
31 - (void) requestRecentlyTweetsList:(NSString *)token withPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion; 31 - (void) requestRecentlyTweetsList:(NSString *)token withPage:(int)page CompletionHandler:(void (^)(NSArray *, NSError *)) completion;
32 @end 32 @end
33 33