diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..e6903ec75 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +Coding_iOS/Resources/* linguist-vendored diff --git a/.gitignore b/.gitignore index 2df519258..1ef09afad 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ DerivedData *.xcuserstate Coding_iOS/Coding_iOS-Prefix.pch +Coding_iOS/Coding_Enterprise_iOS-Prefix.pch .DS_Store # CocoaPods # @@ -25,6 +26,7 @@ Coding_iOS/Coding_iOS-Prefix.pch # you should judge for yourself, the pros and cons are mentioned at: # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control # +Carthage/ Pods/ .idea/ *.xcbkptlist diff --git a/.gitmodules b/.gitmodules index 67b2b3e9a..e69de29bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "Coding_iOS/Resources/webview"] - path = Coding_iOS/Resources/webview - url = git://git.coding.net/coding/CodingAppWebviewTemplate.git diff --git a/Cartfile.resolved b/Cartfile.resolved index 27951505c..efc011b20 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1 @@ -github "libgit2/objective-git" "0.12.0" +github "libgit2/objective-git" "0.14.1" diff --git a/Coding_iOS.xcodeproj/project.pbxproj b/Coding_iOS.xcodeproj/project.pbxproj index e13832bdc..2670133d7 100644 --- a/Coding_iOS.xcodeproj/project.pbxproj +++ b/Coding_iOS.xcodeproj/project.pbxproj @@ -69,9 +69,6 @@ 13FB5D3B1CA17A6400EE127C /* PR_push@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1A1CA17A6400EE127C /* PR_push@3x.png */; }; 13FB5D3C1CA17A6400EE127C /* PR_update_content@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1B1CA17A6400EE127C /* PR_update_content@2x.png */; }; 13FB5D3D1CA17A6400EE127C /* PR_update_content@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1C1CA17A6400EE127C /* PR_update_content@3x.png */; }; - 13FB5D3E1CA17A6400EE127C /* EPointLikeHead@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1D1CA17A6400EE127C /* EPointLikeHead@1x.png */; }; - 13FB5D3F1CA17A6400EE127C /* EPointLikeHead@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1E1CA17A6400EE127C /* EPointLikeHead@2x.png */; }; - 13FB5D401CA17A6400EE127C /* EPointLikeHead@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1F1CA17A6400EE127C /* EPointLikeHead@3x.png */; }; 13FB5D411CA17A6400EE127C /* PR_refuse@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D201CA17A6400EE127C /* PR_refuse@2x.png */; }; 13FB5D421CA17A6400EE127C /* PR_refuse@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D211CA17A6400EE127C /* PR_refuse@3x.png */; }; 13FB5D431CA17A6400EE127C /* PR_grant_undo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D221CA17A6400EE127C /* PR_grant_undo@2x.png */; }; @@ -80,12 +77,10 @@ 13FB5D461CA17A6400EE127C /* merge-request coding@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D251CA17A6400EE127C /* merge-request coding@3x.png */; }; 13FB5D471CA17A6400EE127C /* PR_mergeChanges@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D261CA17A6400EE127C /* PR_mergeChanges@2x.png */; }; 13FB5D481CA17A6400EE127C /* PR_mergeChanges@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D271CA17A6400EE127C /* PR_mergeChanges@3x.png */; }; - 13FB5D491CA17A6400EE127C /* PointLikeHead@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D281CA17A6400EE127C /* PointLikeHead@1x.png */; }; 13FB5D4A1CA17A6400EE127C /* PointLikeHead@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D291CA17A6400EE127C /* PointLikeHead@2x.png */; }; 13FB5D4B1CA17A6400EE127C /* PointLikeHead@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2A1CA17A6400EE127C /* PointLikeHead@3x.png */; }; 13FB5D4C1CA17A6400EE127C /* PR_review@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2B1CA17A6400EE127C /* PR_review@2x.png */; }; 13FB5D4D1CA17A6400EE127C /* PR_review@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2C1CA17A6400EE127C /* PR_review@3x.png */; }; - 13FB5D4E1CA17A6400EE127C /* PRReviewer@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2D1CA17A6400EE127C /* PRReviewer@1x.png */; }; 13FB5D4F1CA17A6400EE127C /* PRReviewer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2E1CA17A6400EE127C /* PRReviewer@2x.png */; }; 13FB5D501CA17A6400EE127C /* PRReviewer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2F1CA17A6400EE127C /* PRReviewer@3x.png */; }; 13FB5D511CA17A6400EE127C /* PR_review_undo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D301CA17A6400EE127C /* PR_review_undo@2x.png */; }; @@ -101,7 +96,6 @@ 3A3878491AE36ED70078D5DE /* TopicListButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3878481AE36ED70078D5DE /* TopicListButton.m */; }; 3A38784C1AE36EF00078D5DE /* TopicListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A38784B1AE36EF00078D5DE /* TopicListView.m */; }; 3A38784F1AE557700078D5DE /* TopicPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A38784E1AE557700078D5DE /* TopicPreviewCell.m */; }; - 4127E2D4A3B12C8C8BE5E69A /* libPods-Coding_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4941C1866223FC6EAF6D77E6 /* libPods-Coding_iOS.a */; }; 4E0022831B72095E005308DE /* PointRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022821B72095E005308DE /* PointRecord.m */; }; 4E0022861B720966005308DE /* PointRecords.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022851B720966005308DE /* PointRecords.m */; }; 4E0022891B721516005308DE /* PointRecordsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022881B721516005308DE /* PointRecordsViewController.m */; }; @@ -112,39 +106,24 @@ 4E00229C1B735075005308DE /* EAIntroPage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022991B735075005308DE /* EAIntroPage.m */; }; 4E00229D1B735075005308DE /* EAIntroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E00229B1B735075005308DE /* EAIntroView.m */; }; 4E0022A01B7360B1005308DE /* FunctionIntroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E00229F1B7360B1005308DE /* FunctionIntroManager.m */; }; - 4E0022A61B7362EF005308DE /* intro_page0_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E0022A21B7362EF005308DE /* intro_page0_ip4@2x.png */; }; - 4E0022A71B7362EF005308DE /* intro_page0_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E0022A31B7362EF005308DE /* intro_page0_ip5@2x.png */; }; - 4E0022A81B7362EF005308DE /* intro_page0_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E0022A41B7362EF005308DE /* intro_page0_ip6+@3x.png */; }; - 4E0022A91B7362EF005308DE /* intro_page0_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E0022A51B7362EF005308DE /* intro_page0_ip6@2x.png */; }; 4E03AC9A1A5BDDF9002B000B /* STARTIMAGE.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4E03AC991A5BDDF9002B000B /* STARTIMAGE.jpg */; }; 4E03ACA61A5D2060002B000B /* UIVerticalAlignmentLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E03ACA51A5D2060002B000B /* UIVerticalAlignmentLabel.m */; }; 4E07D3081A4A96EA009EDDF2 /* FileListUploadCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E07D3071A4A96EA009EDDF2 /* FileListUploadCell.m */; }; 4E07D30D1A4A9F45009EDDF2 /* btn_file_cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E07D30B1A4A9F45009EDDF2 /* btn_file_cancel@2x.png */; }; 4E07D30E1A4A9F45009EDDF2 /* btn_file_reDo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E07D30C1A4A9F45009EDDF2 /* btn_file_reDo@2x.png */; }; 4E07D3111A4D1484009EDDF2 /* EaseStartView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E07D3101A4D1484009EDDF2 /* EaseStartView.m */; }; - 4E07D3151A4D3CA6009EDDF2 /* icon_user_monkey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E07D3121A4D3CA6009EDDF2 /* icon_user_monkey@2x.png */; }; - 4E07D3161A4D3CA6009EDDF2 /* logo_coding@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E07D3131A4D3CA6009EDDF2 /* logo_coding@2x.png */; }; 4E0849801A918A7F00BD27F6 /* coding_emoji_38@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497A1A918A7F00BD27F6 /* coding_emoji_38@2x.png */; }; 4E0849811A918A7F00BD27F6 /* coding_emoji_39@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497B1A918A7F00BD27F6 /* coding_emoji_39@2x.png */; }; 4E0849821A918A7F00BD27F6 /* coding_emoji_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497C1A918A7F00BD27F6 /* coding_emoji_40@2x.png */; }; 4E0849831A918A7F00BD27F6 /* coding_emoji_41@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497D1A918A7F00BD27F6 /* coding_emoji_41@2x.png */; }; 4E0849841A918A7F00BD27F6 /* coding_emoji_42@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497E1A918A7F00BD27F6 /* coding_emoji_42@2x.png */; }; 4E0849851A918A7F00BD27F6 /* coding_emoji_43@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497F1A918A7F00BD27F6 /* coding_emoji_43@2x.png */; }; - 4E095A151D9534CB00E63D9E /* intro_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A111D9534CB00E63D9E /* intro_page_selected@2x.png */; }; - 4E095A161D9534CB00E63D9E /* intro_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A121D9534CB00E63D9E /* intro_page_selected@3x.png */; }; - 4E095A171D9534CB00E63D9E /* intro_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A131D9534CB00E63D9E /* intro_page_unselected@2x.png */; }; - 4E095A181D9534CB00E63D9E /* intro_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A141D9534CB00E63D9E /* intro_page_unselected@3x.png */; }; 4E095A591B690494008DC439 /* CodingBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A581B690494008DC439 /* CodingBanner.m */; }; 4E095A5C1B6907AA008DC439 /* CodingBannersView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A5B1B6907AA008DC439 /* CodingBannersView.m */; }; 4E095A661B6909F9008DC439 /* AutoSlideScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A5F1B6909F9008DC439 /* AutoSlideScrollView.m */; }; 4E095A681B6909F9008DC439 /* NSTimer+Addition.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A631B6909F9008DC439 /* NSTimer+Addition.m */; }; 4E095A6D1B69F920008DC439 /* banner__page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A6B1B69F920008DC439 /* banner__page_selected@2x.png */; }; 4E095A6E1B69F920008DC439 /* banner__page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A6C1B69F920008DC439 /* banner__page_unselected@2x.png */; }; - 4E095A7B1B6B1E40008DC439 /* calendar_0x95B763@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A761B6B1E40008DC439 /* calendar_0x95B763@2x.png */; }; - 4E095A7C1B6B1E40008DC439 /* calendar_0x9AAFC2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A771B6B1E40008DC439 /* calendar_0x9AAFC2@2x.png */; }; - 4E095A7D1B6B1E40008DC439 /* calendar_0xB5B5B5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A781B6B1E40008DC439 /* calendar_0xB5B5B5@2x.png */; }; - 4E095A7E1B6B1E40008DC439 /* calendar_0xF24B4B@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A791B6B1E40008DC439 /* calendar_0xF24B4B@2x.png */; }; - 4E095A7F1B6B1E40008DC439 /* calendar_0xF5A523@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A7A1B6B1E40008DC439 /* calendar_0xF5A523@2x.png */; }; 4E095A831B6B24DE008DC439 /* task_description_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A801B6B24DE008DC439 /* task_description_icon@2x.png */; }; 4E095A841B6B24DE008DC439 /* time_clock_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A811B6B24DE008DC439 /* time_clock_icon@2x.png */; }; 4E095A851B6B24DE008DC439 /* topic_comment_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A821B6B24DE008DC439 /* topic_comment_icon@2x.png */; }; @@ -175,15 +154,12 @@ 4E0EF6EC1BF42E4B00F2FCC8 /* task_activity_icon_update_label@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E0EF6EB1BF42E4B00F2FCC8 /* task_activity_icon_update_label@2x.png */; }; 4E15C7D01A26D2F000FB8DAD /* FolderToMoveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E15C7CF1A26D2F000FB8DAD /* FolderToMoveViewController.m */; }; 4E15C7D61A271A6300FB8DAD /* EaseToolBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E15C7D51A271A6300FB8DAD /* EaseToolBar.m */; }; - 4E19E7071BCE03CD00C66DC6 /* UIActionSheet+Front.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E19E7061BCE03CD00C66DC6 /* UIActionSheet+Front.m */; }; 4E1A22821AB1729700CFC14F /* ProjectInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A22811AB1729700CFC14F /* ProjectInfoCell.m */; }; 4E1A22851AB172C400CFC14F /* ProjectItemsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A22841AB172C400CFC14F /* ProjectItemsCell.m */; }; 4E1A22881AB1731600CFC14F /* ProjectDescriptionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A22871AB1731600CFC14F /* ProjectDescriptionCell.m */; }; 4E1A228B1AB1844F00CFC14F /* EaseGitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A228A1AB1844F00CFC14F /* EaseGitButton.m */; }; 4E1D99161DCAE67D00BAE585 /* icon_file_folder_out@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D99121DCAE67D00BAE585 /* icon_file_folder_out@2x.png */; }; - 4E1D99171DCAE67D00BAE585 /* icon_file_folder_out@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D99131DCAE67D00BAE585 /* icon_file_folder_out@3x.png */; }; 4E1D99181DCAE67D00BAE585 /* icon_file_folder_share@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D99141DCAE67D00BAE585 /* icon_file_folder_share@2x.png */; }; - 4E1D99191DCAE67D00BAE585 /* icon_file_folder_share@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D99151DCAE67D00BAE585 /* icon_file_folder_share@3x.png */; }; 4E1D991C1DCAE69600BAE585 /* icon_file_share_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D991A1DCAE69600BAE585 /* icon_file_share_logo@2x.png */; }; 4E1D991D1DCAE69600BAE585 /* icon_file_share_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D991B1DCAE69600BAE585 /* icon_file_share_logo@3x.png */; }; 4E217F0C1A70EDC700F6DF88 /* SVModalWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E217EF91A70EDC700F6DF88 /* SVModalWebViewController.m */; }; @@ -245,7 +221,6 @@ 4E35A99F1A3EC47E00CE35F1 /* FileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E35A99E1A3EC47E00CE35F1 /* FileViewController.m */; }; 4E38CF5F1A7A28AF005536C0 /* CodeBranchTagButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E38CF5E1A7A28AF005536C0 /* CodeBranchTagButton.m */; }; 4E38CF621A7B7C99005536C0 /* CodeBranchOrTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E38CF611A7B7C99005536C0 /* CodeBranchOrTag.m */; }; - 4E38CF641A7B8DD4005536C0 /* icon_triangle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E38CF631A7B8DD4005536C0 /* icon_triangle@2x.png */; }; 4E3DB53C1BFDD0F40062BA52 /* task_activity_icon_add_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E3DB53A1BFDD0F40062BA52 /* task_activity_icon_add_watcher@2x.png */; }; 4E3DB53D1BFDD0F40062BA52 /* task_activity_icon_MergeRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E3DB53B1BFDD0F40062BA52 /* task_activity_icon_MergeRequestBean@2x.png */; }; 4E44DCFA1D81486600E7F9AF /* HelpViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E44DCF91D81486600E7F9AF /* HelpViewController.m */; }; @@ -285,8 +260,6 @@ 4E4D6AAC1B1EED6A00FD2E49 /* AddCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AAB1B1EED6A00FD2E49 /* AddCommentCell.m */; }; 4E4D6AAF1B2047DE00FD2E49 /* CommitCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AAE1B2047DE00FD2E49 /* CommitCommentCell.m */; }; 4E4D6AB21B21A96100FD2E49 /* Commits.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AB11B21A96100FD2E49 /* Commits.m */; }; - 4E4D6AC11B252CD400FD2E49 /* icon_code_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6ABF1B252CD400FD2E49 /* icon_code_file@2x.png */; }; - 4E4D6AC21B252CD400FD2E49 /* icon_code_tree@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6AC01B252CD400FD2E49 /* icon_code_tree@2x.png */; }; 4E4D6AC81B252F4800FD2E49 /* icon_add_comment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6AC71B252F4800FD2E49 /* icon_add_comment@2x.png */; }; 4E4D6ACB1B2571B100FD2E49 /* git_icon_stared@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6AC91B2571B100FD2E49 /* git_icon_stared@2x.png */; }; 4E4D6ACC1B2571B100FD2E49 /* git_icon_watched@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6ACA1B2571B100FD2E49 /* git_icon_watched@2x.png */; }; @@ -325,7 +298,6 @@ 4E5F39051ACA958C0010515D /* TopicCommentCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5F39041ACA958C0010515D /* TopicCommentCCell.m */; }; 4E5F39071ACBFDCD0010515D /* keyboard_photo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5F39061ACBFDCD0010515D /* keyboard_photo@2x.png */; }; 4E62410B1B74D65400E1533C /* search_tweet_like@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E62410A1B74D65400E1533C /* search_tweet_like@2x.png */; }; - 4E63189C1BDA198000EFED97 /* MRListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E63189B1BDA198000EFED97 /* MRListViewController.m */; }; 4E6318A21BDA261100EFED97 /* MRListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6318A11BDA261100EFED97 /* MRListView.m */; }; 4E6383A61B3262D300D98648 /* taskPriority0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839B1B3262D300D98648 /* taskPriority0@2x.png */; }; 4E6383A71B3262D300D98648 /* taskPriority0_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839C1B3262D300D98648 /* taskPriority0_small@2x.png */; }; @@ -342,7 +314,6 @@ 4E6383BB1B32640900D98648 /* messageSystem@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B51B32640900D98648 /* messageSystem@2x.png */; }; 4E6383BC1B32640900D98648 /* private_message_send_fail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B61B32640900D98648 /* private_message_send_fail@2x.png */; }; 4E6383C31B3265DC00D98648 /* mrpr_icon_accepted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383BE1B3265DC00D98648 /* mrpr_icon_accepted@2x.png */; }; - 4E6383C41B3265DC00D98648 /* mrpr_icon_arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383BF1B3265DC00D98648 /* mrpr_icon_arrow@2x.png */; }; 4E6383C71B3265DC00D98648 /* mrpr_icon_refaused@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383C21B3265DC00D98648 /* mrpr_icon_refaused@2x.png */; }; 4E6383D11B32665700D98648 /* project_item_activity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383C91B32665700D98648 /* project_item_activity@2x.png */; }; 4E6383D21B32665700D98648 /* project_item_code@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383CA1B32665700D98648 /* project_item_code@2x.png */; }; @@ -375,10 +346,6 @@ 4E66EE281A28226000DA1B3E /* button_file_denete_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE231A28226000DA1B3E /* button_file_denete_unable@2x.png */; }; 4E66EE291A28226000DA1B3E /* button_file_move_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE241A28226000DA1B3E /* button_file_move_enable@2x.png */; }; 4E66EE2A1A28226000DA1B3E /* button_file_upload_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE251A28226000DA1B3E /* button_file_upload_enable@2x.png */; }; - 4E6B07111BA3D9B5007D6027 /* intro_page1_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6B070D1BA3D9B5007D6027 /* intro_page1_ip4@2x.png */; }; - 4E6B07121BA3D9B5007D6027 /* intro_page1_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6B070E1BA3D9B5007D6027 /* intro_page1_ip5@2x.png */; }; - 4E6B07131BA3D9B5007D6027 /* intro_page1_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6B070F1BA3D9B5007D6027 /* intro_page1_ip6@2x.png */; }; - 4E6B07141BA3D9B5007D6027 /* intro_page1_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6B07101BA3D9B5007D6027 /* intro_page1_ip6+@3x.png */; }; 4E6B07161BA4045E007D6027 /* MIDAUTUMNIMAGE.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4E6B07151BA4045E007D6027 /* MIDAUTUMNIMAGE.jpg */; }; 4E6BA2D71A1EE6AF005FD721 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2AE1A1EE6AF005FD721 /* AFHTTPRequestOperation.m */; }; 4E6BA2D81A1EE6AF005FD721 /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2B01A1EE6AF005FD721 /* AFHTTPRequestOperationManager.m */; }; @@ -417,7 +384,6 @@ 4E72F82D1B144778001B6CE6 /* NSMutableString+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E72F82C1B144778001B6CE6 /* NSMutableString+Common.m */; }; 4E72F8331B15B811001B6CE6 /* gif_mark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E72F8321B15B811001B6CE6 /* gif_mark@2x.png */; }; 4E743E6D1A88A3CC00DADDE5 /* EaseMarkdownTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E743E6C1A88A3CC00DADDE5 /* EaseMarkdownTextView.m */; }; - 4E743E6F1A88ABF700DADDE5 /* blankpage_image_Hi@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E743E6E1A88ABF700DADDE5 /* blankpage_image_Hi@2x.png */; }; 4E74EC011C311B6300EC0E1B /* SettingPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E74EC001C311B6300EC0E1B /* SettingPhoneViewController.m */; }; 4E753D441B8AFDEC003A00B9 /* FileEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E753D431B8AFDEC003A00B9 /* FileEditViewController.m */; }; 4E76D4DE1A5A7B4A0094A35E /* text_clear_btn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E76D4DD1A5A7B4A0094A35E /* text_clear_btn@2x.png */; }; @@ -474,18 +440,8 @@ 4E8D5D6E1B45400100B70936 /* ZXScanCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D6D1B45400100B70936 /* ZXScanCodeViewController.m */; }; 4E8D5D731B454D5000B70936 /* OTPAuthClock.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D721B454D5000B70936 /* OTPAuthClock.m */; }; 4E8D5D7D1B462ADB00B70936 /* OTPTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D7C1B462ADB00B70936 /* OTPTableViewCell.m */; }; - 4E8F92DE1B67BE3C00033D8F /* icon_user_monkey_i6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E8F92DB1B67BE3C00033D8F /* icon_user_monkey_i6@2x.png */; }; - 4E8F92DF1B67BE3C00033D8F /* icon_user_monkey_i6p@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E8F92DC1B67BE3C00033D8F /* icon_user_monkey_i6p@3x.png */; }; - 4E90F89B1AF709C100B44F03 /* bubble.html in Resources */ = {isa = PBXBuildFile; fileRef = 4E90F8971AF709C100B44F03 /* bubble.html */; }; - 4E90F89C1AF709C100B44F03 /* code.html in Resources */ = {isa = PBXBuildFile; fileRef = 4E90F8981AF709C100B44F03 /* code.html */; }; - 4E90F89D1AF709C100B44F03 /* markdown.html in Resources */ = {isa = PBXBuildFile; fileRef = 4E90F8991AF709C100B44F03 /* markdown.html */; }; - 4E90F89E1AF709C100B44F03 /* topic-ios.html in Resources */ = {isa = PBXBuildFile; fileRef = 4E90F89A1AF709C100B44F03 /* topic-ios.html */; }; 4E9113A21A1C426000AC9431 /* ASPopUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E91139F1A1C426000AC9431 /* ASPopUpView.m */; }; 4E9113A31A1C426000AC9431 /* ASProgressPopUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E9113A11A1C426000AC9431 /* ASProgressPopUpView.m */; }; - 4E9113A91A1CB19900AC9431 /* icon_file_state_download@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9113A51A1CB19900AC9431 /* icon_file_state_download@2x.png */; }; - 4E9113AA1A1CB19900AC9431 /* icon_file_state_goon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9113A61A1CB19900AC9431 /* icon_file_state_goon@2x.png */; }; - 4E9113AB1A1CB19900AC9431 /* icon_file_state_look@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9113A71A1CB19900AC9431 /* icon_file_state_look@2x.png */; }; - 4E9113AC1A1CB19900AC9431 /* icon_file_state_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9113A81A1CB19900AC9431 /* icon_file_state_pause@2x.png */; }; 4E93F2331B84243D00017916 /* KxMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E93F2321B84243D00017916 /* KxMenu.m */; }; 4E93F23A1B84356500017916 /* file_menu_icon_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2351B84356500017916 /* file_menu_icon_delete@2x.png */; }; 4E93F23B1B84356500017916 /* file_menu_icon_edit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2361B84356500017916 /* file_menu_icon_edit@2x.png */; }; @@ -494,6 +450,34 @@ 4E93F23E1B84356500017916 /* file_menu_icon_share@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2391B84356500017916 /* file_menu_icon_share@2x.png */; }; 4E93F2441B85C4C300017916 /* FileInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E93F2421B85C4C300017916 /* FileInfoViewController.m */; }; 4E93F2451B85C4C300017916 /* FileInfoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2431B85C4C300017916 /* FileInfoViewController.xib */; }; + 4E9423DA1E69401B0095F1CD /* blankpage_image_Activity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423BE1E69401B0095F1CD /* blankpage_image_Activity@2x.png */; }; + 4E9423DB1E69401B0095F1CD /* blankpage_image_Activity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423BF1E69401B0095F1CD /* blankpage_image_Activity@3x.png */; }; + 4E9423DC1E69401B0095F1CD /* blankpage_image_Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C01E69401B0095F1CD /* blankpage_image_Default@2x.png */; }; + 4E9423DD1E69401B0095F1CD /* blankpage_image_Default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C11E69401B0095F1CD /* blankpage_image_Default@3x.png */; }; + 4E9423DE1E69401B0095F1CD /* blankpage_image_File@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C21E69401B0095F1CD /* blankpage_image_File@2x.png */; }; + 4E9423DF1E69401B0095F1CD /* blankpage_image_File@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C31E69401B0095F1CD /* blankpage_image_File@3x.png */; }; + 4E9423E01E69401B0095F1CD /* blankpage_image_LoadFail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C41E69401B0095F1CD /* blankpage_image_LoadFail@2x.png */; }; + 4E9423E11E69401B0095F1CD /* blankpage_image_LoadFail@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C51E69401B0095F1CD /* blankpage_image_LoadFail@3x.png */; }; + 4E9423E21E69401B0095F1CD /* blankpage_image_MessageList@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C61E69401B0095F1CD /* blankpage_image_MessageList@2x.png */; }; + 4E9423E31E69401B0095F1CD /* blankpage_image_MessageList@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C71E69401B0095F1CD /* blankpage_image_MessageList@3x.png */; }; + 4E9423E41E69401B0095F1CD /* blankpage_image_Notice@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C81E69401B0095F1CD /* blankpage_image_Notice@2x.png */; }; + 4E9423E51E69401B0095F1CD /* blankpage_image_Notice@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C91E69401B0095F1CD /* blankpage_image_Notice@3x.png */; }; + 4E9423E61E69401B0095F1CD /* blankpage_image_Project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CA1E69401B0095F1CD /* blankpage_image_Project@2x.png */; }; + 4E9423E71E69401B0095F1CD /* blankpage_image_Project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CB1E69401B0095F1CD /* blankpage_image_Project@3x.png */; }; + 4E9423E81E69401B0095F1CD /* blankpage_image_ShopOrder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CC1E69401B0095F1CD /* blankpage_image_ShopOrder@2x.png */; }; + 4E9423E91E69401B0095F1CD /* blankpage_image_ShopOrder@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CD1E69401B0095F1CD /* blankpage_image_ShopOrder@3x.png */; }; + 4E9423EA1E69401B0095F1CD /* blankpage_image_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CE1E69401B0095F1CD /* blankpage_image_Task@2x.png */; }; + 4E9423EB1E69401B0095F1CD /* blankpage_image_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CF1E69401B0095F1CD /* blankpage_image_Task@3x.png */; }; + 4E9423EC1E69401B0095F1CD /* blankpage_image_Team@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D01E69401B0095F1CD /* blankpage_image_Team@2x.png */; }; + 4E9423ED1E69401B0095F1CD /* blankpage_image_Team@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D11E69401B0095F1CD /* blankpage_image_Team@3x.png */; }; + 4E9423EE1E69401B0095F1CD /* blankpage_image_Tip@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D21E69401B0095F1CD /* blankpage_image_Tip@2x.png */; }; + 4E9423EF1E69401B0095F1CD /* blankpage_image_Tip@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D31E69401B0095F1CD /* blankpage_image_Tip@3x.png */; }; + 4E9423F01E69401B0095F1CD /* blankpage_image_Topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D41E69401B0095F1CD /* blankpage_image_Topic@2x.png */; }; + 4E9423F11E69401B0095F1CD /* blankpage_image_Topic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D51E69401B0095F1CD /* blankpage_image_Topic@3x.png */; }; + 4E9423F21E69401B0095F1CD /* blankpage_image_Tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D61E69401B0095F1CD /* blankpage_image_Tweet@2x.png */; }; + 4E9423F31E69401B0095F1CD /* blankpage_image_Tweet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D71E69401B0095F1CD /* blankpage_image_Tweet@3x.png */; }; + 4E9423F41E69401B0095F1CD /* blankpage_image_Wiki@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D81E69401B0095F1CD /* blankpage_image_Wiki@2x.png */; }; + 4E9423F51E69401B0095F1CD /* blankpage_image_Wiki@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D91E69401B0095F1CD /* blankpage_image_Wiki@3x.png */; }; 4E94C4E71B4A6AC700EB668A /* ScanBGView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4E61B4A6AC700EB668A /* ScanBGView.m */; }; 4E94C4ED1B4A867A00EB668A /* scan_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E94C4EC1B4A867A00EB668A /* scan_bg@2x.png */; }; 4E94C4EF1B4B73BB00EB668A /* scan_line@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E94C4EE1B4B73BB00EB668A /* scan_line@2x.png */; }; @@ -550,7 +534,6 @@ 4EA679191A14BFA0001A0324 /* icon_file_folder_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EA679171A14BFA0001A0324 /* icon_file_folder_default@2x.png */; }; 4EA6791A1A14BFA0001A0324 /* icon_file_folder_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EA679181A14BFA0001A0324 /* icon_file_folder_normal@2x.png */; }; 4EA6791D1A15A943001A0324 /* FileListFolderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA6791C1A15A943001A0324 /* FileListFolderCell.m */; }; - 4EA679201A15AB9F001A0324 /* FileListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA6791F1A15AB9F001A0324 /* FileListViewController.m */; }; 4EA7F1591A6D192B00A046BD /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F13A1A6D192B00A046BD /* NSData+ImageContentType.m */; }; 4EA7F15A1A6D192B00A046BD /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F13C1A6D192B00A046BD /* SDImageCache.m */; }; 4EA7F15B1A6D192B00A046BD /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F13E1A6D192B00A046BD /* SDWebImageCompat.m */; }; @@ -566,6 +549,35 @@ 4EA7F1651A6D192B00A046BD /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1531A6D192B00A046BD /* UIImageView+WebCache.m */; }; 4EA7F1661A6D192B00A046BD /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1551A6D192B00A046BD /* UIView+WebCacheOperation.m */; }; 4EA7F1671A6D192B00A046BD /* ODRefreshControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1581A6D192B00A046BD /* ODRefreshControl.m */; }; + 4EAAD0141E5306F3008AA957 /* MRPRListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAAD0131E5306F3008AA957 /* MRPRListViewController.m */; }; + 4EAAD0171E53EFF2008AA957 /* EAFliterMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAAD0161E53EFF2008AA957 /* EAFliterMenu.m */; }; + 4EAAD0211E540551008AA957 /* mrpr_icon_status_accepted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0191E540551008AA957 /* mrpr_icon_status_accepted@2x.png */; }; + 4EAAD0221E540551008AA957 /* mrpr_icon_status_accepted@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01A1E540551008AA957 /* mrpr_icon_status_accepted@3x.png */; }; + 4EAAD0231E540551008AA957 /* mrpr_icon_status_canmerge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01B1E540551008AA957 /* mrpr_icon_status_canmerge@2x.png */; }; + 4EAAD0241E540551008AA957 /* mrpr_icon_status_canmerge@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01C1E540551008AA957 /* mrpr_icon_status_canmerge@3x.png */; }; + 4EAAD0251E540551008AA957 /* mrpr_icon_status_cannotmerge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01D1E540551008AA957 /* mrpr_icon_status_cannotmerge@2x.png */; }; + 4EAAD0261E540551008AA957 /* mrpr_icon_status_cannotmerge@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01E1E540551008AA957 /* mrpr_icon_status_cannotmerge@3x.png */; }; + 4EAAD0271E540551008AA957 /* mrpr_icon_status_refused@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01F1E540551008AA957 /* mrpr_icon_status_refused@2x.png */; }; + 4EAAD0281E540551008AA957 /* mrpr_icon_status_refused@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0201E540551008AA957 /* mrpr_icon_status_refused@3x.png */; }; + 4EAAD02B1E5405B4008AA957 /* mrpr_icon_status_cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0291E5405B4008AA957 /* mrpr_icon_status_cancel@2x.png */; }; + 4EAAD02C1E5405B4008AA957 /* mrpr_icon_status_cancel@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD02A1E5405B4008AA957 /* mrpr_icon_status_cancel@3x.png */; }; + 4EAAD0511E542B2D008AA957 /* icon_code_executable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0491E542B2D008AA957 /* icon_code_executable@2x.png */; }; + 4EAAD0521E542B2D008AA957 /* icon_code_executable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04A1E542B2D008AA957 /* icon_code_executable@3x.png */; }; + 4EAAD0531E542B2D008AA957 /* icon_code_tree@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04B1E542B2D008AA957 /* icon_code_tree@2x.png */; }; + 4EAAD0541E542B2D008AA957 /* icon_code_tree@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04C1E542B2D008AA957 /* icon_code_tree@3x.png */; }; + 4EAAD0551E542B2D008AA957 /* icon_code_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04D1E542B2D008AA957 /* icon_code_file@2x.png */; }; + 4EAAD0561E542B2D008AA957 /* icon_code_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04E1E542B2D008AA957 /* icon_code_file@3x.png */; }; + 4EAAD0571E542B2D008AA957 /* icon_code_git_link@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04F1E542B2D008AA957 /* icon_code_git_link@2x.png */; }; + 4EAAD0581E542B2D008AA957 /* icon_code_git_link@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0501E542B2D008AA957 /* icon_code_git_link@3x.png */; }; + 4EAAD05B1E544006008AA957 /* icon_triangle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0591E544006008AA957 /* icon_triangle@2x.png */; }; + 4EAAD05C1E544006008AA957 /* icon_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD05A1E544006008AA957 /* icon_triangle@3x.png */; }; + 4EAAD05F1E545516008AA957 /* ProjectCodeListSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAAD05E1E545516008AA957 /* ProjectCodeListSearchCell.m */; }; + 4EAAD0821E55AC6E008AA957 /* icon_code_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0801E55AC6E008AA957 /* icon_code_image@2x.png */; }; + 4EAAD0831E55AC6E008AA957 /* icon_code_image@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0811E55AC6E008AA957 /* icon_code_image@3x.png */; }; + 4EAAD09D1E5D8558008AA957 /* mrpr_icon_arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD09B1E5D8558008AA957 /* mrpr_icon_arrow@2x.png */; }; + 4EAAD09E1E5D8558008AA957 /* mrpr_icon_arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD09C1E5D8558008AA957 /* mrpr_icon_arrow@3x.png */; }; + 4EAAD0A51E5D8D90008AA957 /* PR_plus@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0A31E5D8D90008AA957 /* PR_plus@2x.png */; }; + 4EAAD0A61E5D8D90008AA957 /* PR_plus@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0A41E5D8D90008AA957 /* PR_plus@3x.png */; }; 4EABD2541AD3CA7E005E515F /* UIMessageInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD2531AD3CA7E005E515F /* UIMessageInputView.m */; }; 4EABD2571AD3CAAC005E515F /* UIMessageInputView_Add.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD2561AD3CAAC005E515F /* UIMessageInputView_Add.m */; }; 4EABD25A1AD3CB4A005E515F /* UIMessageInputView_CCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD2591AD3CB4A005E515F /* UIMessageInputView_CCell.m */; }; @@ -590,7 +602,6 @@ 4EAE06C11B7B51AF00179F4B /* file_activity_icon_move_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BD1B7B51AF00179F4B /* file_activity_icon_move_file@2x.png */; }; 4EAE06C21B7B51AF00179F4B /* file_activity_icon_update_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BE1B7B51AF00179F4B /* file_activity_icon_update_file@2x.png */; }; 4EAE06C31B7B51AF00179F4B /* file_activity_icon_upload_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BF1B7B51AF00179F4B /* file_activity_icon_upload_file@2x.png */; }; - 4EAE06C51B7B587200179F4B /* button_file_comment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06C41B7B587200179F4B /* button_file_comment@2x.png */; }; 4EAE06C81B7C9EFF00179F4B /* FileVersionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06C71B7C9EFF00179F4B /* FileVersionCell.m */; }; 4EAECBC21C44CB860096CA74 /* member_cell_edit_alias@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBBC1C44CB860096CA74 /* member_cell_edit_alias@2x.png */; }; 4EAECBC31C44CB860096CA74 /* member_cell_edit_alias@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBBD1C44CB860096CA74 /* member_cell_edit_alias@3x.png */; }; @@ -599,10 +610,6 @@ 4EAECBC61C44CB860096CA74 /* member_cell_edit_type@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBC01C44CB860096CA74 /* member_cell_edit_type@2x.png */; }; 4EAECBC71C44CB860096CA74 /* member_cell_edit_type@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBC11C44CB860096CA74 /* member_cell_edit_type@3x.png */; }; 4EB0C2001A807ED00042FC4F /* NSURL+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB0C1FF1A807ED00042FC4F /* NSURL+Common.m */; }; - 4EB119F81D953AE200A36341 /* intro_page2_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB119F41D953AE200A36341 /* intro_page2_ip4@2x.png */; }; - 4EB119F91D953AE200A36341 /* intro_page2_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB119F51D953AE200A36341 /* intro_page2_ip5@2x.png */; }; - 4EB119FA1D953AE200A36341 /* intro_page2_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB119F61D953AE200A36341 /* intro_page2_ip6@2x.png */; }; - 4EB119FB1D953AE200A36341 /* intro_page2_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB119F71D953AE200A36341 /* intro_page2_ip6+@3x.png */; }; 4EB52F0F1C74691B00B5EBEA /* password_look@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0B1C74691B00B5EBEA /* password_look@2x.png */; }; 4EB52F101C74691B00B5EBEA /* password_look@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0C1C74691B00B5EBEA /* password_look@3x.png */; }; 4EB52F111C74691B00B5EBEA /* password_unlook@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0D1C74691B00B5EBEA /* password_unlook@2x.png */; }; @@ -618,7 +625,6 @@ 4EB52F281C76ED4A00B5EBEA /* TagColorEditCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F271C76ED4A00B5EBEA /* TagColorEditCell.m */; }; 4EB52F2B1C76ED7000B5EBEA /* TagColorDisplayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F2A1C76ED7000B5EBEA /* TagColorDisplayCell.m */; }; 4EB52F2E1C77138A00B5EBEA /* button_scan@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F2C1C77138A00B5EBEA /* button_scan@2x.png */; }; - 4EB52F2F1C77138A00B5EBEA /* button_scan@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F2D1C77138A00B5EBEA /* button_scan@3x.png */; }; 4EB52F381C7C38F600B5EBEA /* ResourceReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F371C7C38F600B5EBEA /* ResourceReference.m */; }; 4EB52F3B1C7C45E700B5EBEA /* taskResourceReference@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F391C7C45E700B5EBEA /* taskResourceReference@2x.png */; }; 4EB52F3C1C7C45E700B5EBEA /* taskResourceReference@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F3A1C7C45E700B5EBEA /* taskResourceReference@3x.png */; }; @@ -632,9 +638,6 @@ 4EB52F611C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F591C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@3x.png */; }; 4EB52F621C7C5C4F00B5EBEA /* task_resource_reference_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F5A1C7C5C4F00B5EBEA /* task_resource_reference_Task@2x.png */; }; 4EB52F631C7C5C4F00B5EBEA /* task_resource_reference_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F5B1C7C5C4F00B5EBEA /* task_resource_reference_Task@3x.png */; }; - 4EB5A9421BF1DB4600C23AC3 /* libSocialSinaSSO.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EB5A9341BF1DB4600C23AC3 /* libSocialSinaSSO.a */; }; - 4EB5A9431BF1DB4600C23AC3 /* libWeiboSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EB5A9351BF1DB4600C23AC3 /* libWeiboSDK.a */; }; - 4EB5A9441BF1DB4600C23AC3 /* WeiboSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4EB5A93F1BF1DB4600C23AC3 /* WeiboSDK.bundle */; }; 4EB862AD1CABB21E008074D1 /* tipIcon_TeamMember@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB862AC1CABB21E008074D1 /* tipIcon_TeamMember@2x.png */; }; 4EBB624C1A6F526C0045DAEF /* NJKWebViewProgress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBB62491A6F526C0045DAEF /* NJKWebViewProgress.m */; }; 4EBB624D1A6F526C0045DAEF /* NJKWebViewProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBB624B1A6F526C0045DAEF /* NJKWebViewProgressView.m */; }; @@ -642,7 +645,6 @@ 4EBD7FAF1CE4827A00B3AF49 /* CountryCodeListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBD7FAE1CE4827A00B3AF49 /* CountryCodeListViewController.m */; }; 4EBD7FB11CE482A400B3AF49 /* country_code.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4EBD7FB01CE482A400B3AF49 /* country_code.plist */; }; 4EBD7FB41CE4833D00B3AF49 /* CountryCodeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBD7FB31CE4833D00B3AF49 /* CountryCodeCell.m */; }; - 4EBDA87C1A6640340035ED96 /* UIActionSheet+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBDA87B1A6640340035ED96 /* UIActionSheet+Common.m */; }; 4EBDC27B1BC501C00037EB66 /* tipIcon_ProjectPayment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EBDC27A1BC501C00037EB66 /* tipIcon_ProjectPayment@2x.png */; }; 4EBFBD181AA85B8500E4B10E /* add_user_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EBFBD171AA85B8500E4B10E /* add_user_icon@2x.png */; }; 4EC461AD1B39084100D08970 /* FunctionTipsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC461AC1B39084100D08970 /* FunctionTipsManager.m */; }; @@ -694,7 +696,6 @@ 4ECEFA031D1D0B4B002A27D3 /* tip_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ECEFA011D1D0B4B002A27D3 /* tip_bg@3x.png */; }; 4ECF702C1B1704C5000280FF /* NProjectItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF702B1B1704C5000280FF /* NProjectItemCell.m */; }; 4ECF70401B180740000280FF /* EaseGitButtonsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF703F1B180740000280FF /* EaseGitButtonsView.m */; }; - 4ECF70431B18514F000280FF /* PRListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF70421B18514F000280FF /* PRListViewController.m */; }; 4ECF70461B18557E000280FF /* MRPRS.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF70451B18557E000280FF /* MRPRS.m */; }; 4ECF70491B185BCC000280FF /* MRPR.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF70481B185BCC000280FF /* MRPR.m */; }; 4ECF704C1B1876CB000280FF /* MRPRListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF704B1B1876CB000280FF /* MRPRListCell.m */; }; @@ -751,7 +752,6 @@ 4EE1A22B1B5D02CA004284F1 /* ProjectActivitiesView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A21A1B5D02CA004284F1 /* ProjectActivitiesView.m */; }; 4EE1A22C1B5D02CA004284F1 /* ProjectActivityListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A21C1B5D02CA004284F1 /* ProjectActivityListView.m */; }; 4EE1A22D1B5D02CA004284F1 /* ProjectCodeListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A21E1B5D02CA004284F1 /* ProjectCodeListView.m */; }; - 4EE1A22E1B5D02CA004284F1 /* ProjectFolderListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2201B5D02CA004284F1 /* ProjectFolderListView.m */; }; 4EE1A22F1B5D02CA004284F1 /* ProjectListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2221B5D02CA004284F1 /* ProjectListView.m */; }; 4EE1A2301B5D02CA004284F1 /* ProjectTaskListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2241B5D02CA004284F1 /* ProjectTaskListView.m */; }; 4EE1A2311B5D02CA004284F1 /* ProjectTasksView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2261B5D02CA004284F1 /* ProjectTasksView.m */; }; @@ -768,36 +768,6 @@ 4EED9DCD1B539366000E5827 /* taskProject@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EED9DCB1B539366000E5827 /* taskProject@2x.png */; }; 4EED9DD11B53BBCF000E5827 /* twoFABtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EED9DD01B53BBCF000E5827 /* twoFABtn_Nav@2x.png */; }; 4EF17E5F1B3AB10F003CDD2D /* IntroductionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF17E5E1B3AB10F003CDD2D /* IntroductionViewController.m */; }; - 4EF17ECB1B3C3112003CDD2D /* intro_dot_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EAD1B3C3112003CDD2D /* intro_dot_selected@2x.png */; }; - 4EF17ECC1B3C3112003CDD2D /* intro_dot_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EAE1B3C3112003CDD2D /* intro_dot_selected@3x.png */; }; - 4EF17ECD1B3C3112003CDD2D /* intro_dot_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EAF1B3C3112003CDD2D /* intro_dot_unselected@2x.png */; }; - 4EF17ECE1B3C3112003CDD2D /* intro_dot_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB01B3C3112003CDD2D /* intro_dot_unselected@3x.png */; }; - 4EF17ECF1B3C3112003CDD2D /* intro_icon_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB11B3C3112003CDD2D /* intro_icon_0@2x.png */; }; - 4EF17ED01B3C3112003CDD2D /* intro_icon_0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB21B3C3112003CDD2D /* intro_icon_0@3x.png */; }; - 4EF17ED11B3C3112003CDD2D /* intro_icon_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB31B3C3112003CDD2D /* intro_icon_1@2x.png */; }; - 4EF17ED21B3C3112003CDD2D /* intro_icon_1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB41B3C3112003CDD2D /* intro_icon_1@3x.png */; }; - 4EF17ED31B3C3112003CDD2D /* intro_icon_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB51B3C3112003CDD2D /* intro_icon_2@2x.png */; }; - 4EF17ED41B3C3112003CDD2D /* intro_icon_2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB61B3C3112003CDD2D /* intro_icon_2@3x.png */; }; - 4EF17ED51B3C3112003CDD2D /* intro_icon_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB71B3C3112003CDD2D /* intro_icon_3@2x.png */; }; - 4EF17ED61B3C3112003CDD2D /* intro_icon_3@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB81B3C3112003CDD2D /* intro_icon_3@3x.png */; }; - 4EF17ED71B3C3112003CDD2D /* intro_icon_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EB91B3C3112003CDD2D /* intro_icon_4@2x.png */; }; - 4EF17ED81B3C3112003CDD2D /* intro_icon_4@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EBA1B3C3112003CDD2D /* intro_icon_4@3x.png */; }; - 4EF17ED91B3C3112003CDD2D /* intro_icon_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EBB1B3C3112003CDD2D /* intro_icon_5@2x.png */; }; - 4EF17EDA1B3C3112003CDD2D /* intro_icon_5@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EBC1B3C3112003CDD2D /* intro_icon_5@3x.png */; }; - 4EF17EDB1B3C3112003CDD2D /* intro_icon_6@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EBD1B3C3112003CDD2D /* intro_icon_6@3x.png */; }; - 4EF17EDC1B3C3112003CDD2D /* intro_tip_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EBE1B3C3112003CDD2D /* intro_tip_0@2x.png */; }; - 4EF17EDD1B3C3112003CDD2D /* intro_tip_0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EBF1B3C3112003CDD2D /* intro_tip_0@3x.png */; }; - 4EF17EDE1B3C3112003CDD2D /* intro_tip_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC01B3C3112003CDD2D /* intro_tip_1@2x.png */; }; - 4EF17EDF1B3C3112003CDD2D /* intro_tip_1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC11B3C3112003CDD2D /* intro_tip_1@3x.png */; }; - 4EF17EE01B3C3112003CDD2D /* intro_tip_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC21B3C3112003CDD2D /* intro_tip_2@2x.png */; }; - 4EF17EE11B3C3112003CDD2D /* intro_tip_2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC31B3C3112003CDD2D /* intro_tip_2@3x.png */; }; - 4EF17EE21B3C3112003CDD2D /* intro_tip_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC41B3C3112003CDD2D /* intro_tip_3@2x.png */; }; - 4EF17EE31B3C3112003CDD2D /* intro_tip_3@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC51B3C3112003CDD2D /* intro_tip_3@3x.png */; }; - 4EF17EE41B3C3112003CDD2D /* intro_tip_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC61B3C3112003CDD2D /* intro_tip_4@2x.png */; }; - 4EF17EE51B3C3112003CDD2D /* intro_tip_4@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC71B3C3112003CDD2D /* intro_tip_4@3x.png */; }; - 4EF17EE61B3C3112003CDD2D /* intro_tip_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC81B3C3112003CDD2D /* intro_tip_5@2x.png */; }; - 4EF17EE71B3C3112003CDD2D /* intro_tip_5@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17EC91B3C3112003CDD2D /* intro_tip_5@3x.png */; }; - 4EF17EE81B3C3112003CDD2D /* intro_icon_6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF17ECA1B3C3112003CDD2D /* intro_icon_6@2x.png */; }; 4EF374161BB1254700DDA662 /* LocalFoldersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF374151BB1254700DDA662 /* LocalFoldersViewController.m */; }; 4EF374191BB1255E00DDA662 /* LocalFilesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF374181BB1255E00DDA662 /* LocalFilesViewController.m */; }; 4EF3741C1BB1258600DDA662 /* LocalFileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF3741B1BB1258600DDA662 /* LocalFileViewController.m */; }; @@ -813,6 +783,7 @@ 4EFE8DAF1B3960E6004B7559 /* logo_coding_top@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EFE8DAE1B3960E6004B7559 /* logo_coding_top@2x.png */; }; 4EFE8DB91B3A5727004B7559 /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4EFE8DB81B3A5727004B7559 /* Launch Screen.xib */; }; 4EFF5A771E0AE54800683D03 /* libresolv.9.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EFF5A761E0AE54800683D03 /* libresolv.9.tbd */; }; + 74BCC5B7B071C6418DBC18C7 /* libPods-Coding_iOS-Coding_Enterprise_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 627CA7E44F0D5A025A49E2F0 /* libPods-Coding_iOS-Coding_Enterprise_iOS.a */; }; 7E335D9D1B6F5E94003D0F3D /* keyboard_arrow_down@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E335D9A1B6F5E94003D0F3D /* keyboard_arrow_down@2x.png */; }; 7E335D9E1B6F5E94003D0F3D /* keyboard_voice_record@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E335D9B1B6F5E94003D0F3D /* keyboard_voice_record@2x.png */; }; 7E335D9F1B6F5E94003D0F3D /* keyboard_voice@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E335D9C1B6F5E94003D0F3D /* keyboard_voice@2x.png */; }; @@ -835,6 +806,7 @@ 7EB02FF31B6D111300D2166C /* AudioRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FF01B6D111300D2166C /* AudioRecordView.m */; }; 7EB02FF61B6DAF3800D2166C /* AudioVolumeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FF51B6DAF3800D2166C /* AudioVolumeView.m */; }; 7EB02FFC1B6E001300D2166C /* VoiceMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FFB1B6E001300D2166C /* VoiceMedia.m */; }; + 7FD0104CFC28ED5705E0D5E8 /* libPods-Coding_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 645969FE6A8616A74543C249 /* libPods-Coding_iOS.a */; }; 8B35164F1B6CE9460049BC45 /* icon_arrow_searchHistory@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B35164A1B6CE9460049BC45 /* icon_arrow_searchHistory@2x.png */; }; 8B3516501B6CE9460049BC45 /* icon_topic_hotTop@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B35164B1B6CE9460049BC45 /* icon_topic_hotTop@2x.png */; }; 8B3516511B6CE9460049BC45 /* search_tweet_colck@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B35164C1B6CE9460049BC45 /* search_tweet_colck@2x.png */; }; @@ -861,9 +833,6 @@ 8E477016198770E700997D05 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477015198770E700997D05 /* CoreGraphics.framework */; }; 8E477018198770E700997D05 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477017198770E700997D05 /* UIKit.framework */; }; 8E47701A198770E700997D05 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477019198770E700997D05 /* CoreData.framework */; }; - 8E525C8919F7E3F800496B34 /* blankpage_button_reload@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E525C8219F7E3F800496B34 /* blankpage_button_reload@2x.png */; }; - 8E525C8A19F7E3F800496B34 /* blankpage_image_loadFail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E525C8319F7E3F800496B34 /* blankpage_image_loadFail@2x.png */; }; - 8E525C8D19F7E3F800496B34 /* blankpage_image_Sleep@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E525C8619F7E3F800496B34 /* blankpage_image_Sleep@2x.png */; }; 8E59F0E21A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0DF1A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.m */; }; 8E59F0E31A0098BA009A905F /* UIScrollView+SVPullToRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0E11A0098BA009A905F /* UIScrollView+SVPullToRefresh.m */; }; 8E59F0F41A00F3B9009A905F /* ProjectCodeListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0F31A00F3B9009A905F /* ProjectCodeListCell.m */; }; @@ -875,17 +844,6 @@ 8E59F10D1A02188D009A905F /* CodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F10C1A02188D009A905F /* CodeViewController.m */; }; 8E61D27B19C028CC00C00414 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E61D27A19C028CC00C00414 /* AssetsLibrary.framework */; }; 8E62ADDA19E28DA800963870 /* tipIcon_User@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E62ADD919E28DA800963870 /* tipIcon_User@2x.png */; }; - 8E64ED7B19ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED6719ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.m */; }; - 8E64ED7C19ED0CE3006E99DA /* QBAssetsCollectionFooterView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED6919ED0CE3006E99DA /* QBAssetsCollectionFooterView.m */; }; - 8E64ED7D19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED6B19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.m */; }; - 8E64ED7E19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED6D19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.m */; }; - 8E64ED7F19ED0CE3006E99DA /* QBAssetsCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED6F19ED0CE3006E99DA /* QBAssetsCollectionViewCell.m */; }; - 8E64ED8019ED0CE3006E99DA /* QBAssetsCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED7119ED0CE3006E99DA /* QBAssetsCollectionViewController.m */; }; - 8E64ED8119ED0CE3006E99DA /* QBAssetsCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED7319ED0CE3006E99DA /* QBAssetsCollectionViewLayout.m */; }; - 8E64ED8219ED0CE3006E99DA /* QBImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED7519ED0CE3006E99DA /* QBImagePickerController.m */; }; - 8E64ED8319ED0CE3006E99DA /* QBImagePickerController.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8E64ED7619ED0CE3006E99DA /* QBImagePickerController.strings */; }; - 8E64ED8419ED0CE3006E99DA /* QBImagePickerGroupCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED7819ED0CE3006E99DA /* QBImagePickerGroupCell.m */; }; - 8E64ED8519ED0CE3006E99DA /* QBImagePickerThumbnailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED7A19ED0CE3006E99DA /* QBImagePickerThumbnailView.m */; }; 8E64ED8A19EE484A006E99DA /* NSDate+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED8819EE484A006E99DA /* NSDate+Helper.m */; }; 8E64ED8B19EE484A006E99DA /* README.textile in Resources */ = {isa = PBXBuildFile; fileRef = 8E64ED8919EE484A006E99DA /* README.textile */; }; 8E6F1C951A03BD6000BF79C8 /* ProjectMemberActivityListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E6F1C941A03BD6000BF79C8 /* ProjectMemberActivityListViewController.m */; }; @@ -894,10 +852,8 @@ 8E8F7B2C19EF6306006BA8BD /* btn_followed_both@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2219EF6306006BA8BD /* btn_followed_both@2x.png */; }; 8E8F7B2D19EF6306006BA8BD /* btn_followed_not@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2319EF6306006BA8BD /* btn_followed_not@2x.png */; }; 8E8F7B2E19EF6306006BA8BD /* btn_followed_yes@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2419EF6306006BA8BD /* btn_followed_yes@2x.png */; }; - 8E8F7B2F19EF6306006BA8BD /* btn_privateMsg_black@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2519EF6306006BA8BD /* btn_privateMsg_black@2x.png */; }; 8E8F7B3019EF6306006BA8BD /* btn_privateMsg_friend@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2619EF6306006BA8BD /* btn_privateMsg_friend@2x.png */; }; 8E8F7B3119EF6306006BA8BD /* btn_privateMsg_stranger@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2719EF6306006BA8BD /* btn_privateMsg_stranger@2x.png */; }; - 8E8F7B3219EF6306006BA8BD /* btn_privateMsg_white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2819EF6306006BA8BD /* btn_privateMsg_white@2x.png */; }; 8E8F7B3319EF6306006BA8BD /* btn_project_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2919EF6306006BA8BD /* btn_project_add@2x.png */; }; 8E8F7B3419EF6306006BA8BD /* btn_project_added@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2A19EF6306006BA8BD /* btn_project_added@2x.png */; }; 8E8F7B3519EF6306006BA8BD /* btn_project_quit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2B19EF6306006BA8BD /* btn_project_quit@2x.png */; }; @@ -1026,7 +982,6 @@ 8EA6D1A119E240C40076D59C /* tipIcon_UserFollow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFBC19E240C40076D59C /* tipIcon_UserFollow@2x.png */; }; 8EA6D1A319E240C40076D59C /* tweet_comment_btn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFBE19E240C40076D59C /* tweet_comment_btn@2x.png */; }; 8EA6D1A819E240C40076D59C /* xtsegment_bordor_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC319E240C40076D59C /* xtsegment_bordor_left@2x.png */; }; - 8EA6D1AA19E240C40076D59C /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC519E240C40076D59C /* Images.xcassets */; }; 8EA6D1AB19E240C40076D59C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC619E240C40076D59C /* main.m */; }; 8EA6D1AE19E240C40076D59C /* CodingTip.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFCD19E240C40076D59C /* CodingTip.m */; }; 8EA6D1AF19E240C40076D59C /* CodingTips.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFCF19E240C40076D59C /* CodingTips.m */; }; @@ -1144,13 +1099,2031 @@ 927AFF511BFF6DAD00AAE593 /* shop_exchange_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF491BFF6DAD00AAE593 /* shop_exchange_icon@3x.png */; }; 927AFF521BFF6DAD00AAE593 /* shop_nar_history_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF4A1BFF6DAD00AAE593 /* shop_nar_history_icon@2x.png */; }; 927AFF531BFF6DAD00AAE593 /* shop_nar_history_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF4B1BFF6DAD00AAE593 /* shop_nar_history_icon@3x.png */; }; - 927AFF541BFF6DAD00AAE593 /* shop_unexchange_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF4C1BFF6DAD00AAE593 /* shop_unexchange_icon@2x.png */; }; - 927AFF551BFF6DAD00AAE593 /* shop_unexchange_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF4D1BFF6DAD00AAE593 /* shop_unexchange_icon@3x.png */; }; 927AFF581BFF755200AAE593 /* ExchangeGoodsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF571BFF755200AAE593 /* ExchangeGoodsViewController.m */; }; 927AFF5B1BFF772A00AAE593 /* ShopOrderTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF5A1BFF772A00AAE593 /* ShopOrderTextFieldCell.m */; }; + B10341292024633900853447 /* logo_coding@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B10341272024633800853447 /* logo_coding@2x.png */; }; + B103412A2024633900853447 /* logo_coding@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B10341282024633900853447 /* logo_coding@3x.png */; }; + B11DC7C020245728004E76A9 /* button_terminal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B11DC7BE20245727004E76A9 /* button_terminal@2x.png */; }; + B11DC7C120245728004E76A9 /* button_terminal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B11DC7BF20245728004E76A9 /* button_terminal@3x.png */; }; + B1280CED200EFDC600DEDF78 /* file_changeType_RENAME@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CE8200EFDC600DEDF78 /* file_changeType_RENAME@3x.png */; }; + B1280CEE200EFDC600DEDF78 /* file_changeType_ADD@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CE9200EFDC600DEDF78 /* file_changeType_ADD@3x.png */; }; + B1280CEF200EFDC600DEDF78 /* file_changeType_COPY@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CEA200EFDC600DEDF78 /* file_changeType_COPY@3x.png */; }; + B1280CF0200EFDC600DEDF78 /* file_changeType_DELETE@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CEB200EFDC600DEDF78 /* file_changeType_DELETE@3x.png */; }; + B1280CF1200EFDC600DEDF78 /* file_changeType_MODIFY@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CEC200EFDC600DEDF78 /* file_changeType_MODIFY@3x.png */; }; + B1280CFF200EFEA400DEDF78 /* PR_add_label@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF3200EFEA400DEDF78 /* PR_add_label@3x.png */; }; + B1280D00200EFEA400DEDF78 /* PR_add_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF4200EFEA400DEDF78 /* PR_add_watcher@2x.png */; }; + B1280D01200EFEA400DEDF78 /* PR_del_label@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF5200EFEA400DEDF78 /* PR_del_label@3x.png */; }; + B1280D02200EFEA400DEDF78 /* PR_del_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF6200EFEA400DEDF78 /* PR_del_watcher@2x.png */; }; + B1280D03200EFEA400DEDF78 /* PR_add_reviewer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF7200EFEA400DEDF78 /* PR_add_reviewer@3x.png */; }; + B1280D04200EFEA400DEDF78 /* PR_add_reviewer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF8200EFEA400DEDF78 /* PR_add_reviewer@2x.png */; }; + B1280D05200EFEA400DEDF78 /* PR_del_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF9200EFEA400DEDF78 /* PR_del_watcher@3x.png */; }; + B1280D06200EFEA400DEDF78 /* PR_del_label@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFA200EFEA400DEDF78 /* PR_del_label@2x.png */; }; + B1280D07200EFEA400DEDF78 /* PR_add_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFB200EFEA400DEDF78 /* PR_add_watcher@3x.png */; }; + B1280D08200EFEA400DEDF78 /* PR_add_label@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFC200EFEA400DEDF78 /* PR_add_label@2x.png */; }; + B1280D09200EFEA400DEDF78 /* PR_del_reviewer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFD200EFEA400DEDF78 /* PR_del_reviewer@2x.png */; }; + B1280D0A200EFEA400DEDF78 /* PR_del_reviewer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFE200EFEA400DEDF78 /* PR_del_reviewer@3x.png */; }; + B12B63F61FE8A77200ACFDCC /* WeiboSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B12B63F51FE8A77200ACFDCC /* WeiboSDK.bundle */; }; + B12B63F91FE8FF0400ACFDCC /* MartFunctionTipView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B63F81FE8FF0300ACFDCC /* MartFunctionTipView.m */; }; + B12B64061FE900D400ACFDCC /* AMPopTip+Animation.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B63FB1FE900D400ACFDCC /* AMPopTip+Animation.m */; }; + B12B64071FE900D400ACFDCC /* AMPopTip.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B63FD1FE900D400ACFDCC /* AMPopTip.m */; }; + B12B64081FE900D400ACFDCC /* AMPopTip+Entrance.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64021FE900D400ACFDCC /* AMPopTip+Entrance.m */; }; + B12B64091FE900D400ACFDCC /* AMPopTip+Draw.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64031FE900D400ACFDCC /* AMPopTip+Draw.m */; }; + B12B640A1FE900D400ACFDCC /* AMPopTip+Exit.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64051FE900D400ACFDCC /* AMPopTip+Exit.m */; }; + B12B640E1FECB59000ACFDCC /* login_wechat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B640C1FECB58F00ACFDCC /* login_wechat@3x.png */; }; + B12B640F1FECB59000ACFDCC /* login_wechat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B640D1FECB58F00ACFDCC /* login_wechat@2x.png */; }; + B12B64121FF0D54800ACFDCC /* SettingSkillsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64111FF0D54800ACFDCC /* SettingSkillsViewController.m */; }; + B12B64151FF0DE4800ACFDCC /* SkillCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64141FF0DE4800ACFDCC /* SkillCCell.m */; }; + B12B64181FF0E4CB00ACFDCC /* skill_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64161FF0E4CA00ACFDCC /* skill_delete@2x.png */; }; + B12B64191FF0E4CB00ACFDCC /* skill_delete@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64171FF0E4CA00ACFDCC /* skill_delete@3x.png */; }; + B12B641C1FF0F5E400ACFDCC /* JDStatusBarLayoutMarginHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B641B1FF0F5E300ACFDCC /* JDStatusBarLayoutMarginHelper.m */; }; + B12B641F1FF2835800ACFDCC /* CodingVipTipManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B641E1FF2835800ACFDCC /* CodingVipTipManager.m */; }; + B12B64261FF33E0100ACFDCC /* button_red_close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64201FF33DFE00ACFDCC /* button_red_close@3x.png */; }; + B12B64271FF33E0100ACFDCC /* button_red_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64211FF33DFF00ACFDCC /* button_red_close@2x.png */; }; + B12B64281FF33E0100ACFDCC /* button_tip_close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64221FF33DFF00ACFDCC /* button_tip_close@3x.png */; }; + B12B64291FF33E0100ACFDCC /* upgrade_success@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64231FF33DFF00ACFDCC /* upgrade_success@2x.png */; }; + B12B642A1FF33E0100ACFDCC /* upgrade_success@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64241FF33E0000ACFDCC /* upgrade_success@3x.png */; }; + B12B642B1FF33E0100ACFDCC /* button_tip_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64251FF33E0000ACFDCC /* button_tip_close@2x.png */; }; + B12B64731FFB61AD00ACFDCC /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = B12B64571FFB61AD00ACFDCC /* LICENSE */; }; + B12B64741FFB61AD00ACFDCC /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = B12B64581FFB61AD00ACFDCC /* README.md */; }; + B12B64751FFB61AD00ACFDCC /* QBImagePicker.strings in Resources */ = {isa = PBXBuildFile; fileRef = B12B645A1FFB61AD00ACFDCC /* QBImagePicker.strings */; }; + B12B64761FFB61AD00ACFDCC /* QBVideoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64611FFB61AD00ACFDCC /* QBVideoIconView.m */; }; + B12B64771FFB61AD00ACFDCC /* QBVideoIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64621FFB61AD00ACFDCC /* QBVideoIndicatorView.m */; }; + B12B64781FFB61AD00ACFDCC /* QBAlbumCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64681FFB61AD00ACFDCC /* QBAlbumCell.m */; }; + B12B64791FFB61AD00ACFDCC /* QBImagePicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B12B64691FFB61AD00ACFDCC /* QBImagePicker.storyboard */; }; + B12B647A1FFB61AD00ACFDCC /* QBAlbumsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646B1FFB61AD00ACFDCC /* QBAlbumsViewController.m */; }; + B12B647B1FFB61AD00ACFDCC /* QBAssetsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646D1FFB61AD00ACFDCC /* QBAssetsViewController.m */; }; + B12B647C1FFB61AD00ACFDCC /* QBImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646E1FFB61AD00ACFDCC /* QBImagePickerController.m */; }; + B12B647D1FFB61AD00ACFDCC /* QBCheckmarkView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646F1FFB61AD00ACFDCC /* QBCheckmarkView.m */; }; + B12B647E1FFB61AD00ACFDCC /* QBSlomoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64711FFB61AD00ACFDCC /* QBSlomoIconView.m */; }; + B12B647F1FFB61AD00ACFDCC /* QBAssetCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64721FFB61AD00ACFDCC /* QBAssetCell.m */; }; + B12B64821FFC73A900ACFDCC /* PHAsset+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64811FFC73A900ACFDCC /* PHAsset+Common.m */; }; + B131E2112074D2EE00D84FAA /* project_item_reading@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B131E20F2074D2ED00D84FAA /* project_item_reading@3x.png */; }; + B131E2122074D2EE00D84FAA /* project_item_reading@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B131E2102074D2EE00D84FAA /* project_item_reading@2x.png */; }; + B14689B41EE100B200B01371 /* vip_3_30@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A41EE100B200B01371 /* vip_3_30@2x.png */; }; + B14689B51EE100B200B01371 /* vip_3_30@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A51EE100B200B01371 /* vip_3_30@3x.png */; }; + B14689B61EE100B200B01371 /* vip_3_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A61EE100B200B01371 /* vip_3_40@2x.png */; }; + B14689B71EE100B200B01371 /* vip_3_40@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A71EE100B200B01371 /* vip_3_40@3x.png */; }; + B14689B81EE100B200B01371 /* vip_3_45@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A81EE100B200B01371 /* vip_3_45@2x.png */; }; + B14689B91EE100B200B01371 /* vip_3_45@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A91EE100B200B01371 /* vip_3_45@3x.png */; }; + B14689BA1EE100B200B01371 /* vip_3_75@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AA1EE100B200B01371 /* vip_3_75@2x.png */; }; + B14689BB1EE100B200B01371 /* vip_3_75@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AB1EE100B200B01371 /* vip_3_75@3x.png */; }; + B14689BC1EE100B200B01371 /* vip_4_30@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AC1EE100B200B01371 /* vip_4_30@2x.png */; }; + B14689BD1EE100B200B01371 /* vip_4_30@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AD1EE100B200B01371 /* vip_4_30@3x.png */; }; + B14689BE1EE100B200B01371 /* vip_4_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AE1EE100B200B01371 /* vip_4_40@2x.png */; }; + B14689BF1EE100B200B01371 /* vip_4_40@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AF1EE100B200B01371 /* vip_4_40@3x.png */; }; + B14689C01EE100B200B01371 /* vip_4_45@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B01EE100B200B01371 /* vip_4_45@2x.png */; }; + B14689C11EE100B200B01371 /* vip_4_45@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B11EE100B200B01371 /* vip_4_45@3x.png */; }; + B14689C21EE100B200B01371 /* vip_4_75@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B21EE100B200B01371 /* vip_4_75@2x.png */; }; + B14689C31EE100B200B01371 /* vip_4_75@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B31EE100B200B01371 /* vip_4_75@3x.png */; }; + B14DE6DE20C914E70072ECEA /* AnimatedGIFImageSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = B14DE6DD20C914E60072ECEA /* AnimatedGIFImageSerialization.m */; }; + B14DE6DF20C914E70072ECEA /* AnimatedGIFImageSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = B14DE6DD20C914E60072ECEA /* AnimatedGIFImageSerialization.m */; }; + B152ED4E2090B223004A6E8A /* ProjectSettingEntranceController.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED4D2090B223004A6E8A /* ProjectSettingEntranceController.m */; }; + B152ED542091B7CB004A6E8A /* ProjectArchiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED532091B7CB004A6E8A /* ProjectArchiveViewController.m */; }; + B152ED5A2092BF46004A6E8A /* EABoardTaskList.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED592092BF46004A6E8A /* EABoardTaskList.m */; }; + B152ED5D2092D51E004A6E8A /* EATaskBoardListTaskCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED5C2092D51E004A6E8A /* EATaskBoardListTaskCell.m */; }; + B152ED602093018A004A6E8A /* EABoardTaskListView.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED5F2093018A004A6E8A /* EABoardTaskListView.m */; }; + B152ED6320935524004A6E8A /* EABoardTaskListBlankView.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED6220935524004A6E8A /* EABoardTaskListBlankView.m */; }; + B152ED6520935594004A6E8A /* EABoardTaskListBlankView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B152ED6420935594004A6E8A /* EABoardTaskListBlankView.xib */; }; + B152ED68209420CD004A6E8A /* RATaskBoardListListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED67209420CD004A6E8A /* RATaskBoardListListViewController.m */; }; + B152ED7C20945378004A6E8A /* project_item_taskboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7A20945377004A6E8A /* project_item_taskboard@2x.png */; }; + B152ED7D20945378004A6E8A /* project_item_taskboard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7B20945377004A6E8A /* project_item_taskboard@3x.png */; }; + B152ED82209453E8004A6E8A /* taskBoardList@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7E209453E6004A6E8A /* taskBoardList@3x.png */; }; + B152ED83209453E8004A6E8A /* taskboard_blankpage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7F209453E7004A6E8A /* taskboard_blankpage@2x.png */; }; + B152ED84209453E8004A6E8A /* taskBoardList@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED80209453E7004A6E8A /* taskBoardList@2x.png */; }; + B152ED85209453E8004A6E8A /* taskboard_blankpage@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED81209453E8004A6E8A /* taskboard_blankpage@3x.png */; }; + B152ED8F209453F3004A6E8A /* taskboard_normal_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED87209453F2004A6E8A /* taskboard_normal_page_selected@3x.png */; }; + B152ED90209453F3004A6E8A /* taskboard_normal_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED88209453F2004A6E8A /* taskboard_normal_page_selected@2x.png */; }; + B152ED91209453F3004A6E8A /* taskboard_add_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED89209453F2004A6E8A /* taskboard_add_page_unselected@2x.png */; }; + B152ED92209453F3004A6E8A /* taskboard_add_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8A209453F2004A6E8A /* taskboard_add_page_selected@2x.png */; }; + B152ED93209453F3004A6E8A /* taskboard_add_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8B209453F2004A6E8A /* taskboard_add_page_selected@3x.png */; }; + B152ED94209453F3004A6E8A /* taskboard_add_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8C209453F2004A6E8A /* taskboard_add_page_unselected@3x.png */; }; + B152ED95209453F3004A6E8A /* taskboard_normal_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8D209453F2004A6E8A /* taskboard_normal_page_unselected@3x.png */; }; + B152ED96209453F3004A6E8A /* taskboard_normal_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8E209453F2004A6E8A /* taskboard_normal_page_unselected@2x.png */; }; + B15C98AD20D39C4B00DDA425 /* NewProject.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B94C1B6A1AC945FB0000C271 /* NewProject.storyboard */; }; + B15C98B020D39CA200DDA425 /* project_icon_edit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B15C98AE20D39CA100DDA425 /* project_icon_edit@2x.png */; }; + B15C98B120D39CA200DDA425 /* project_icon_edit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B15C98AE20D39CA100DDA425 /* project_icon_edit@2x.png */; }; + B15C98B220D39CA200DDA425 /* project_icon_edit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B15C98AF20D39CA200DDA425 /* project_icon_edit@3x.png */; }; + B15C98B320D39CA200DDA425 /* project_icon_edit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B15C98AF20D39CA200DDA425 /* project_icon_edit@3x.png */; }; + B16E6CA020C0FDB50076026D /* logo_coding_top@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6C9F20C0FDB50076026D /* logo_coding_top@3x.png */; }; + B16E6CA120C0FDB50076026D /* logo_coding_top@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6C9F20C0FDB50076026D /* logo_coding_top@3x.png */; }; + B16E6CA320C102B60076026D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC519E240C40076D59C /* Images.xcassets */; }; + B16E6CA620C13BA20076026D /* btn_dismiss@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CA420C13BA10076026D /* btn_dismiss@3x.png */; }; + B16E6CA720C13BA20076026D /* btn_dismiss@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CA420C13BA10076026D /* btn_dismiss@3x.png */; }; + B16E6CA820C13BA20076026D /* btn_dismiss@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CA520C13BA10076026D /* btn_dismiss@2x.png */; }; + B16E6CA920C13BA20076026D /* btn_dismiss@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CA520C13BA10076026D /* btn_dismiss@2x.png */; }; + B16E6CAF20C13BF50076026D /* btn_next_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAB20C13BF40076026D /* btn_next_unable@2x.png */; }; + B16E6CB020C13BF50076026D /* btn_next_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAB20C13BF40076026D /* btn_next_unable@2x.png */; }; + B16E6CB120C13BF50076026D /* btn_next_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAC20C13BF40076026D /* btn_next_unable@3x.png */; }; + B16E6CB220C13BF50076026D /* btn_next_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAC20C13BF40076026D /* btn_next_unable@3x.png */; }; + B16E6CB320C13BF50076026D /* btn_next_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAD20C13BF40076026D /* btn_next_enable@2x.png */; }; + B16E6CB420C13BF50076026D /* btn_next_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAD20C13BF40076026D /* btn_next_enable@2x.png */; }; + B16E6CB520C13BF50076026D /* btn_next_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAE20C13BF40076026D /* btn_next_enable@3x.png */; }; + B16E6CB620C13BF50076026D /* btn_next_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CAE20C13BF40076026D /* btn_next_enable@3x.png */; }; + B16E6CBE20C13F5F0076026D /* btn_project_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CB820C13F5E0076026D /* btn_project_add@3x.png */; }; + B16E6CBF20C13F5F0076026D /* btn_project_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CB820C13F5E0076026D /* btn_project_add@3x.png */; }; + B16E6CC020C13F5F0076026D /* btn_project_added@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CB920C13F5E0076026D /* btn_project_added@3x.png */; }; + B16E6CC120C13F5F0076026D /* btn_project_added@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CB920C13F5E0076026D /* btn_project_added@3x.png */; }; + B16E6CC220C13F5F0076026D /* btn_project_quit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CBA20C13F5E0076026D /* btn_project_quit@3x.png */; }; + B16E6CC320C13F5F0076026D /* btn_project_quit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CBA20C13F5E0076026D /* btn_project_quit@3x.png */; }; + B16E6CC420C13F5F0076026D /* btn_privateMsg_stranger@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CBB20C13F5E0076026D /* btn_privateMsg_stranger@3x.png */; }; + B16E6CC520C13F5F0076026D /* btn_privateMsg_stranger@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CBB20C13F5E0076026D /* btn_privateMsg_stranger@3x.png */; }; + B16E6CCA20C144930076026D /* done_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC620C144910076026D /* done_Nav@2x.png */; }; + B16E6CCB20C144930076026D /* done_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC620C144910076026D /* done_Nav@2x.png */; }; + B16E6CCC20C144930076026D /* done_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC720C144920076026D /* done_Nav@3x.png */; }; + B16E6CCD20C144930076026D /* done_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC720C144920076026D /* done_Nav@3x.png */; }; + B16E6CCE20C144930076026D /* done_un_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC820C144920076026D /* done_un_Nav@2x.png */; }; + B16E6CCF20C144930076026D /* done_un_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC820C144920076026D /* done_un_Nav@2x.png */; }; + B16E6CD020C144930076026D /* done_un_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC920C144920076026D /* done_un_Nav@3x.png */; }; + B16E6CD120C144930076026D /* done_un_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CC920C144920076026D /* done_un_Nav@3x.png */; }; + B16E6CDB20C145BF0076026D /* quick_menu_icon_message@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD320C145BE0076026D /* quick_menu_icon_message@2x.png */; }; + B16E6CDC20C145BF0076026D /* quick_menu_icon_message@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD320C145BE0076026D /* quick_menu_icon_message@2x.png */; }; + B16E6CDD20C145BF0076026D /* quick_menu_icon_message@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD420C145BE0076026D /* quick_menu_icon_message@3x.png */; }; + B16E6CDE20C145BF0076026D /* quick_menu_icon_message@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD420C145BE0076026D /* quick_menu_icon_message@3x.png */; }; + B16E6CDF20C145BF0076026D /* quick_menu_icon_task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD520C145BE0076026D /* quick_menu_icon_task@3x.png */; }; + B16E6CE020C145BF0076026D /* quick_menu_icon_task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD520C145BE0076026D /* quick_menu_icon_task@3x.png */; }; + B16E6CE120C145BF0076026D /* quick_menu_icon_task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD620C145BE0076026D /* quick_menu_icon_task@2x.png */; }; + B16E6CE220C145BF0076026D /* quick_menu_icon_task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD620C145BE0076026D /* quick_menu_icon_task@2x.png */; }; + B16E6CE320C145BF0076026D /* quick_menu_icon_project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD720C145BE0076026D /* quick_menu_icon_project@3x.png */; }; + B16E6CE420C145BF0076026D /* quick_menu_icon_project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD720C145BE0076026D /* quick_menu_icon_project@3x.png */; }; + B16E6CE520C145BF0076026D /* quick_menu_icon_2fa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD820C145BE0076026D /* quick_menu_icon_2fa@3x.png */; }; + B16E6CE620C145BF0076026D /* quick_menu_icon_2fa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD820C145BE0076026D /* quick_menu_icon_2fa@3x.png */; }; + B16E6CE720C145BF0076026D /* quick_menu_icon_2fa@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD920C145BE0076026D /* quick_menu_icon_2fa@2x.png */; }; + B16E6CE820C145BF0076026D /* quick_menu_icon_2fa@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CD920C145BE0076026D /* quick_menu_icon_2fa@2x.png */; }; + B16E6CE920C145BF0076026D /* quick_menu_icon_project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CDA20C145BE0076026D /* quick_menu_icon_project@2x.png */; }; + B16E6CEA20C145BF0076026D /* quick_menu_icon_project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CDA20C145BE0076026D /* quick_menu_icon_project@2x.png */; }; + B16E6CED20C147490076026D /* team_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CEB20C147480076026D /* team_bg@3x.png */; }; + B16E6CEE20C147490076026D /* team_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CEB20C147480076026D /* team_bg@3x.png */; }; + B16E6CEF20C147490076026D /* team_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CEC20C147490076026D /* team_bg@2x.png */; }; + B16E6CF020C147490076026D /* team_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CEC20C147490076026D /* team_bg@2x.png */; }; + B16E6D0120C147770076026D /* team_info_pro@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF220C147760076026D /* team_info_pro@3x.png */; }; + B16E6D0220C147770076026D /* team_info_pro@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF220C147760076026D /* team_info_pro@3x.png */; }; + B16E6D0320C147770076026D /* team_info_pro@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF320C147760076026D /* team_info_pro@2x.png */; }; + B16E6D0420C147770076026D /* team_info_pro@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF320C147760076026D /* team_info_pro@2x.png */; }; + B16E6D0520C147770076026D /* team_info_order@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF420C147760076026D /* team_info_order@2x.png */; }; + B16E6D0620C147770076026D /* team_info_order@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF420C147760076026D /* team_info_order@2x.png */; }; + B16E6D0720C147770076026D /* team_info_order@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF520C147760076026D /* team_info_order@3x.png */; }; + B16E6D0820C147770076026D /* team_info_order@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF520C147760076026D /* team_info_order@3x.png */; }; + B16E6D0920C147770076026D /* team_info_sup@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF620C147760076026D /* team_info_sup@2x.png */; }; + B16E6D0A20C147770076026D /* team_info_sup@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF620C147760076026D /* team_info_sup@2x.png */; }; + B16E6D0B20C147770076026D /* team_info_mem@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF720C147760076026D /* team_info_mem@3x.png */; }; + B16E6D0C20C147770076026D /* team_info_mem@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF720C147760076026D /* team_info_mem@3x.png */; }; + B16E6D0D20C147770076026D /* team_info_mem@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF820C147760076026D /* team_info_mem@2x.png */; }; + B16E6D0E20C147770076026D /* team_info_mem@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF820C147760076026D /* team_info_mem@2x.png */; }; + B16E6D0F20C147770076026D /* team_info_sup@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF920C147760076026D /* team_info_sup@3x.png */; }; + B16E6D1020C147770076026D /* team_info_sup@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CF920C147760076026D /* team_info_sup@3x.png */; }; + B16E6D1120C147770076026D /* team_cell_edit_team@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFB20C147760076026D /* team_cell_edit_team@3x.png */; }; + B16E6D1220C147770076026D /* team_cell_edit_team@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFB20C147760076026D /* team_cell_edit_team@3x.png */; }; + B16E6D1320C147770076026D /* team_cell_edit_team@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFC20C147760076026D /* team_cell_edit_team@2x.png */; }; + B16E6D1420C147770076026D /* team_cell_edit_team@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFC20C147760076026D /* team_cell_edit_team@2x.png */; }; + B16E6D1520C147770076026D /* team_cell_edit_delete@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFD20C147760076026D /* team_cell_edit_delete@3x.png */; }; + B16E6D1620C147770076026D /* team_cell_edit_delete@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFD20C147760076026D /* team_cell_edit_delete@3x.png */; }; + B16E6D1720C147770076026D /* team_cell_edit_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFE20C147760076026D /* team_cell_edit_delete@2x.png */; }; + B16E6D1820C147770076026D /* team_cell_edit_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFE20C147760076026D /* team_cell_edit_delete@2x.png */; }; + B16E6D1920C147770076026D /* team_cell_edit_pro@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFF20C147760076026D /* team_cell_edit_pro@3x.png */; }; + B16E6D1A20C147770076026D /* team_cell_edit_pro@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6CFF20C147760076026D /* team_cell_edit_pro@3x.png */; }; + B16E6D1B20C147770076026D /* team_cell_edit_pro@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D0020C147760076026D /* team_cell_edit_pro@2x.png */; }; + B16E6D1C20C147770076026D /* team_cell_edit_pro@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D0020C147760076026D /* team_cell_edit_pro@2x.png */; }; + B16E6D7420C148E50076026D /* intro_icon_4@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2020C148E50076026D /* intro_icon_4@3x.png */; }; + B16E6D7520C148E50076026D /* intro_tip_2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2120C148E50076026D /* intro_tip_2@3x.png */; }; + B16E6D7620C148E50076026D /* intro_icon_6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2220C148E50076026D /* intro_icon_6@2x.png */; }; + B16E6D7720C148E50076026D /* intro_tip_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2320C148E50076026D /* intro_tip_0@2x.png */; }; + B16E6D7820C148E50076026D /* intro_tip_0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2420C148E50076026D /* intro_tip_0@3x.png */; }; + B16E6D7920C148E50076026D /* intro_icon_6@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2520C148E50076026D /* intro_icon_6@3x.png */; }; + B16E6D7A20C148E50076026D /* intro_tip_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2620C148E50076026D /* intro_tip_2@2x.png */; }; + B16E6D7B20C148E50076026D /* intro_icon_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2720C148E50076026D /* intro_icon_4@2x.png */; }; + B16E6D7C20C148E50076026D /* intro_icon_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2820C148E50076026D /* intro_icon_0@2x.png */; }; + B16E6D7D20C148E50076026D /* intro_icon_2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2920C148E50076026D /* intro_icon_2@3x.png */; }; + B16E6D7E20C148E50076026D /* intro_tip_4@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2A20C148E50076026D /* intro_tip_4@3x.png */; }; + B16E6D7F20C148E50076026D /* intro_tip_4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2B20C148E50076026D /* intro_tip_4@2x.png */; }; + B16E6D8020C148E50076026D /* intro_icon_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2C20C148E50076026D /* intro_icon_2@2x.png */; }; + B16E6D8120C148E50076026D /* intro_icon_0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2D20C148E50076026D /* intro_icon_0@3x.png */; }; + B16E6D8220C148E50076026D /* intro_tip_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2E20C148E50076026D /* intro_tip_1@2x.png */; }; + B16E6D8320C148E50076026D /* intro_icon_5@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D2F20C148E50076026D /* intro_icon_5@3x.png */; }; + B16E6D8420C148E50076026D /* intro_dot_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3020C148E50076026D /* intro_dot_unselected@2x.png */; }; + B16E6D8520C148E50076026D /* intro_tip_3@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3120C148E50076026D /* intro_tip_3@3x.png */; }; + B16E6D8620C148E50076026D /* intro_tip_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3220C148E50076026D /* intro_tip_3@2x.png */; }; + B16E6D8720C148E50076026D /* intro_icon_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3320C148E50076026D /* intro_icon_5@2x.png */; }; + B16E6D8820C148E50076026D /* intro_dot_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3420C148E50076026D /* intro_dot_unselected@3x.png */; }; + B16E6D8920C148E50076026D /* intro_tip_1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3520C148E50076026D /* intro_tip_1@3x.png */; }; + B16E6D8A20C148E50076026D /* intro_icon_3@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3620C148E50076026D /* intro_icon_3@3x.png */; }; + B16E6D8B20C148E50076026D /* intro_tip_5@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3720C148E50076026D /* intro_tip_5@3x.png */; }; + B16E6D8C20C148E50076026D /* intro_icon_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3820C148E50076026D /* intro_icon_1@2x.png */; }; + B16E6D8D20C148E50076026D /* intro_dot_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3920C148E50076026D /* intro_dot_selected@2x.png */; }; + B16E6D8E20C148E50076026D /* intro_dot_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3A20C148E50076026D /* intro_dot_selected@3x.png */; }; + B16E6D8F20C148E50076026D /* intro_icon_1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3B20C148E50076026D /* intro_icon_1@3x.png */; }; + B16E6D9020C148E50076026D /* intro_tip_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3C20C148E50076026D /* intro_tip_5@2x.png */; }; + B16E6D9120C148E50076026D /* intro_icon_3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3D20C148E50076026D /* intro_icon_3@2x.png */; }; + B16E6D9220C148E50076026D /* intro_page0_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D3F20C148E50076026D /* intro_page0_ip5@2x.png */; }; + B16E6D9320C148E50076026D /* intro_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4020C148E50076026D /* intro_page_selected@2x.png */; }; + B16E6D9420C148E50076026D /* intro_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4120C148E50076026D /* intro_page_unselected@2x.png */; }; + B16E6D9520C148E50076026D /* intro_page0_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4220C148E50076026D /* intro_page0_ip4@2x.png */; }; + B16E6D9620C148E50076026D /* intro_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4320C148E50076026D /* intro_page_unselected@3x.png */; }; + B16E6D9720C148E50076026D /* intro_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4420C148E50076026D /* intro_page_selected@3x.png */; }; + B16E6D9820C148E50076026D /* intro_page0_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4520C148E50076026D /* intro_page0_ip6@2x.png */; }; + B16E6D9920C148E50076026D /* intro_page0_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4620C148E50076026D /* intro_page0_ip6+@3x.png */; }; + B16E6D9A20C148E50076026D /* intro_page0_ipX@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4720C148E50076026D /* intro_page0_ipX@3x.png */; }; + B16E6D9B20C148E50076026D /* icon_user_monkey_i6p@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4920C148E50076026D /* icon_user_monkey_i6p@3x.png */; }; + B16E6D9C20C148E50076026D /* icon_user_monkey_i6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4A20C148E50076026D /* icon_user_monkey_i6@2x.png */; }; + B16E6D9D20C148E50076026D /* icon_user_monkey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4B20C148E50076026D /* icon_user_monkey@2x.png */; }; + B16E6DC020C1492F0076026D /* intro_dot_dark_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5520C148E50076026D /* intro_dot_dark_unselected@3x.png */; }; + B16E6DC120C1492F0076026D /* intro_dot_dark_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5620C148E50076026D /* intro_dot_dark_selected@3x.png */; }; + B16E6DC220C1492F0076026D /* intro_dot_dark_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5720C148E50076026D /* intro_dot_dark_selected@2x.png */; }; + B16E6DC320C1492F0076026D /* intro_dot_dark_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5820C148E50076026D /* intro_dot_dark_unselected@2x.png */; }; + B16E6DC420C149350076026D /* intro_dot_light_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D4F20C148E50076026D /* intro_dot_light_unselected@2x.png */; }; + B16E6DC520C149350076026D /* intro_dot_light_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5020C148E50076026D /* intro_dot_light_unselected@3x.png */; }; + B16E6DC620C149350076026D /* intro_dot_light_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5120C148E50076026D /* intro_dot_light_selected@3x.png */; }; + B16E6DC720C149350076026D /* intro_dot_light_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5220C148E50076026D /* intro_dot_light_selected@2x.png */; }; + B16E6DC820C1493A0076026D /* intro_icon_wiki_down.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5320C148E50076026D /* intro_icon_wiki_down.gif */; }; + B16E6DC920C1493A0076026D /* intro_icon_wiki_up.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5920C148E50076026D /* intro_icon_wiki_up.gif */; }; + B16E6DCA20C1493A0076026D /* intro_icon_file_up.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5A20C148E50076026D /* intro_icon_file_up.gif */; }; + B16E6DCB20C1493A0076026D /* intro_icon_code_up.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5B20C148E50076026D /* intro_icon_code_up.gif */; }; + B16E6DCC20C1493A0076026D /* intro_icon_task_up.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5C20C148E50076026D /* intro_icon_task_up.gif */; }; + B16E6DCD20C1493A0076026D /* intro_icon_file_down.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5D20C148E50076026D /* intro_icon_file_down.gif */; }; + B16E6DCE20C1493A0076026D /* intro_icon_task_down.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5E20C148E50076026D /* intro_icon_task_down.gif */; }; + B16E6DCF20C1493A0076026D /* intro_icon_code_down.gif in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D5F20C148E50076026D /* intro_icon_code_down.gif */; }; + B16E6DD020C149440076026D /* intro_page0_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6120C148E50076026D /* intro_page0_ip5@2x.png */; }; + B16E6DD120C149440076026D /* intro_page2_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6220C148E50076026D /* intro_page2_ip6+@3x.png */; }; + B16E6DD220C149440076026D /* intro_page1_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6320C148E50076026D /* intro_page1_ip6@2x.png */; }; + B16E6DD320C149440076026D /* intro_page1_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6420C148E50076026D /* intro_page1_ip4@2x.png */; }; + B16E6DD420C149440076026D /* intro_page2_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6520C148E50076026D /* intro_page2_ip5@2x.png */; }; + B16E6DD520C149440076026D /* intro_page1_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6620C148E50076026D /* intro_page1_ip6+@3x.png */; }; + B16E6DD620C149440076026D /* intro_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6720C148E50076026D /* intro_page_selected@2x.png */; }; + B16E6DD720C149440076026D /* intro_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6820C148E50076026D /* intro_page_unselected@2x.png */; }; + B16E6DD820C149440076026D /* intro_page0_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6920C148E50076026D /* intro_page0_ip4@2x.png */; }; + B16E6DD920C149440076026D /* intro_page1_ip5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6A20C148E50076026D /* intro_page1_ip5@2x.png */; }; + B16E6DDA20C149440076026D /* intro_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6B20C148E50076026D /* intro_page_unselected@3x.png */; }; + B16E6DDB20C149440076026D /* intro_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6C20C148E50076026D /* intro_page_selected@3x.png */; }; + B16E6DDC20C149440076026D /* intro_page0_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6D20C148E50076026D /* intro_page0_ip6@2x.png */; }; + B16E6DDD20C149440076026D /* intro_page2_ip4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6E20C148E50076026D /* intro_page2_ip4@2x.png */; }; + B16E6DDE20C149440076026D /* intro_page0_ip6+@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D6F20C148E50076026D /* intro_page0_ip6+@3x.png */; }; + B16E6DDF20C149440076026D /* intro_page2_ip6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D7020C148E50076026D /* intro_page2_ip6@2x.png */; }; + B16E6DE020C1494B0076026D /* icon_user_monkey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D7220C148E50076026D /* icon_user_monkey@2x.png */; }; + B16E6DE120C1494B0076026D /* icon_user_monkey@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16E6D7320C148E50076026D /* icon_user_monkey@3x.png */; }; + B16EEF08208DDBB6005ABFD5 /* timeline_icon_read@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16EEF06208DDBB5005ABFD5 /* timeline_icon_read@3x.png */; }; + B16EEF09208DDBB6005ABFD5 /* timeline_icon_unread@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16EEF07208DDBB6005ABFD5 /* timeline_icon_unread@3x.png */; }; + B16EEF13209080D7005ABFD5 /* TaskBoardsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B16EEF12209080D7005ABFD5 /* TaskBoardsViewController.m */; }; + B177F5C52060E6B1006709C2 /* wiki.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C02060E6B1006709C2 /* wiki.html */; }; + B177F5C62060E6B1006709C2 /* bubble.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C12060E6B1006709C2 /* bubble.html */; }; + B177F5C72060E6B1006709C2 /* markdown.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C22060E6B1006709C2 /* markdown.html */; }; + B177F5C82060E6B1006709C2 /* topic-ios.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C32060E6B1006709C2 /* topic-ios.html */; }; + B177F5C92060E6B1006709C2 /* code.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C42060E6B1006709C2 /* code.html */; }; + B17CC31420731E950077C956 /* icon_release_tag_blue@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31220731E900077C956 /* icon_release_tag_blue@3x.png */; }; + B17CC31520731E950077C956 /* icon_release_tag_blue@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31320731E910077C956 /* icon_release_tag_blue@2x.png */; }; + B17CC31D20731FF10077C956 /* code_release_resource_Zip@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31720731FF10077C956 /* code_release_resource_Zip@2x.png */; }; + B17CC31E20731FF10077C956 /* code_release_resource_Zip@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31820731FF10077C956 /* code_release_resource_Zip@3x.png */; }; + B17CC31F20731FF10077C956 /* code_release_resource_Default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31920731FF10077C956 /* code_release_resource_Default@3x.png */; }; + B17CC32020731FF10077C956 /* code_release_resource__Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31A20731FF10077C956 /* code_release_resource__Default@2x.png */; }; + B17CC32120731FF10077C956 /* code_release_resource_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31B20731FF10077C956 /* code_release_resource_Task@2x.png */; }; + B17CC32220731FF10077C956 /* code_release_resource_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31C20731FF10077C956 /* code_release_resource_Task@3x.png */; }; + B17CC3292073212E0077C956 /* code_release_resource_ProjectFile@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3232073212D0077C956 /* code_release_resource_ProjectFile@3x.png */; }; + B17CC32A2073212E0077C956 /* code_release_resource_MergeRequestBean@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3242073212D0077C956 /* code_release_resource_MergeRequestBean@3x.png */; }; + B17CC32B2073212E0077C956 /* code_release_resource_ProjectFile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3252073212D0077C956 /* code_release_resource_ProjectFile@2x.png */; }; + B17CC32C2073212E0077C956 /* code_release_resource_ProjectTopic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3262073212D0077C956 /* code_release_resource_ProjectTopic@3x.png */; }; + B17CC32D2073212E0077C956 /* code_release_resource_MergeRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3272073212E0077C956 /* code_release_resource_MergeRequestBean@2x.png */; }; + B17CC32E2073212E0077C956 /* code_release_resource_ProjectTopic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3282073212E0077C956 /* code_release_resource_ProjectTopic@2x.png */; }; + B1816063202063440022B4C6 /* EATerminalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1816062202063440022B4C6 /* EATerminalViewController.m */; }; + B1817EB62063899400E9BAD1 /* EACodeBranchListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EB52063899400E9BAD1 /* EACodeBranchListViewController.m */; }; + B1817EB9206389F500E9BAD1 /* EACodeReleaseListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EB8206389F500E9BAD1 /* EACodeReleaseListViewController.m */; }; + B1817EBC2063936100E9BAD1 /* EACodeBranches.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EBB2063936100E9BAD1 /* EACodeBranches.m */; }; + B1817EBF2063951000E9BAD1 /* EABasePageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EBE2063951000E9BAD1 /* EABasePageModel.m */; }; + B1817EC4206397E000E9BAD1 /* EACodeRelease.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EC3206397E000E9BAD1 /* EACodeRelease.m */; }; + B1817EC7206397F500E9BAD1 /* EACodeReleases.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EC6206397F500E9BAD1 /* EACodeReleases.m */; }; + B1817ECA20639E9500E9BAD1 /* EACodeReleaseListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EC920639E9500E9BAD1 /* EACodeReleaseListCell.m */; }; + B1817ECD20639F0A00E9BAD1 /* EACodeBranchListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817ECC20639F0A00E9BAD1 /* EACodeBranchListCell.m */; }; + B1817EE42064F92C00E9BAD1 /* EACodeReleaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EE32064F92C00E9BAD1 /* EACodeReleaseViewController.m */; }; + B1817EE72064FC6100E9BAD1 /* EACodeReleaseTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EE62064FC6100E9BAD1 /* EACodeReleaseTopCell.m */; }; + B1817EEA2064FC7300E9BAD1 /* EACodeReleaseBodyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EE92064FC7300E9BAD1 /* EACodeReleaseBodyCell.m */; }; + B1817EED2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EEC2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.m */; }; + B1817EEF2068C7A100E9BAD1 /* EACodeBranchListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1817EEE2068C7A100E9BAD1 /* EACodeBranchListCell.xib */; }; + B1817EF12068F4B400E9BAD1 /* EACodeReleaseListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF02068F4B400E9BAD1 /* EACodeReleaseListCell.xib */; }; + B1817EF62069186E00E9BAD1 /* project_item_tag@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF22069186C00E9BAD1 /* project_item_tag@2x.png */; }; + B1817EF72069186E00E9BAD1 /* project_item_branch@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF32069186C00E9BAD1 /* project_item_branch@2x.png */; }; + B1817EF82069186E00E9BAD1 /* project_item_branch@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF42069186D00E9BAD1 /* project_item_branch@3x.png */; }; + B1817EF92069186E00E9BAD1 /* project_item_tag@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF52069186E00E9BAD1 /* project_item_tag@3x.png */; }; + B1817EFC206918D200E9BAD1 /* icon_branch_protected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFA206918D100E9BAD1 /* icon_branch_protected@3x.png */; }; + B1817EFD206918D200E9BAD1 /* icon_branch_protected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFB206918D200E9BAD1 /* icon_branch_protected@2x.png */; }; + B1817F002069197D00E9BAD1 /* icon_release_tag@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFE2069197C00E9BAD1 /* icon_release_tag@3x.png */; }; + B1817F012069197D00E9BAD1 /* icon_release_tag@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFF2069197C00E9BAD1 /* icon_release_tag@2x.png */; }; + B1817F0320691B2700E9BAD1 /* EACodeReleaseTopCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1817F0220691B2700E9BAD1 /* EACodeReleaseTopCell.xib */; }; + B1817F062069F67700E9BAD1 /* EAEditCodeReleaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817F052069F67700E9BAD1 /* EAEditCodeReleaseViewController.m */; }; + B184166920513CA100207666 /* topic_add_watcher_btn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B184166720513CA000207666 /* topic_add_watcher_btn@3x.png */; }; + B184166A20513CA100207666 /* tweet_comment_btn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B184166820513CA000207666 /* tweet_comment_btn@3x.png */; }; + B186AEB020F462F600A6AF35 /* UIAlertController+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B186AEAF20F462F600A6AF35 /* UIAlertController+Common.m */; }; + B186AEB120F462F600A6AF35 /* UIAlertController+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B186AEAF20F462F600A6AF35 /* UIAlertController+Common.m */; }; + B1890C292015D82600F52ABA /* wiki_menu_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C1E2015D82600F52ABA /* wiki_menu_0@2x.png */; }; + B1890C2A2015D82600F52ABA /* wiki_menu_2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C1F2015D82600F52ABA /* wiki_menu_2@3x.png */; }; + B1890C2B2015D82600F52ABA /* wiki_menu_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C202015D82600F52ABA /* wiki_menu_2@2x.png */; }; + B1890C2C2015D82600F52ABA /* wiki_menu_0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C212015D82600F52ABA /* wiki_menu_0@3x.png */; }; + B1890C2D2015D82600F52ABA /* wiki_revert@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C222015D82600F52ABA /* wiki_revert@3x.png */; }; + B1890C2E2015D82600F52ABA /* wiki_revert@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C232015D82600F52ABA /* wiki_revert@2x.png */; }; + B1890C2F2015D82600F52ABA /* wiki_menu_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C242015D82600F52ABA /* wiki_menu_1@2x.png */; }; + B1890C302015D82600F52ABA /* wiki_menu_1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C252015D82600F52ABA /* wiki_menu_1@3x.png */; }; + B1890C312015D82600F52ABA /* wiki_menu_icon_share@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C272015D82600F52ABA /* wiki_menu_icon_share@2x.png */; }; + B1890C322015D82600F52ABA /* wiki_menu_icon_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C282015D82600F52ABA /* wiki_menu_icon_delete@2x.png */; }; + B1890C352015D87900F52ABA /* EAWiki.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C342015D87800F52ABA /* EAWiki.m */; }; + B1890C382015D89A00F52ABA /* WikiMenuListView.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C362015D89A00F52ABA /* WikiMenuListView.m */; }; + B1890C3D2015D8C900F52ABA /* WikiMenuListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C3A2015D8C800F52ABA /* WikiMenuListCell.m */; }; + B1890C3E2015D8C900F52ABA /* WikiHistoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C3B2015D8C800F52ABA /* WikiHistoryCell.m */; }; + B1890C412015D8F700F52ABA /* WikiHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C402015D8F700F52ABA /* WikiHeaderView.m */; }; + B1890C482015D92600F52ABA /* WikiEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C432015D92500F52ABA /* WikiEditViewController.m */; }; + B1890C492015D92600F52ABA /* WikiHistoryListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C442015D92500F52ABA /* WikiHistoryListViewController.m */; }; + B1890C4A2015D92600F52ABA /* WikiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C472015D92600F52ABA /* WikiViewController.m */; }; + B1890C4D2019B29900F52ABA /* UINavigationBar+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C4B2019B29800F52ABA /* UINavigationBar+Common.m */; }; + B1944144206BB87F00147158 /* EALocalCodeListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1944143206BB87F00147158 /* EALocalCodeListViewController.m */; }; + B1944147206BB89100147158 /* EALocalCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1944146206BB89100147158 /* EALocalCodeViewController.m */; }; + B194414A206BB8BB00147158 /* EALocalCodeListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1944149206BB8BB00147158 /* EALocalCodeListCell.m */; }; + B1944154206CBE8C00147158 /* code_lang.plist in Resources */ = {isa = PBXBuildFile; fileRef = B1944153206CBE8C00147158 /* code_lang.plist */; }; + B19D4EE11F690F5E00C598F3 /* file_activity_icon_rename@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EDF1F690F5E00C598F3 /* file_activity_icon_rename@2x.png */; }; + B19D4EE21F690F5E00C598F3 /* file_activity_icon_rename@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EE01F690F5E00C598F3 /* file_activity_icon_rename@3x.png */; }; + B19D4EEA1F6FAA6000C598F3 /* AboutPointViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B19D4EE81F6FAA6000C598F3 /* AboutPointViewController.m */; }; + B19D4EEB1F6FAA6000C598F3 /* AboutPointViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EE91F6FAA6000C598F3 /* AboutPointViewController.xib */; }; + B19D4EEE1F6FCEAC00C598F3 /* CodingSkill.m in Sources */ = {isa = PBXBuildFile; fileRef = B19D4EED1F6FCEAC00C598F3 /* CodingSkill.m */; }; + B19D4EF21F710EF900C598F3 /* ShopSwitchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B19D4EF01F710EF900C598F3 /* ShopSwitchCell.m */; }; + B19D4EF31F710EF900C598F3 /* ShopSwitchCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF11F710EF900C598F3 /* ShopSwitchCell.xib */; }; + B19D4EF61F7210C300C598F3 /* user_info_shop@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF41F7210C300C598F3 /* user_info_shop@2x.png */; }; + B19D4EF71F7210C300C598F3 /* user_info_shop@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF51F7210C300C598F3 /* user_info_shop@3x.png */; }; + B19D4EFB1F7247BA00C598F3 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF91F7247BA00C598F3 /* AlipaySDK.bundle */; }; + B19D4EFC1F7247BA00C598F3 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B19D4EFA1F7247BA00C598F3 /* AlipaySDK.framework */; }; + B19D4EFE1F724CDC00C598F3 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B19D4EFD1F724CDC00C598F3 /* CoreMotion.framework */; }; + B1AB5C9A202953E50075A669 /* terminal_tail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C90202953E40075A669 /* terminal_tail@2x.png */; }; + B1AB5C9B202953E50075A669 /* terminal_box_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */; }; + B1AB5C9C202953E50075A669 /* terminal_box_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */; }; + B1AB5C9D202953E50075A669 /* terminal_tail@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C93202953E40075A669 /* terminal_tail@3x.png */; }; + B1AB5C9E202953E50075A669 /* terminal_more@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C94202953E40075A669 /* terminal_more@3x.png */; }; + B1AB5C9F202953E50075A669 /* terminal_more@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C95202953E40075A669 /* terminal_more@2x.png */; }; + B1AB5CA0202953E50075A669 /* terminal_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */; }; + B1AB5CA1202953E50075A669 /* terminal_box_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */; }; + B1AB5CA2202953E50075A669 /* terminal_triangle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */; }; + B1AB5CA3202953E50075A669 /* terminal_box_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */; }; + B1AB5CB1202D7D500075A669 /* button_file_createFolder_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA6202D7D4D0075A669 /* button_file_createFolder_enable@3x.png */; }; + B1AB5CB2202D7D500075A669 /* button_file_denete_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA7202D7D4E0075A669 /* button_file_denete_enable@3x.png */; }; + B1AB5CB3202D7D500075A669 /* button_file_download_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA8202D7D4E0075A669 /* button_file_download_enable@3x.png */; }; + B1AB5CB4202D7D500075A669 /* button_file_upload_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA9202D7D4E0075A669 /* button_file_upload_enable@3x.png */; }; + B1AB5CB5202D7D500075A669 /* button_file_history@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAA202D7D4E0075A669 /* button_file_history@3x.png */; }; + B1AB5CB6202D7D500075A669 /* button_file_activity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAB202D7D4F0075A669 /* button_file_activity@3x.png */; }; + B1AB5CB7202D7D500075A669 /* button_file_denete_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAC202D7D4F0075A669 /* button_file_denete_unable@3x.png */; }; + B1AB5CB8202D7D500075A669 /* button_file_download_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAD202D7D4F0075A669 /* button_file_download_unable@3x.png */; }; + B1AB5CB9202D7D500075A669 /* button_file_move_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAE202D7D4F0075A669 /* button_file_move_enable@3x.png */; }; + B1AB5CBA202D7D500075A669 /* button_file_move_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAF202D7D4F0075A669 /* button_file_move_unable@3x.png */; }; + B1AB5CBB202D7D500075A669 /* button_file_createFolder_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CB0202D7D500075A669 /* button_file_createFolder_unable@3x.png */; }; + B1ACFE0D20A975E2000BC41E /* EAMilestone.m in Sources */ = {isa = PBXBuildFile; fileRef = B1ACFE0C20A975E2000BC41E /* EAMilestone.m */; }; + B1BCB87D1FCD006C0098B87B /* icon_file_doc_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8701FCD006A0098B87B /* icon_file_doc_big@2x.png */; }; + B1BCB87E1FCD006C0098B87B /* icon_file_zip_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8711FCD006B0098B87B /* icon_file_zip_big@2x.png */; }; + B1BCB87F1FCD006C0098B87B /* icon_file_pdf_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8721FCD006B0098B87B /* icon_file_pdf_big@2x.png */; }; + B1BCB8801FCD006C0098B87B /* icon_file_psd_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8731FCD006B0098B87B /* icon_file_psd_big@2x.png */; }; + B1BCB8811FCD006C0098B87B /* icon_file_unknown_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8741FCD006B0098B87B /* icon_file_unknown_big@2x.png */; }; + B1BCB8821FCD006C0098B87B /* icon_file_movie_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8751FCD006B0098B87B /* icon_file_movie_big@2x.png */; }; + B1BCB8831FCD006C0098B87B /* icon_file_md_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8761FCD006B0098B87B /* icon_file_md_big@2x.png */; }; + B1BCB8841FCD006C0098B87B /* icon_file_apk_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8771FCD006B0098B87B /* icon_file_apk_big@2x.png */; }; + B1BCB8851FCD006C0098B87B /* icon_file_code_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8781FCD006C0098B87B /* icon_file_code_big@2x.png */; }; + B1BCB8861FCD006C0098B87B /* icon_file_txt_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8791FCD006C0098B87B /* icon_file_txt_big@2x.png */; }; + B1BCB8871FCD006C0098B87B /* icon_file_music_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB87A1FCD006C0098B87B /* icon_file_music_big@2x.png */; }; + B1BCB8881FCD006C0098B87B /* icon_file_ai_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB87B1FCD006C0098B87B /* icon_file_ai_big@2x.png */; }; + B1BCB8891FCD006C0098B87B /* icon_file_ppt_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB87C1FCD006C0098B87B /* icon_file_ppt_big@2x.png */; }; + B1BCB88B1FCD0A6D0098B87B /* icon_file_xls_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB88A1FCD0A6D0098B87B /* icon_file_xls_big@2x.png */; }; + B1BCB88F1FCE61D60098B87B /* EAPayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1BCB88D1FCE61D60098B87B /* EAPayViewController.m */; }; + B1BCB8901FCE61D60098B87B /* EAPayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB88E1FCE61D60098B87B /* EAPayViewController.xib */; }; + B1BCB8931FCE662A0098B87B /* NSLayoutConstraintLine.m in Sources */ = {isa = PBXBuildFile; fileRef = B1BCB8911FCE662A0098B87B /* NSLayoutConstraintLine.m */; }; + B1BCB8991FCE93830098B87B /* alipay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8951FCE93830098B87B /* alipay@2x.png */; }; + B1BCB89A1FCE93830098B87B /* alipay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8961FCE93830098B87B /* alipay@3x.png */; }; + B1BCB89B1FCE93830098B87B /* wechat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8971FCE93830098B87B /* wechat@2x.png */; }; + B1BCB89C1FCE93830098B87B /* wechat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8981FCE93830098B87B /* wechat@3x.png */; }; + B1BFC4B620B2ACEE009427FC /* editBoardList@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4B420B2ACED009427FC /* editBoardList@3x.png */; }; + B1BFC4B720B2ACEE009427FC /* editBoardList@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4B520B2ACEE009427FC /* editBoardList@2x.png */; }; + B1BFC4C420B2B250009427FC /* task_activity_icon_add_milestone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C020B2B24E009427FC /* task_activity_icon_add_milestone@2x.png */; }; + B1BFC4C520B2B250009427FC /* task_activity_icon_add_milestone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C120B2B24E009427FC /* task_activity_icon_add_milestone@3x.png */; }; + B1BFC4C620B2B250009427FC /* task_activity_icon_remove_milestone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C220B2B24F009427FC /* task_activity_icon_remove_milestone@3x.png */; }; + B1BFC4C720B2B250009427FC /* task_activity_icon_remove_milestone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C320B2B250009427FC /* task_activity_icon_remove_milestone@2x.png */; }; + B1C60C7A20BFA2150073D3CA /* NProjectFileListView.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C7920BFA2150073D3CA /* NProjectFileListView.m */; }; + B1C60C7B20BFA2150073D3CA /* NProjectFileListView.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C7920BFA2150073D3CA /* NProjectFileListView.m */; }; + B1C60C7E20BFCDBE0073D3CA /* EditMemberTypeProjectListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C7D20BFCDBD0073D3CA /* EditMemberTypeProjectListViewController.m */; }; + B1C60C7F20BFCDBE0073D3CA /* EditMemberTypeProjectListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C7D20BFCDBD0073D3CA /* EditMemberTypeProjectListViewController.m */; }; + B1C60C8220BFCEFD0073D3CA /* NFileListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C8020BFCEFD0073D3CA /* NFileListViewController.m */; }; + B1C60C8320BFCEFD0073D3CA /* NFileListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C8020BFCEFD0073D3CA /* NFileListViewController.m */; }; + B1C60C8620BFE8220073D3CA /* NewProject.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B94C1B6A1AC945FB0000C271 /* NewProject.storyboard */; }; + B1C60C8E20BFF7950073D3CA /* ProjectTypeExplanationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1C60C8B20BFF7940073D3CA /* ProjectTypeExplanationViewController.xib */; }; + B1C60C8F20BFF7950073D3CA /* ProjectTypeExplanationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1C60C8B20BFF7940073D3CA /* ProjectTypeExplanationViewController.xib */; }; + B1C60C9020BFF7950073D3CA /* ProjectTypeExplanationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C8D20BFF7950073D3CA /* ProjectTypeExplanationViewController.m */; }; + B1C60C9120BFF7950073D3CA /* ProjectTypeExplanationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C8D20BFF7950073D3CA /* ProjectTypeExplanationViewController.m */; }; + B1C60C9820C004C80073D3CA /* TeamPurchaseTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C9320C004C70073D3CA /* TeamPurchaseTopCell.m */; }; + B1C60C9920C004C80073D3CA /* TeamPurchaseTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C9320C004C70073D3CA /* TeamPurchaseTopCell.m */; }; + B1C60C9A20C004C80073D3CA /* TeamPurchaseBillingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C9420C004C70073D3CA /* TeamPurchaseBillingCell.m */; }; + B1C60C9B20C004C80073D3CA /* TeamPurchaseBillingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C9420C004C70073D3CA /* TeamPurchaseBillingCell.m */; }; + B1C60C9C20C004C80073D3CA /* TeamPurchaseOrderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C9620C004C80073D3CA /* TeamPurchaseOrderCell.m */; }; + B1C60C9D20C004C80073D3CA /* TeamPurchaseOrderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60C9620C004C80073D3CA /* TeamPurchaseOrderCell.m */; }; + B1C60CA420C0DDF60073D3CA /* TeamSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60CA020C0DDF40073D3CA /* TeamSettingViewController.m */; }; + B1C60CA520C0DDF60073D3CA /* TeamSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60CA020C0DDF40073D3CA /* TeamSettingViewController.m */; }; + B1C60CA620C0DDF60073D3CA /* TeamPurchaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60CA120C0DDF40073D3CA /* TeamPurchaseViewController.m */; }; + B1C60CA720C0DDF60073D3CA /* TeamPurchaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60CA120C0DDF40073D3CA /* TeamPurchaseViewController.m */; }; + B1C60CA820C0DDF60073D3CA /* TeamSupportViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60CA320C0DDF50073D3CA /* TeamSupportViewController.m */; }; + B1C60CA920C0DDF60073D3CA /* TeamSupportViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C60CA320C0DDF50073D3CA /* TeamSupportViewController.m */; }; + B1C60CAB20C0FC750073D3CA /* Launch Screen_E.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1C60CAA20C0FC750073D3CA /* Launch Screen_E.xib */; }; + B1C60CAC20C0FC750073D3CA /* Launch Screen_E.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1C60CAA20C0FC750073D3CA /* Launch Screen_E.xib */; }; + B1C871131EADAEE1003DACF0 /* loading_monkey@2x.gif in Resources */ = {isa = PBXBuildFile; fileRef = B1C871121EADAEE1003DACF0 /* loading_monkey@2x.gif */; }; + B1C871181EADF0B1003DACF0 /* messageAT@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871141EADF0B1003DACF0 /* messageAT@3x.png */; }; + B1C871191EADF0B1003DACF0 /* messageComment@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871151EADF0B1003DACF0 /* messageComment@3x.png */; }; + B1C8711A1EADF0B1003DACF0 /* messageProjectFollows@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871161EADF0B1003DACF0 /* messageProjectFollows@3x.png */; }; + B1C8711B1EADF0B1003DACF0 /* messageSystem@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871171EADF0B1003DACF0 /* messageSystem@3x.png */; }; + B1C871241EADF0FF003DACF0 /* addBtn_Artboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711C1EADF0FF003DACF0 /* addBtn_Artboard@2x.png */; }; + B1C871251EADF0FF003DACF0 /* addBtn_Artboard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711D1EADF0FF003DACF0 /* addBtn_Artboard@3x.png */; }; + B1C871261EADF0FF003DACF0 /* back_green_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711E1EADF0FF003DACF0 /* back_green_Nav@2x.png */; }; + B1C871271EADF0FF003DACF0 /* back_green_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711F1EADF0FF003DACF0 /* back_green_Nav@3x.png */; }; + B1C871281EADF0FF003DACF0 /* back_T_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871201EADF0FF003DACF0 /* back_T_Nav@2x.png */; }; + B1C871291EADF0FF003DACF0 /* back_T_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871211EADF0FF003DACF0 /* back_T_Nav@3x.png */; }; + B1C8712A1EADF0FF003DACF0 /* settingBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871221EADF0FF003DACF0 /* settingBtn_Nav@2x.png */; }; + B1C8712B1EADF0FF003DACF0 /* settingBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871231EADF0FF003DACF0 /* settingBtn_Nav@3x.png */; }; + B1C871351EADF155003DACF0 /* project_item_activity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712C1EADF155003DACF0 /* project_item_activity@3x.png */; }; + B1C871361EADF155003DACF0 /* project_item_code@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712D1EADF155003DACF0 /* project_item_code@3x.png */; }; + B1C871371EADF155003DACF0 /* project_item_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712E1EADF155003DACF0 /* project_item_file@3x.png */; }; + B1C871381EADF155003DACF0 /* project_item_member@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712F1EADF155003DACF0 /* project_item_member@3x.png */; }; + B1C871391EADF155003DACF0 /* project_item_mr_pr@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871301EADF155003DACF0 /* project_item_mr_pr@3x.png */; }; + B1C8713A1EADF155003DACF0 /* project_item_readme@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871311EADF155003DACF0 /* project_item_readme@3x.png */; }; + B1C8713B1EADF155003DACF0 /* project_item_task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871321EADF155003DACF0 /* project_item_task@3x.png */; }; + B1C8713C1EADF155003DACF0 /* project_item_wiki@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871331EADF155003DACF0 /* project_item_wiki@2x.png */; }; + B1C8713D1EADF155003DACF0 /* project_item_wiki@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871341EADF155003DACF0 /* project_item_wiki@3x.png */; }; + B1C871431EADF1C1003DACF0 /* taskDeadline@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8713E1EADF1C1003DACF0 /* taskDeadline@3x.png */; }; + B1C871441EADF1C1003DACF0 /* taskOwner@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8713F1EADF1C1003DACF0 /* taskOwner@3x.png */; }; + B1C871451EADF1C1003DACF0 /* taskPriority@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871401EADF1C1003DACF0 /* taskPriority@3x.png */; }; + B1C871461EADF1C1003DACF0 /* taskProgress@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871411EADF1C1003DACF0 /* taskProgress@3x.png */; }; + B1C871471EADF1C1003DACF0 /* taskProject@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871421EADF1C1003DACF0 /* taskProject@3x.png */; }; + B1C8714A1EADF217003DACF0 /* user_info_company@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871481EADF217003DACF0 /* user_info_company@2x.png */; }; + B1C8714B1EADF217003DACF0 /* user_info_company@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871491EADF217003DACF0 /* user_info_company@3x.png */; }; + B1C8714D1EADF3AC003DACF0 /* mrpr_icon_fileChange@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8714C1EADF3AC003DACF0 /* mrpr_icon_fileChange@3x.png */; }; + B1C871501EADF48B003DACF0 /* cell_arrow_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8714E1EADF48B003DACF0 /* cell_arrow_left@2x.png */; }; + B1C871511EADF48B003DACF0 /* cell_arrow_left@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8714F1EADF48B003DACF0 /* cell_arrow_left@3x.png */; }; + B1C871541EADF4D4003DACF0 /* UITableViewCell+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C871531EADF4D4003DACF0 /* UITableViewCell+Common.m */; }; + B1C871561EAE003A003DACF0 /* project_item_topic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871551EAE003A003DACF0 /* project_item_topic@3x.png */; }; + B1C871581EB0884A003DACF0 /* little_phone_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871571EB0884A003DACF0 /* little_phone_icon@3x.png */; }; + B1C871631EB182C7003DACF0 /* checkbox_checked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871591EB182C7003DACF0 /* checkbox_checked@3x.png */; }; + B1C871641EB182C7003DACF0 /* checkbox_unchecked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715A1EB182C7003DACF0 /* checkbox_unchecked@3x.png */; }; + B1C871651EB182C7003DACF0 /* taskPriority0_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715B1EB182C7003DACF0 /* taskPriority0_small@3x.png */; }; + B1C871661EB182C7003DACF0 /* taskPriority0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715C1EB182C7003DACF0 /* taskPriority0@3x.png */; }; + B1C871671EB182C7003DACF0 /* taskPriority1_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715D1EB182C7003DACF0 /* taskPriority1_small@3x.png */; }; + B1C871681EB182C7003DACF0 /* taskPriority1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715E1EB182C7003DACF0 /* taskPriority1@3x.png */; }; + B1C871691EB182C7003DACF0 /* taskPriority2_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715F1EB182C7003DACF0 /* taskPriority2_small@3x.png */; }; + B1C8716A1EB182C7003DACF0 /* taskPriority2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871601EB182C7003DACF0 /* taskPriority2@3x.png */; }; + B1C8716B1EB182C7003DACF0 /* taskPriority3_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871611EB182C7003DACF0 /* taskPriority3_small@3x.png */; }; + B1C8716C1EB182C7003DACF0 /* taskPriority3@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871621EB182C7003DACF0 /* taskPriority3@3x.png */; }; + B1C871701EB1832B003DACF0 /* task_description_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8716D1EB1832B003DACF0 /* task_description_icon@3x.png */; }; + B1C871711EB1832B003DACF0 /* topic_comment_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8716E1EB1832B003DACF0 /* topic_comment_icon@3x.png */; }; + B1C871721EB1832B003DACF0 /* time_clock_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8716F1EB1832B003DACF0 /* time_clock_icon@3x.png */; }; + B1C8717D1EB18599003DACF0 /* calendar_0x59A2FF@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871731EB18599003DACF0 /* calendar_0x59A2FF@2x.png */; }; + B1C8717E1EB18599003DACF0 /* calendar_0x59A2FF@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871741EB18599003DACF0 /* calendar_0x59A2FF@3x.png */; }; + B1C8717F1EB18599003DACF0 /* calendar_0xA1CF64@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871751EB18599003DACF0 /* calendar_0xA1CF64@2x.png */; }; + B1C871801EB18599003DACF0 /* calendar_0xA1CF64@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871761EB18599003DACF0 /* calendar_0xA1CF64@3x.png */; }; + B1C871811EB18599003DACF0 /* calendar_0xA9B3BE@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871771EB18599003DACF0 /* calendar_0xA9B3BE@2x.png */; }; + B1C871821EB18599003DACF0 /* calendar_0xA9B3BE@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871781EB18599003DACF0 /* calendar_0xA9B3BE@3x.png */; }; + B1C871831EB18599003DACF0 /* calendar_0xF56061@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871791EB18599003DACF0 /* calendar_0xF56061@2x.png */; }; + B1C871841EB18599003DACF0 /* calendar_0xF56061@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8717A1EB18599003DACF0 /* calendar_0xF56061@3x.png */; }; + B1C871851EB18599003DACF0 /* calendar_0xF68435@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8717B1EB18599003DACF0 /* calendar_0xF68435@2x.png */; }; + B1C871861EB18599003DACF0 /* calendar_0xF68435@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8717C1EB18599003DACF0 /* calendar_0xF68435@3x.png */; }; + B1C8718D1EB1E608003DACF0 /* btn_setFrequent@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871871EB1E608003DACF0 /* btn_setFrequent@3x.png */; }; + B1C8718E1EB1E608003DACF0 /* cell_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871881EB1E608003DACF0 /* cell_checkmark@3x.png */; }; + B1C8718F1EB1E608003DACF0 /* icon_add_comment@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871891EB1E608003DACF0 /* icon_add_comment@3x.png */; }; + B1C871901EB1E608003DACF0 /* nav_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8718A1EB1E608003DACF0 /* nav_page_selected@3x.png */; }; + B1C871911EB1E608003DACF0 /* nav_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8718B1EB1E608003DACF0 /* nav_page_unselected@3x.png */; }; + B1C871921EB1E608003DACF0 /* tasks_all@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8718C1EB1E608003DACF0 /* tasks_all@3x.png */; }; + B1C871A01EB2D9E6003DACF0 /* task_activity_icon_add_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871931EB2D9E6003DACF0 /* task_activity_icon_add_watcher@3x.png */; }; + B1C871A11EB2D9E6003DACF0 /* task_activity_icon_commit_refer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871941EB2D9E6003DACF0 /* task_activity_icon_commit_refer@3x.png */; }; + B1C871A21EB2D9E6003DACF0 /* task_activity_icon_create@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871951EB2D9E6003DACF0 /* task_activity_icon_create@3x.png */; }; + B1C871A31EB2D9E6003DACF0 /* task_activity_icon_finish@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871961EB2D9E6003DACF0 /* task_activity_icon_finish@3x.png */; }; + B1C871A41EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871971EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png */; }; + B1C871A51EB2D9E6003DACF0 /* task_activity_icon_reassign@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871981EB2D9E6003DACF0 /* task_activity_icon_reassign@3x.png */; }; + B1C871A61EB2D9E6003DACF0 /* task_activity_icon_remove_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871991EB2D9E6003DACF0 /* task_activity_icon_remove_watcher@3x.png */; }; + B1C871A71EB2D9E6003DACF0 /* task_activity_icon_restore@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719A1EB2D9E6003DACF0 /* task_activity_icon_restore@3x.png */; }; + B1C871A81EB2D9E6003DACF0 /* task_activity_icon_update_deadline@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719B1EB2D9E6003DACF0 /* task_activity_icon_update_deadline@3x.png */; }; + B1C871A91EB2D9E6003DACF0 /* task_activity_icon_update_description@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719C1EB2D9E6003DACF0 /* task_activity_icon_update_description@3x.png */; }; + B1C871AA1EB2D9E6003DACF0 /* task_activity_icon_update_label@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719D1EB2D9E6003DACF0 /* task_activity_icon_update_label@3x.png */; }; + B1C871AB1EB2D9E6003DACF0 /* task_activity_icon_update_priority@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719E1EB2D9E6003DACF0 /* task_activity_icon_update_priority@3x.png */; }; + B1C871AC1EB2D9E6003DACF0 /* task_activity_icon_update@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719F1EB2D9E6003DACF0 /* task_activity_icon_update@3x.png */; }; + B1C871B21EB2D9F0003DACF0 /* file_activity_icon_create@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871AD1EB2D9F0003DACF0 /* file_activity_icon_create@3x.png */; }; + B1C871B31EB2D9F0003DACF0 /* file_activity_icon_delete_history@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871AE1EB2D9F0003DACF0 /* file_activity_icon_delete_history@3x.png */; }; + B1C871B41EB2D9F0003DACF0 /* file_activity_icon_move_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871AF1EB2D9F0003DACF0 /* file_activity_icon_move_file@3x.png */; }; + B1C871B51EB2D9F0003DACF0 /* file_activity_icon_update_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B01EB2D9F0003DACF0 /* file_activity_icon_update_file@3x.png */; }; + B1C871B61EB2D9F0003DACF0 /* file_activity_icon_upload_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B11EB2D9F0003DACF0 /* file_activity_icon_upload_file@3x.png */; }; + B1C871BA1EB338FD003DACF0 /* comment_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B71EB338FD003DACF0 /* comment_bg@3x.png */; }; + B1C871BB1EB338FD003DACF0 /* project_tag_btn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B81EB338FD003DACF0 /* project_tag_btn@3x.png */; }; + B1C871BC1EB338FD003DACF0 /* project_tag_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B91EB338FD003DACF0 /* project_tag_icon@3x.png */; }; + B1C871BE1EB33B37003DACF0 /* task_icon_arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871BD1EB33B37003DACF0 /* task_icon_arrow@3x.png */; }; + B1CB8DD22047F1D200872197 /* button_tip_notice@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1CB8DD02047F1D000872197 /* button_tip_notice@2x.png */; }; + B1CB8DD32047F1D200872197 /* button_tip_notice@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1CB8DD12047F1D100872197 /* button_tip_notice@3x.png */; }; + B1D5EBF420BC06CB00983FB6 /* RootTabViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3E19E240C40076D59C /* RootTabViewController.m */; }; + B1D5EBF520BC06CB00983FB6 /* WebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4ABBE91A653027004760D9 /* WebViewController.m */; }; + B1D5EBF620BC06CB00983FB6 /* ProjectTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6FB0541B5799B100B0A17B /* ProjectTag.m */; }; + B1D5EBF720BC06CB00983FB6 /* SendRewardManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5D13141C0EDFE700985AEB /* SendRewardManager.m */; }; + B1D5EBF820BC06CB00983FB6 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2CE1A1EE6AF005FD721 /* UIImageView+AFNetworking.m */; }; + B1D5EBF920BC06CB00983FB6 /* ExchangeGoodsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF571BFF755200AAE593 /* ExchangeGoodsViewController.m */; }; + B1D5EBFA20BC06CB00983FB6 /* ProjectMember.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFE319E240C40076D59C /* ProjectMember.m */; }; + B1D5EBFB20BC06CB00983FB6 /* UserInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BCC1ABA773800C704F1 /* UserInfoViewController.m */; }; + B1D5EBFC20BC06CB00983FB6 /* Me_RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3619E240C40076D59C /* Me_RootViewController.m */; }; + B1D5EBFD20BC06CB00983FB6 /* ProjectActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E787DE41B03342000F06E83 /* ProjectActivity.m */; }; + B1D5EBFE20BC06CB00983FB6 /* SWUtilityButtonTapGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8765621A22E5B40090CFB9 /* SWUtilityButtonTapGestureRecognizer.m */; }; + B1D5EBFF20BC06CB00983FB6 /* UnReadManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AFA1A3946C10021E29C /* UnReadManager.m */; }; + B1D5EC0020BC06CB00983FB6 /* ProjectFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA679121A1466A6001A0324 /* ProjectFiles.m */; }; + B1D5EC0220BC06CB00983FB6 /* MRPRCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A571B1C5DC000FD2E49 /* MRPRCommentCell.m */; }; + B1D5EC0320BC06CB00983FB6 /* AudioPlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FEC1B6D111300D2166C /* AudioPlayView.m */; }; + B1D5EC0420BC06CB00983FB6 /* NewProjectTypeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B94C1B6D1AC98CCE0000C271 /* NewProjectTypeViewController.m */; }; + B1D5EC0520BC06CB00983FB6 /* EAIntroPage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022991B735075005308DE /* EAIntroPage.m */; }; + B1D5EC0620BC06CB00983FB6 /* PopFliterMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A32BF21BF19EF100336C52 /* PopFliterMenu.m */; }; + B1D5EC0720BC06CB00983FB6 /* ProjectPublicListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D09E6AC81BF9746F009D37F8 /* ProjectPublicListCell.m */; }; + B1D5EC0820BC06CB00983FB6 /* DirectoryWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E96E7BA1A1B25D40037C098 /* DirectoryWatcher.m */; }; + B1D5EC0920BC06CB00983FB6 /* SVWebViewControllerActivityReport.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED673211A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.m */; }; + B1D5EC0A20BC06CB00983FB6 /* TeamMember.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4A81D829C9F00EED8C6 /* TeamMember.m */; }; + B1D5EC0B20BC06CB00983FB6 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2CC1A1EE6AF005FD721 /* UIButton+AFNetworking.m */; }; + B1D5EC0C20BC06CB00983FB6 /* TopicCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439419FF7E2900F7EEB0 /* TopicCommentCell.m */; }; + B1D5EC0D20BC06CB00983FB6 /* AudioVolumeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FF51B6DAF3800D2166C /* AudioVolumeView.m */; }; + B1D5EC0E20BC06CB00983FB6 /* ZXScanCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D6D1B45400100B70936 /* ZXScanCodeViewController.m */; }; + B1D5EC0F20BC06CB00983FB6 /* LDNetTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E3068351E0B781A00AEE0CE /* LDNetTimer.m */; }; + B1D5EC1020BC06CB00983FB6 /* TaskBoardsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B16EEF12209080D7005ABFD5 /* TaskBoardsViewController.m */; }; + B1D5EC1120BC06CB00983FB6 /* Tweet.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECD72EE1AAD7EC300D69AE1 /* Tweet.m */; }; + B1D5EC1220BC06CB00983FB6 /* PRDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DA65E71CBE668E00810CB7 /* PRDetailViewController.m */; }; + B1D5EC1320BC06CB00983FB6 /* TweetCommentMoreCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439C19FF7E2900F7EEB0 /* TweetCommentMoreCell.m */; }; + B1D5EC1420BC06CB00983FB6 /* CodeTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0FF1A01133C009A905F /* CodeTree.m */; }; + B1D5EC1520BC06CB00983FB6 /* WikiMenuListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C3A2015D8C800F52ABA /* WikiMenuListCell.m */; }; + B1D5EC1620BC06CB00983FB6 /* EALocalCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1944146206BB89100147158 /* EALocalCodeViewController.m */; }; + B1D5EC1720BC06CB00983FB6 /* KxMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E93F2321B84243D00017916 /* KxMenu.m */; }; + B1D5EC1820BC06CB00983FB6 /* UserSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C447B81C02C63000DC1C4B /* UserSearchCell.m */; }; + B1D5EC1920BC06CB00983FB6 /* SettingEmailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E83AE7A1CF30F1A006BA3BB /* SettingEmailViewController.m */; }; + B1D5EC1A20BC06CB00983FB6 /* MemberCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437619FF7E2900F7EEB0 /* MemberCell.m */; }; + B1D5EC1B20BC06CB00983FB6 /* JobManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AF61A3946C10021E29C /* JobManager.m */; }; + B1D5EC1C20BC06CB00983FB6 /* UIView+Frame.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8551B6C7DFD0061CAA6 /* UIView+Frame.m */; }; + B1D5EC1D20BC06CB00983FB6 /* TagsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AF81A3946C10021E29C /* TagsManager.m */; }; + B1D5EC1E20BC06CB00983FB6 /* AddCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AAB1B1EED6A00FD2E49 /* AddCommentCell.m */; }; + B1D5EC1F20BC06CB00983FB6 /* UITTTAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D00A19E240C40076D59C /* UITTTAttributedLabel.m */; }; + B1D5EC2020BC06CB00983FB6 /* TitleValueCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438E19FF7E2900F7EEB0 /* TitleValueCell.m */; }; + B1D5EC2120BC06CB00983FB6 /* ODRefreshControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1581A6D192B00A046BD /* ODRefreshControl.m */; }; + B1D5EC2220BC06CB00983FB6 /* FileSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C447971BFECDF200DC1C4B /* FileSearchCell.m */; }; + B1D5EC2320BC06CB00983FB6 /* RDVTabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D09819E240C40076D59C /* RDVTabBarItem.m */; }; + B1D5EC2420BC06CB00983FB6 /* PointShopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E00228E1B721964005308DE /* PointShopCell.m */; }; + B1D5EC2520BC06CB00983FB6 /* ProjectTopicActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF818181B05C984005F974B /* ProjectTopicActivity.m */; }; + B1D5EC2620BC06CB00983FB6 /* FileChangeListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A841B1C6D8200FD2E49 /* FileChangeListCell.m */; }; + B1D5EC2720BC06CB00983FB6 /* ProjectListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BE11ABA957B00C704F1 /* ProjectListViewController.m */; }; + B1D5EC2820BC06CB00983FB6 /* EaseMarkdownTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E743E6C1A88A3CC00DADDE5 /* EaseMarkdownTextView.m */; }; + B1D5EC2920BC06CB00983FB6 /* ActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058841E0AA9AE00C1CA3F /* ActivityView.m */; }; + B1D5EC2A20BC06CB00983FB6 /* ListGroupItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFDB19E240C40076D59C /* ListGroupItem.m */; }; + B1D5EC2B20BC06CB00983FB6 /* CodingSearchDisplayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E80E93B1E02353900DE1BC6 /* CodingSearchDisplayView.m */; }; + B1D5EC2C20BC06CB00983FB6 /* MyTask_RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3A19E240C40076D59C /* MyTask_RootViewController.m */; }; + B1D5EC2D20BC06CB00983FB6 /* SettingAccountViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DFF19E8DFE300EF3032 /* SettingAccountViewController.m */; }; + B1D5EC2E20BC06CB00983FB6 /* SWTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8765601A22E5B40090CFB9 /* SWTableViewCell.m */; }; + B1D5EC2F20BC06CB00983FB6 /* ScanBGView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4E61B4A6AC700EB668A /* ScanBGView.m */; }; + B1D5EC3020BC06CB00983FB6 /* CodingVipTipManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B641E1FF2835800ACFDCC /* CodingVipTipManager.m */; }; + B1D5EC3120BC06CB00983FB6 /* CSTopicHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8651B6C7E3D0061CAA6 /* CSTopicHeaderView.m */; }; + B1D5EC3220BC06CB00983FB6 /* NJKWebViewProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBB624B1A6F526C0045DAEF /* NJKWebViewProgressView.m */; }; + B1D5EC3320BC06CB00983FB6 /* TaskActivityCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6383F11B32CC7600D98648 /* TaskActivityCell.m */; }; + B1D5EC3420BC06CB00983FB6 /* ActivenessModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A0587F1E0AA97000C1CA3F /* ActivenessModel.m */; }; + B1D5EC3520BC06CB00983FB6 /* Close2FAViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E554D6D1C9804F40008686A /* Close2FAViewController.m */; }; + B1D5EC3620BC06CB00983FB6 /* NSDate+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AB81A3943E80021E29C /* NSDate+Common.m */; }; + B1D5EC3720BC06CB00983FB6 /* RDVTabBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D09419E240C40076D59C /* RDVTabBar.m */; }; + B1D5EC3820BC06CB00983FB6 /* TMCacheExtend.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD87F1B6C7F0A0061CAA6 /* TMCacheExtend.m */; }; + B1D5EC3920BC06CB00983FB6 /* CodingShareView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2BF3D81B96D0FA00A5A0A8 /* CodingShareView.m */; }; + B1D5EC3A20BC06CB00983FB6 /* DistancePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DE719E7D58A00EF3032 /* DistancePickerView.m */; }; + B1D5EC3B20BC06CB00983FB6 /* FileVersionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06AD1B7B241A00179F4B /* FileVersionsViewController.m */; }; + B1D5EC3C20BC06CB00983FB6 /* FileVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06B91B7B47A700179F4B /* FileVersion.m */; }; + B1D5EC3D20BC06CB00983FB6 /* Depot.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFD519E240C40076D59C /* Depot.m */; }; + B1D5EC3E20BC06CB00983FB6 /* ReportIllegalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6731D1A8DD38C00DF2D1A /* ReportIllegalViewController.m */; }; + B1D5EC3F20BC06CB00983FB6 /* ShopBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 923399681C0044C900F29E04 /* ShopBannerView.m */; }; + B1D5EC4020BC06CB00983FB6 /* TweetDetailCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439E19FF7E2900F7EEB0 /* TweetDetailCell.m */; }; + B1D5EC4120BC06CB00983FB6 /* ProjectTransferSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2ECEAC1BD4D51000CB6EC9 /* ProjectTransferSettingViewController.m */; }; + B1D5EC4220BC06CB00983FB6 /* UIMessageInputView_Add.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD2561AD3CAAC005E515F /* UIMessageInputView_Add.m */; }; + B1D5EC4320BC06CB00983FB6 /* UIMessageInputView_Voice.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FCD1B6CF5D500D2166C /* UIMessageInputView_Voice.m */; }; + B1D5EC4420BC06CB00983FB6 /* UIScrollView+SVInfiniteScrolling.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0DF1A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.m */; }; + B1D5EC4520BC06CB00983FB6 /* PointRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022821B72095E005308DE /* PointRecord.m */; }; + B1D5EC4620BC06CB00983FB6 /* ShopGoodsCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF3D1BFF608700AAE593 /* ShopGoodsCCell.m */; }; + B1D5EC4720BC06CB00983FB6 /* FolderToMoveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E15C7CF1A26D2F000FB8DAD /* FolderToMoveViewController.m */; }; + B1D5EC4820BC06CB00983FB6 /* Shop.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF3A1BFF2EB300AAE593 /* Shop.m */; }; + B1D5EC4920BC06CB00983FB6 /* CategorySearchBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D000E0491BFC45CF00A33C2B /* CategorySearchBar.m */; }; + B1D5EC4A20BC06CB00983FB6 /* UISearchBar+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE5481D1AE7B7CA00A92306 /* UISearchBar+Common.m */; }; + B1D5EC4B20BC06CB00983FB6 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F14D1A6D192B00A046BD /* UIImage+GIF.m */; }; + B1D5EC4C20BC06CB00983FB6 /* MessageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437819FF7E2900F7EEB0 /* MessageCell.m */; }; + B1D5EC4D20BC06CB00983FB6 /* SettingMineInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3E0119E8DFE300EF3032 /* SettingMineInfoViewController.m */; }; + B1D5EC4E20BC06CB00983FB6 /* TweetSendImageCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6436219FF7E2900F7EEB0 /* TweetSendImageCCell.m */; }; + B1D5EC4F20BC06CB00983FB6 /* OTPGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D521B45295D00B70936 /* OTPGenerator.m */; }; + B1D5EC5020BC06CB00983FB6 /* AddUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EABB20019EE7A85009EB53A /* AddUserViewController.m */; }; + B1D5EC5120BC06CB00983FB6 /* TaskResourceReferenceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F411C7C480200B5EBEA /* TaskResourceReferenceCell.m */; }; + B1D5EC5220BC06CB00983FB6 /* UIButton+Bootstrap.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AC41A3943E80021E29C /* UIButton+Bootstrap.m */; }; + B1D5EC5320BC06CB00983FB6 /* NSDate+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E64ED8819EE484A006E99DA /* NSDate+Helper.m */; }; + B1D5EC5420BC06CB00983FB6 /* MJPhotoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D07519E240C40076D59C /* MJPhotoView.m */; }; + B1D5EC5520BC06CB00983FB6 /* CodeListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F1091A021053009A905F /* CodeListViewController.m */; }; + B1D5EC5620BC06CB00983FB6 /* NProjectItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF702B1B1704C5000280FF /* NProjectItemCell.m */; }; + B1D5EC5720BC06CB00983FB6 /* EACodeReleases.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EC6206397F500E9BAD1 /* EACodeReleases.m */; }; + B1D5EC5820BC06CB00983FB6 /* TeamMembersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4AE1D82B28B00EED8C6 /* TeamMembersViewController.m */; }; + B1D5EC5920BC06CB00983FB6 /* ActionSheetDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DDF19E7D58A00EF3032 /* ActionSheetDatePicker.m */; }; + B1D5EC5A20BC06CB00983FB6 /* Input_OnlyText_Cell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6436F19FF7E2900F7EEB0 /* Input_OnlyText_Cell.m */; }; + B1D5EC5B20BC06CB00983FB6 /* FileListUploadCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E07D3071A4A96EA009EDDF2 /* FileListUploadCell.m */; }; + B1D5EC5C20BC06CB00983FB6 /* ProjectServiceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6CBE5B1D8FC7A500644086 /* ProjectServiceInfo.m */; }; + B1D5EC5D20BC06CB00983FB6 /* ProjectListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2221B5D02CA004284F1 /* ProjectListView.m */; }; + B1D5EC5E20BC06CB00983FB6 /* EAIntroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E00229B1B735075005308DE /* EAIntroView.m */; }; + B1D5EC5F20BC06CB00983FB6 /* ProjectFolders.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA679151A1496A7001A0324 /* ProjectFolders.m */; }; + B1D5EC6020BC06CB00983FB6 /* ProjectTagLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2351B5DF568004284F1 /* ProjectTagLabel.m */; }; + B1D5EC6120BC06CB00983FB6 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F13A1A6D192B00A046BD /* NSData+ImageContentType.m */; }; + B1D5EC6220BC06CB00983FB6 /* UIColor+MobileColors.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D571B45295D00B70936 /* UIColor+MobileColors.m */; }; + B1D5EC6320BC06CB00983FB6 /* MJPhotoProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D07119E240C40076D59C /* MJPhotoProgressView.m */; }; + B1D5EC6420BC06CB00983FB6 /* EADeviceToServerLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E3068281E0B781A00AEE0CE /* EADeviceToServerLog.m */; }; + B1D5EC6520BC06CB00983FB6 /* MRPRFilesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A631B1C65F700FD2E49 /* MRPRFilesViewController.m */; }; + B1D5EC6620BC06CB00983FB6 /* PHAsset+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64811FFC73A900ACFDCC /* PHAsset+Common.m */; }; + B1D5EC6720BC06CB00983FB6 /* FileListFolderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA6791C1A15A943001A0324 /* FileListFolderCell.m */; }; + B1D5EC6820BC06CB00983FB6 /* Users.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFF919E240C40076D59C /* Users.m */; }; + B1D5EC6920BC06CB00983FB6 /* UserCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF643A619FF7E2900F7EEB0 /* UserCell.m */; }; + B1D5EC6A20BC06CB00983FB6 /* PointRecordsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022881B721516005308DE /* PointRecordsViewController.m */; }; + B1D5EC6B20BC06CB00983FB6 /* OTPAuthClock.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D721B454D5000B70936 /* OTPAuthClock.m */; }; + B1D5EC6C20BC06CB00983FB6 /* TOTPGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D541B45295D00B70936 /* TOTPGenerator.m */; }; + B1D5EC6D20BC06CB00983FB6 /* CSHotTopicView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8591B6C7E3D0061CAA6 /* CSHotTopicView.m */; }; + B1D5EC6E20BC06CB00983FB6 /* CodingTip.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFCD19E240C40076D59C /* CodingTip.m */; }; + B1D5EC6F20BC06CB00983FB6 /* NProjectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2719B71AB02F31006AE214 /* NProjectViewController.m */; }; + B1D5EC7020BC06CB00983FB6 /* SettingPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E74EC001C311B6300EC0E1B /* SettingPhoneViewController.m */; }; + B1D5EC7120BC06CB00983FB6 /* PrivateMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFDF19E240C40076D59C /* PrivateMessage.m */; }; + B1D5EC7220BC06CB00983FB6 /* ProjectTaskListViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437E19FF7E2900F7EEB0 /* ProjectTaskListViewCell.m */; }; + B1D5EC7320BC06CB00983FB6 /* UIDevice+Info.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8ACA1A3943E80021E29C /* UIDevice+Info.m */; }; + B1D5EC7420BC06CB00983FB6 /* UIMessageInputView_Media.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD25C1AD3CBB9005E515F /* UIMessageInputView_Media.m */; }; + B1D5EC7520BC06CB00983FB6 /* QBAlbumCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64681FFB61AD00ACFDCC /* QBAlbumCell.m */; }; + B1D5EC7620BC06CB00983FB6 /* FileActivityCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06B61B7B330900179F4B /* FileActivityCell.m */; }; + B1D5EC7720BC06CB00983FB6 /* UIAlertView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2CA1A1EE6AF005FD721 /* UIAlertView+AFNetworking.m */; }; + B1D5EC7820BC06CB00983FB6 /* WikiHistoryListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C442015D92500F52ABA /* WikiHistoryListViewController.m */; }; + B1D5EC7920BC06CB00983FB6 /* CommitCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AAE1B2047DE00FD2E49 /* CommitCommentCell.m */; }; + B1D5EC7A20BC06CB00983FB6 /* ProjectAboutOthersListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D066BB3F1BF623DD005AB5D6 /* ProjectAboutOthersListCell.m */; }; + B1D5EC7B20BC06CB00983FB6 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1461A6D192B00A046BD /* SDWebImageManager.m */; }; + B1D5EC7C20BC06CB00983FB6 /* amrFileCodec.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FD21B6D0F3E00D2166C /* amrFileCodec.m */; }; + B1D5EC7D20BC06CB00983FB6 /* SettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3E0519E8DFE300EF3032 /* SettingViewController.m */; }; + B1D5EC7E20BC06CB00983FB6 /* ActivityMonScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058821E0AA9AE00C1CA3F /* ActivityMonScrollView.m */; }; + B1D5EC7F20BC06CB00983FB6 /* ActionSheetStringPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DE519E7D58A00EF3032 /* ActionSheetStringPicker.m */; }; + B1D5EC8020BC06CB00983FB6 /* LeftImage_LRTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437419FF7E2900F7EEB0 /* LeftImage_LRTextCell.m */; }; + B1D5EC8120BC06CB00983FB6 /* ProjectSettingEntranceController.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED4D2090B223004A6E8A /* ProjectSettingEntranceController.m */; }; + B1D5EC8220BC06CB00983FB6 /* UINavigationBar+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C4B2019B29800F52ABA /* UINavigationBar+Common.m */; }; + B1D5EC8320BC06CB00983FB6 /* ShopOrderListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 926C043D1C01A212004937D8 /* ShopOrderListView.m */; }; + B1D5EC8420BC06CB00983FB6 /* SWActionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DE919E7D58A00EF3032 /* SWActionSheet.m */; }; + B1D5EC8520BC06CB00983FB6 /* ProjectInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A22811AB1729700CFC14F /* ProjectInfoCell.m */; }; + B1D5EC8620BC06CB00983FB6 /* Task.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFEF19E240C40076D59C /* Task.m */; }; + B1D5EC8720BC06CB00983FB6 /* TweetSendDetailLoctionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A0519E01ABA918100551B61 /* TweetSendDetailLoctionCell.m */; }; + B1D5EC8820BC06CB00983FB6 /* CannotLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5C06EA1AC4009100F427C5 /* CannotLoginViewController.m */; }; + B1D5EC8920BC06CB00983FB6 /* ShopViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF371BFF1CC200AAE593 /* ShopViewController.m */; }; + B1D5EC8A20BC06CB00983FB6 /* Reviewer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1309BA011CA2EF370034C7A3 /* Reviewer.m */; }; + B1D5EC8B20BC06CB00983FB6 /* EALocalCodeListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1944143206BB87F00147158 /* EALocalCodeListViewController.m */; }; + B1D5EC8C20BC06CB00983FB6 /* AMPopTip+Exit.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64051FE900D400ACFDCC /* AMPopTip+Exit.m */; }; + B1D5EC8D20BC06CB00983FB6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF1619E240C40076D59C /* AppDelegate.m */; }; + B1D5EC8E20BC06CB00983FB6 /* AudioAmrUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FD41B6D0F3E00D2166C /* AudioAmrUtil.m */; }; + B1D5EC8F20BC06CB00983FB6 /* Coding_NetAPIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AF01A3946C10021E29C /* Coding_NetAPIManager.m */; }; + B1D5EC9020BC06CB00983FB6 /* FileListFileCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0F91A00F3F3009A905F /* FileListFileCell.m */; }; + B1D5EC9120BC06CB00983FB6 /* TipsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF4C19E240C40076D59C /* TipsViewController.m */; }; + B1D5EC9220BC06CB00983FB6 /* ReviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 134E1B981CA41217002A3E0D /* ReviewCell.m */; }; + B1D5EC9320BC06CB00983FB6 /* TopicHotkeyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8891B6C7F5B0061CAA6 /* TopicHotkeyView.m */; }; + B1D5EC9420BC06CB00983FB6 /* UIPlaceHolderTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D00619E240C40076D59C /* UIPlaceHolderTextView.m */; }; + B1D5EC9520BC06CB00983FB6 /* TopicSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C4481A1C034C3F00DC1C4B /* TopicSearchCell.m */; }; + B1D5EC9620BC06CB00983FB6 /* ProjectCommitsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A6C1B1C68D700FD2E49 /* ProjectCommitsViewController.m */; }; + B1D5EC9720BC06CB00983FB6 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2D11A1EE6AF005FD721 /* UIProgressView+AFNetworking.m */; }; + B1D5EC9820BC06CB00983FB6 /* UserActiveGraphCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A0588E1E0AA9D600C1CA3F /* UserActiveGraphCell.m */; }; + B1D5EC9920BC06CB00983FB6 /* NSURL+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB0C1FF1A807ED00042FC4F /* NSURL+Common.m */; }; + B1D5EC9A20BC06CB00983FB6 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2D31A1EE6AF005FD721 /* UIRefreshControl+AFNetworking.m */; }; + B1D5EC9B20BC06CB00983FB6 /* WikiHistoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C3B2015D8C800F52ABA /* WikiHistoryCell.m */; }; + B1D5EC9C20BC06CB00983FB6 /* ProjectCodeListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A21E1B5D02CA004284F1 /* ProjectCodeListView.m */; }; + B1D5EC9D20BC06CB00983FB6 /* LocalFilesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF374181BB1255E00DDA662 /* LocalFilesViewController.m */; }; + B1D5EC9E20BC06CB00983FB6 /* SettingTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438019FF7E2900F7EEB0 /* SettingTextCell.m */; }; + B1D5EC9F20BC06CB00983FB6 /* LDNetConnect.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E30682D1E0B781A00AEE0CE /* LDNetConnect.m */; }; + B1D5ECA020BC06CB00983FB6 /* MRDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 136A6DBE1CAF6BAC004AA983 /* MRDetailViewController.m */; }; + B1D5ECA120BC06CB00983FB6 /* UITableView+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AD21A3943E80021E29C /* UITableView+Common.m */; }; + B1D5ECA220BC06CB00983FB6 /* JDStatusBarNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BC31ABA754600C704F1 /* JDStatusBarNotification.m */; }; + B1D5ECA320BC06CB00983FB6 /* RFKeyboardToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6C411C1A846AC30098DC17 /* RFKeyboardToolbar.m */; }; + B1D5ECA420BC06CB00983FB6 /* CSSearchDisplayVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8771B6C7F0A0061CAA6 /* CSSearchDisplayVC.m */; }; + B1D5ECA520BC06CB00983FB6 /* CodeBranchOrTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E38CF611A7B7C99005536C0 /* CodeBranchOrTag.m */; }; + B1D5ECA620BC06CB00983FB6 /* EasePageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED20A771AFC7C8B00C63498 /* EasePageViewController.m */; }; + B1D5ECA720BC06CB00983FB6 /* ObjcRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D01219E240C40076D59C /* ObjcRuntime.m */; }; + B1D5ECA820BC06CB00983FB6 /* UIVerticalAlignmentLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E03ACA51A5D2060002B000B /* UIVerticalAlignmentLabel.m */; }; + B1D5ECA920BC06CB00983FB6 /* TaskSelectionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A0589D1E0AAA8800C1CA3F /* TaskSelectionCell.m */; }; + B1D5ECAA20BC06CB00983FB6 /* EANetTraceRoute.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E30682A1E0B781A00AEE0CE /* EANetTraceRoute.m */; }; + B1D5ECAB20BC06CB00983FB6 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2C11A1EE6AF005FD721 /* AFURLRequestSerialization.m */; }; + B1D5ECAC20BC06CB00983FB6 /* UIUnderlinedButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D00C19E240C40076D59C /* UIUnderlinedButton.m */; }; + B1D5ECAD20BC06CB00983FB6 /* TaskCommentCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5F39011AC951060010515D /* TaskCommentCCell.m */; }; + B1D5ECAE20BC06CB00983FB6 /* AutoSlideScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A5F1B6909F9008DC439 /* AutoSlideScrollView.m */; }; + B1D5ECAF20BC06CB00983FB6 /* LocalFoldersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF374151BB1254700DDA662 /* LocalFoldersViewController.m */; }; + B1D5ECB020BC06CB00983FB6 /* LDNetGetAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E3068311E0B781A00AEE0CE /* LDNetGetAddress.m */; }; + B1D5ECB120BC06CB00983FB6 /* UIViewController+DownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AB61A3943E80021E29C /* UIViewController+DownMenu.m */; }; + B1D5ECB220BC06CB00983FB6 /* PopMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4FD1B4D2B9300EB668A /* PopMenu.m */; }; + B1D5ECB320BC06CB00983FB6 /* LikersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF2719E240C40076D59C /* LikersViewController.m */; }; + B1D5ECB420BC06CB00983FB6 /* TitleValueMoreCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439019FF7E2900F7EEB0 /* TitleValueMoreCell.m */; }; + B1D5ECB520BC06CB00983FB6 /* CSSearchModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8791B6C7F0A0061CAA6 /* CSSearchModel.m */; }; + B1D5ECB620BC06CB00983FB6 /* WikiHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C402015D8F700F52ABA /* WikiHeaderView.m */; }; + B1D5ECB720BC06CB00983FB6 /* TaskCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438419FF7E2900F7EEB0 /* TaskCommentCell.m */; }; + B1D5ECB820BC06CB00983FB6 /* AGEmojiPageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E97CE461A0A2DF8006F9AD7 /* AGEmojiPageView.m */; }; + B1D5ECB920BC06CB00983FB6 /* ASProgressPopUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E9113A11A1C426000AC9431 /* ASProgressPopUpView.m */; }; + B1D5ECBA20BC06CB00983FB6 /* EditLabelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3878361AE293D50078D5DE /* EditLabelViewController.m */; }; + B1D5ECBB20BC06CB00983FB6 /* AddMDCommentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A661B1C686F00FD2E49 /* AddMDCommentViewController.m */; }; + B1D5ECBC20BC06CB00983FB6 /* Coding_FileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AEE1A3946C10021E29C /* Coding_FileManager.m */; }; + B1D5ECBD20BC06CB00983FB6 /* UIMessageInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD2531AD3CA7E005E515F /* UIMessageInputView.m */; }; + B1D5ECBE20BC06CB00983FB6 /* AudioManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FD61B6D0F3E00D2166C /* AudioManager.m */; }; + B1D5ECBF20BC06CB00983FB6 /* MRPRPreInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 136A6DBB1CAF52F2004AA983 /* MRPRPreInfo.m */; }; + B1D5ECC020BC06CB00983FB6 /* NSMutableString+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E72F82C1B144778001B6CE6 /* NSMutableString+Common.m */; }; + B1D5ECC120BC06CB00983FB6 /* UIViewController+BackButtonHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2527191C327FAE0032A7F4 /* UIViewController+BackButtonHandler.m */; }; + B1D5ECC220BC06CB00983FB6 /* CountryCodeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBD7FB31CE4833D00B3AF49 /* CountryCodeCell.m */; }; + B1D5ECC320BC06CB00983FB6 /* RATaskBoardListListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED67209420CD004A6E8A /* RATaskBoardListListViewController.m */; }; + B1D5ECC420BC06CB00983FB6 /* DynamicActivityCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 13C8FE7E1CA79B90001E30FA /* DynamicActivityCell.m */; }; + B1D5ECC520BC06CB00983FB6 /* MRPRDetailCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A781B1C6C7800FD2E49 /* MRPRDetailCell.m */; }; + B1D5ECC620BC06CB00983FB6 /* TopicContentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439619FF7E2900F7EEB0 /* TopicContentCell.m */; }; + B1D5ECC720BC06CB00983FB6 /* ForkTreeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0B9A361BAD377600D57D54 /* ForkTreeCell.m */; }; + B1D5ECC820BC06CB00983FB6 /* AMPopTip.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B63FD1FE900D400ACFDCC /* AMPopTip.m */; }; + B1D5ECC920BC06CB00983FB6 /* MRPRAcceptViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A691B1C688200FD2E49 /* MRPRAcceptViewController.m */; }; + B1D5ECCA20BC06CB00983FB6 /* UIView+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AD41A3943E80021E29C /* UIView+Common.m */; }; + B1D5ECCB20BC06CB00983FB6 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1441A6D192B00A046BD /* SDWebImageDownloaderOperation.m */; }; + B1D5ECCC20BC06CB00983FB6 /* QBAssetsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646D1FFB61AD00ACFDCC /* QBAssetsViewController.m */; }; + B1D5ECCD20BC06CB00983FB6 /* UserInfoIconCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BD41ABA776500C704F1 /* UserInfoIconCell.m */; }; + B1D5ECCE20BC06CB00983FB6 /* ShopOderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 923399771C00BFC700F29E04 /* ShopOderCell.m */; }; + B1D5ECCF20BC06CB00983FB6 /* SettingPasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3E0319E8DFE300EF3032 /* SettingPasswordViewController.m */; }; + B1D5ECD020BC06CB00983FB6 /* FileCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06B31B7B325600179F4B /* FileCommentCell.m */; }; + B1D5ECD120BC06CB00983FB6 /* ASPopUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E91139F1A1C426000AC9431 /* ASPopUpView.m */; }; + B1D5ECD220BC06CB00983FB6 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2C81A1EE6AF005FD721 /* UIActivityIndicatorView+AFNetworking.m */; }; + B1D5ECD320BC06CB00983FB6 /* ProjectCodeListSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAAD05E1E545516008AA957 /* ProjectCodeListSearchCell.m */; }; + B1D5ECD420BC06CB00983FB6 /* TweetSendCreateLocationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A782FDB1AB5B78B00E96661 /* TweetSendCreateLocationCell.m */; }; + B1D5ECD520BC06CB00983FB6 /* EaseStartView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E07D3101A4D1484009EDDF2 /* EaseStartView.m */; }; + B1D5ECD620BC06CB00983FB6 /* ProjectTopicListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2281B5D02CA004284F1 /* ProjectTopicListView.m */; }; + B1D5ECD720BC06CB00983FB6 /* Message_RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3819E240C40076D59C /* Message_RootViewController.m */; }; + B1D5ECD820BC06CB00983FB6 /* LDSimplePing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E3068391E0B781A00AEE0CE /* LDSimplePing.m */; }; + B1D5ECD920BC06CB00983FB6 /* HelpViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E44DCF91D81486600E7F9AF /* HelpViewController.m */; }; + B1D5ECDA20BC06CB00983FB6 /* CSSearchVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD87B1B6C7F0A0061CAA6 /* CSSearchVC.m */; }; + B1D5ECDB20BC06CB00983FB6 /* FunctionTipsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC461AC1B39084100D08970 /* FunctionTipsManager.m */; }; + B1D5ECDC20BC06CB00983FB6 /* TweetSendCreateLocationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A782FD61AB5B69200E96661 /* TweetSendCreateLocationViewController.m */; }; + B1D5ECDD20BC06CB00983FB6 /* Commits.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AB11B21A96100FD2E49 /* Commits.m */; }; + B1D5ECDE20BC06CB00983FB6 /* QcTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFEB19E240C40076D59C /* QcTask.m */; }; + B1D5ECDF20BC06CB00983FB6 /* FileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E35A99E1A3EC47E00CE35F1 /* FileViewController.m */; }; + B1D5ECE020BC06CB00983FB6 /* UIImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF818211B09D43D005F974B /* UIImage+WebP.m */; }; + B1D5ECE120BC06CB00983FB6 /* TweetSendLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A6E6BAC1AB08540004C0107 /* TweetSendLocation.m */; }; + B1D5ECE220BC06CB00983FB6 /* CodingNetAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AF21A3946C10021E29C /* CodingNetAPIClient.m */; }; + B1D5ECE320BC06CB00983FB6 /* ShopOrderTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF5A1BFF772A00AAE593 /* ShopOrderTextFieldCell.m */; }; + B1D5ECE420BC06CB00983FB6 /* ScreenCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A0589A1E0AAA7200C1CA3F /* ScreenCell.m */; }; + B1D5ECE520BC06CB00983FB6 /* ConversationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6436719FF7E2900F7EEB0 /* ConversationCell.m */; }; + B1D5ECE620BC06CB00983FB6 /* TeamListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4991D8295EA00EED8C6 /* TeamListViewController.m */; }; + B1D5ECE720BC06CB00983FB6 /* TweetSendImagesCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF643A219FF7E2900F7EEB0 /* TweetSendImagesCell.m */; }; + B1D5ECE820BC06CB00983FB6 /* WikiEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C432015D92500F52ABA /* WikiEditViewController.m */; }; + B1D5ECE920BC06CB00983FB6 /* MRPRListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF704B1B1876CB000280FF /* MRPRListCell.m */; }; + B1D5ECEA20BC06CB00983FB6 /* TopicPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A38784E1AE557700078D5DE /* TopicPreviewCell.m */; }; + B1D5ECEB20BC06CB00983FB6 /* NSString+Emojize.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ED0D87419FBA6EA00FBA818 /* NSString+Emojize.m */; }; + B1D5ECEC20BC06CB00983FB6 /* EaseGitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A228A1AB1844F00CFC14F /* EaseGitButton.m */; }; + B1D5ECED20BC06CB00983FB6 /* ProjectListTaCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BE41ABAB1D700C704F1 /* ProjectListTaCell.m */; }; + B1D5ECEE20BC06CB00983FB6 /* UIImageView+MJWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EE72BE319E3F2E8002C11D9 /* UIImageView+MJWebCache.m */; }; + B1D5ECEF20BC06CB00983FB6 /* Commit.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFD319E240C40076D59C /* Commit.m */; }; + B1D5ECF020BC06CB00983FB6 /* FileVersionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06C71B7C9EFF00179F4B /* FileVersionCell.m */; }; + B1D5ECF120BC06CB00983FB6 /* TeamListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4A21D82980F00EED8C6 /* TeamListCell.m */; }; + B1D5ECF220BC06CB00983FB6 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1551A6D192B00A046BD /* UIView+WebCacheOperation.m */; }; + B1D5ECF320BC06CB00983FB6 /* TweetSendTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF643A419FF7E2900F7EEB0 /* TweetSendTextCell.m */; }; + B1D5ECF420BC06CB00983FB6 /* XTSegmentControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D0CC19E240C40076D59C /* XTSegmentControl.m */; }; + B1D5ECF520BC06CB00983FB6 /* YLGIFImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6D71861A75F00E005AD988 /* YLGIFImage.m */; }; + B1D5ECF620BC06CB00983FB6 /* CountryCodeListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBD7FAE1CE4827A00B3AF49 /* CountryCodeListViewController.m */; }; + B1D5ECF720BC06CB00983FB6 /* AllSearchDisplayVC.m in Sources */ = {isa = PBXBuildFile; fileRef = D09AA5B61BFDA38D008CA9EB /* AllSearchDisplayVC.m */; }; + B1D5ECF820BC06CB00983FB6 /* TweetSendLocationDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A27A05C1AB5A13B00067833 /* TweetSendLocationDetailViewController.m */; }; + B1D5ECF920BC06CB00983FB6 /* EATerminalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1816062202063440022B4C6 /* EATerminalViewController.m */; }; + B1D5ECFA20BC06CB00983FB6 /* TweetSendMapAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AB591AF1AB6D6BE0076C454 /* TweetSendMapAnnotation.m */; }; + B1D5ECFB20BC06CB00983FB6 /* MRPR.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF70481B185BCC000280FF /* MRPR.m */; }; + B1D5ECFC20BC06CB00983FB6 /* EaseUserInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058911E0AA9FB00C1CA3F /* EaseUserInfoCell.m */; }; + B1D5ECFD20BC06CB00983FB6 /* CodingBannersView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A5B1B6907AA008DC439 /* CodingBannersView.m */; }; + B1D5ECFE20BC06CB00983FB6 /* OTPListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D651B45306900B70936 /* OTPListViewController.m */; }; + B1D5ECFF20BC06CB00983FB6 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1531A6D192B00A046BD /* UIImageView+WebCache.m */; }; + B1D5ED0020BC06CB00983FB6 /* InputOnlyTextPlainCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437219FF7E2900F7EEB0 /* InputOnlyTextPlainCell.m */; }; + B1D5ED0120BC06CB00983FB6 /* NSTimer+Addition.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A631B6909F9008DC439 /* NSTimer+Addition.m */; }; + B1D5ED0220BC06CB00983FB6 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2B71A1EE6AF005FD721 /* AFURLSessionManager.m */; }; + B1D5ED0320BC06CB00983FB6 /* MeRootServiceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87DDFF1D813B4500D1B5B1 /* MeRootServiceCell.m */; }; + B1D5ED0420BC06CB00983FB6 /* ActionSheetLocalePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DE319E7D58A00EF3032 /* ActionSheetLocalePicker.m */; }; + B1D5ED0520BC06CB00983FB6 /* UIViewController+Swizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AD61A3943E80021E29C /* UIViewController+Swizzle.m */; }; + B1D5ED0620BC06CB00983FB6 /* PublicSearchModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D09AA5B91BFDBA4B008CA9EB /* PublicSearchModel.m */; }; + B1D5ED0720BC06CB00983FB6 /* MJPhotoLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D06F19E240C40076D59C /* MJPhotoLoadingView.m */; }; + B1D5ED0820BC06CB00983FB6 /* FileEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E753D431B8AFDEC003A00B9 /* FileEditViewController.m */; }; + B1D5ED0920BC06CB00983FB6 /* TopicDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5019E240C40076D59C /* TopicDetailViewController.m */; }; + B1D5ED0A20BC06CB00983FB6 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1511A6D192B00A046BD /* UIImageView+HighlightedWebCache.m */; }; + B1D5ED0B20BC06CB00983FB6 /* Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = E7A0469F1A47279E00528C12 /* Helper.m */; }; + B1D5ED0C20BC06CB00983FB6 /* PointTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E00228B1B721955005308DE /* PointTopCell.m */; }; + B1D5ED0D20BC06CB00983FB6 /* TeamMemberCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4AB1D829E1200EED8C6 /* TeamMemberCell.m */; }; + B1D5ED0E20BC06CB00983FB6 /* ReviewerListController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13972E2B1CA616AC00489EBA /* ReviewerListController.m */; }; + B1D5ED0F20BC06CB00983FB6 /* UserInfoDetailTagCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BD21ABA776500C704F1 /* UserInfoDetailTagCell.m */; }; + B1D5ED1020BC06CB00983FB6 /* SWUtilityButtonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8765641A22E5B40090CFB9 /* SWUtilityButtonView.m */; }; + B1D5ED1120BC06CB00983FB6 /* VoiceMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FFB1B6E001300D2166C /* VoiceMedia.m */; }; + B1D5ED1220BC06CB00983FB6 /* TaskComment.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EABE3C719F10D2400A17784 /* TaskComment.m */; }; + B1D5ED1320BC06CB00983FB6 /* EACodeReleaseTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EE62064FC6100E9BAD1 /* EACodeReleaseTopCell.m */; }; + B1D5ED1420BC06CB00983FB6 /* EAPayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1BCB88D1FCE61D60098B87B /* EAPayViewController.m */; }; + B1D5ED1520BC06CB00983FB6 /* AGEmojiKeyBoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E97CE441A0A2DF8006F9AD7 /* AGEmojiKeyBoardView.m */; }; + B1D5ED1620BC06CB00983FB6 /* RKSwipeBetweenViewControllers.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E53EB511AFA03990034FE1C /* RKSwipeBetweenViewControllers.m */; }; + B1D5ED1720BC06CB00983FB6 /* EditTopicViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF1F19E240C40076D59C /* EditTopicViewController.m */; }; + B1D5ED1820BC06CB00983FB6 /* GlowImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4F71B4D2B9300EB668A /* GlowImageView.m */; }; + B1D5ED1920BC06CB00983FB6 /* ProjectToChooseListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E24B2671B43D33F004D7989 /* ProjectToChooseListViewController.m */; }; + B1D5ED1A20BC06CB00983FB6 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F13E1A6D192B00A046BD /* SDWebImageCompat.m */; }; + B1D5ED1B20BC06CB00983FB6 /* EACodeReleaseBodyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EE92064FC7300E9BAD1 /* EACodeReleaseBodyCell.m */; }; + B1D5ED1C20BC06CB00983FB6 /* Project_RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3C19E240C40076D59C /* Project_RootViewController.m */; }; + B1D5ED1D20BC06CB00983FB6 /* EaseGitButtonsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF703F1B180740000280FF /* EaseGitButtonsView.m */; }; + B1D5ED1E20BC06CB00983FB6 /* SettingTagsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF83F8919E92AA500E86DE7 /* SettingTagsViewController.m */; }; + B1D5ED1F20BC06CB00983FB6 /* EALocalCodeListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1944149206BB8BB00147158 /* EALocalCodeListCell.m */; }; + B1D5ED2020BC06CB00983FB6 /* ValueListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF643A819FF7E2900F7EEB0 /* ValueListCell.m */; }; + B1D5ED2120BC06CB00983FB6 /* TaskResourceReferenceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F3E1C7C464400B5EBEA /* TaskResourceReferenceViewController.m */; }; + B1D5ED2220BC06CB00983FB6 /* SVModalWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E217EF91A70EDC700F6DF88 /* SVModalWebViewController.m */; }; + B1D5ED2320BC06CB00983FB6 /* ShopSwitchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B19D4EF01F710EF900C598F3 /* ShopSwitchCell.m */; }; + B1D5ED2520BC06CB00983FB6 /* IntroductionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF17E5E1B3AB10F003CDD2D /* IntroductionViewController.m */; }; + B1D5ED2620BC06CB00983FB6 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1491A6D192B00A046BD /* SDWebImagePrefetcher.m */; }; + B1D5ED2720BC06CB00983FB6 /* FileChanges.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A931B1D851E00FD2E49 /* FileChanges.m */; }; + B1D5ED2820BC06CB00983FB6 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2D51A1EE6AF005FD721 /* UIWebView+AFNetworking.m */; }; + B1D5ED2920BC06CB00983FB6 /* EAWiki.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C342015D87800F52ABA /* EAWiki.m */; }; + B1D5ED2A20BC06CB00983FB6 /* WikiMenuListView.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C362015D89A00F52ABA /* WikiMenuListView.m */; }; + B1D5ED2B20BC06CB00983FB6 /* EACodeRelease.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EC3206397E000E9BAD1 /* EACodeRelease.m */; }; + B1D5ED2C20BC06CB00983FB6 /* ForkTreeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0B9A331BAC1CD100D57D54 /* ForkTreeViewController.m */; }; + B1D5ED2D20BC06CB00983FB6 /* CommitContentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A7E1B1C6D1E00FD2E49 /* CommitContentCell.m */; }; + B1D5ED2E20BC06CB00983FB6 /* ProjectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3119E240C40076D59C /* ProjectViewController.m */; }; + B1D5ED2F20BC06CB00983FB6 /* TagCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6435A19FF7E2900F7EEB0 /* TagCCell.m */; }; + B1D5ED3020BC06CB00983FB6 /* UserInfoDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BDB1ABA79AB00C704F1 /* UserInfoDetailViewController.m */; }; + B1D5ED3120BC06CB00983FB6 /* ProjectAdvancedSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A00D841ACA3A55008BA008 /* ProjectAdvancedSettingViewController.m */; }; + B1D5ED3220BC06CB00983FB6 /* SWLongPressGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87655E1A22E5B40090CFB9 /* SWLongPressGestureRecognizer.m */; }; + B1D5ED3320BC06CB00983FB6 /* QBAlbumsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646B1FFB61AD00ACFDCC /* QBAlbumsViewController.m */; }; + B1D5ED3420BC06CB00983FB6 /* TweetSendLocaitonMapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AB591AB1AB6D2F60076C454 /* TweetSendLocaitonMapViewController.m */; }; + B1D5ED3520BC06CB00983FB6 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F14B1A6D192B00A046BD /* UIButton+WebCache.m */; }; + B1D5ED3620BC06CB00983FB6 /* EABoardTaskListBlankView.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED6220935524004A6E8A /* EABoardTaskListBlankView.m */; }; + B1D5ED3720BC06CB00983FB6 /* SDWebImageManager+MJ.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EE72BE119E3F2E8002C11D9 /* SDWebImageManager+MJ.m */; }; + B1D5ED3820BC06CB00983FB6 /* TopicListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A38784B1AE36EF00078D5DE /* TopicListView.m */; }; + B1D5ED3920BC06CB00983FB6 /* AbstractActionSheetPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DDA19E7D58A00EF3032 /* AbstractActionSheetPicker.m */; }; + B1D5ED3A20BC06CB00983FB6 /* CodingTips.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFCF19E240C40076D59C /* CodingTips.m */; }; + B1D5ED3B20BC06CB00983FB6 /* MRPRCommentCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A5A1B1C5DDF00FD2E49 /* MRPRCommentCCell.m */; }; + B1D5ED3C20BC06CB00983FB6 /* AMPopTip+Animation.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B63FB1FE900D400ACFDCC /* AMPopTip+Animation.m */; }; + B1D5ED3D20BC06CB00983FB6 /* TaskCommentTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438619FF7E2900F7EEB0 /* TaskCommentTopCell.m */; }; + B1D5ED3E20BC06CB00983FB6 /* MRPRCommitsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A601B1C65C100FD2E49 /* MRPRCommitsViewController.m */; }; + B1D5ED3F20BC06CB00983FB6 /* EABasePageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EBE2063951000E9BAD1 /* EABasePageModel.m */; }; + B1D5ED4020BC06CB00983FB6 /* UITableViewCell+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C871531EADF4D4003DACF0 /* UITableViewCell+Common.m */; }; + B1D5ED4120BC06CB00983FB6 /* EACodeReleaseListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EC920639E9500E9BAD1 /* EACodeReleaseListCell.m */; }; + B1D5ED4220BC06CB00983FB6 /* CSLikesVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD85B1B6C7E3D0061CAA6 /* CSLikesVC.m */; }; + B1D5ED4320BC06CB00983FB6 /* UserOrProjectTweetsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5A19E240C40076D59C /* UserOrProjectTweetsViewController.m */; }; + B1D5ED4420BC06CB00983FB6 /* CommitDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A9F1B1D89D400FD2E49 /* CommitDetail.m */; }; + B1D5ED4520BC06CB00983FB6 /* DownMenuCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AB21A3943E80021E29C /* DownMenuCell.m */; }; + B1D5ED4620BC06CB00983FB6 /* RFToolbarButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6C411E1A846AC30098DC17 /* RFToolbarButton.m */; }; + B1D5ED4720BC06CB00983FB6 /* TopicListButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3878481AE36ED70078D5DE /* TopicListButton.m */; }; + B1D5ED4820BC06CB00983FB6 /* ImageSizeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AF41A3946C10021E29C /* ImageSizeManager.m */; }; + B1D5ED4920BC06CB00983FB6 /* File.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFD719E240C40076D59C /* File.m */; }; + B1D5ED4A20BC06CB00983FB6 /* ShopOrderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 923399741C00ABDE00F29E04 /* ShopOrderViewController.m */; }; + B1D5ED4B20BC06CB00983FB6 /* OTPTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D7C1B462ADB00B70936 /* OTPTableViewCell.m */; }; + B1D5ED4C20BC06CB00983FB6 /* UIMessageInputView_CCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EABD2591AD3CB4A005E515F /* UIMessageInputView_CCell.m */; }; + B1D5ED4D20BC06CB00983FB6 /* DemoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 134E1BA51CA41671002A3E0D /* DemoModel.m */; }; + B1D5ED4E20BC06CB00983FB6 /* TaskCommentBlankCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438219FF7E2900F7EEB0 /* TaskCommentBlankCell.m */; }; + B1D5ED4F20BC06CB00983FB6 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2C61A1EE6AF005FD721 /* AFNetworkActivityIndicatorManager.m */; }; + B1D5ED5020BC06CB00983FB6 /* Login.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFDD19E240C40076D59C /* Login.m */; }; + B1D5ED5120BC06CB00983FB6 /* TitleDisclosureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438A19FF7E2900F7EEB0 /* TitleDisclosureCell.m */; }; + B1D5ED5220BC06CB00983FB6 /* FileDownloadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2906A11A403B7D008A5B97 /* FileDownloadView.m */; }; + B1D5ED5320BC06CB00983FB6 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2BA1A1EE6AF005FD721 /* AFNetworkReachabilityManager.m */; }; + B1D5ED5420BC06CB00983FB6 /* LDNetTraceRoute.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E3068371E0B781A00AEE0CE /* LDNetTraceRoute.m */; }; + B1D5ED5520BC06CB00983FB6 /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D09E6AD01BF9D999009D37F8 /* SearchViewController.m */; }; + B1D5ED5620BC06CB00983FB6 /* QBImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646E1FFB61AD00ACFDCC /* QBImagePickerController.m */; }; + B1D5ED5720BC06CB00983FB6 /* EditColorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F241C76C16300B5EBEA /* EditColorViewController.m */; }; + B1D5ED5820BC06CB00983FB6 /* UIScrollView+SVPullToRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0E11A0098BA009A905F /* UIScrollView+SVPullToRefresh.m */; }; + B1D5ED5920BC06CB00983FB6 /* NSData+OTPBase32Encoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D451B45295D00B70936 /* NSData+OTPBase32Encoding.m */; }; + B1D5ED5A20BC06CB00983FB6 /* StartImagesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8AF7851A53D69F00CDC3AE /* StartImagesManager.m */; }; + B1D5ED5B20BC06CB00983FB6 /* ProjectMemberListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF2F19E240C40076D59C /* ProjectMemberListViewController.m */; }; + B1D5ED5C20BC06CB00983FB6 /* ProjectActivitiesView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A21A1B5D02CA004284F1 /* ProjectActivitiesView.m */; }; + B1D5ED5D20BC06CB00983FB6 /* MRReviewerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 13FB5D581CA194D600EE127C /* MRReviewerCell.m */; }; + B1D5ED5E20BC06CB00983FB6 /* TweetCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439A19FF7E2900F7EEB0 /* TweetCommentCell.m */; }; + B1D5ED5F20BC06CB00983FB6 /* BaseNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6C41181A834EA90098DC17 /* BaseNavigationController.m */; }; + B1D5ED6020BC06CB00983FB6 /* LocationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A03E6D21ABD0F690034BB8E /* LocationHelper.m */; }; + B1D5ED6120BC06CB00983FB6 /* CSHotTopicPagesVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B888E411B72618200806CEE /* CSHotTopicPagesVC.m */; }; + B1D5ED6220BC06CB00983FB6 /* TaskSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C448171C03187100DC1C4B /* TaskSearchCell.m */; }; + B1D5ED6320BC06CB00983FB6 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2B21A1EE6AF005FD721 /* AFURLConnectionOperation.m */; }; + B1D5ED6420BC06CB00983FB6 /* ProjectTopic.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFE719E240C40076D59C /* ProjectTopic.m */; }; + B1D5ED6520BC06CB00983FB6 /* EACodeBranchListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EB52063899400E9BAD1 /* EACodeBranchListViewController.m */; }; + B1D5ED6620BC06CB00983FB6 /* TeamProjectsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B49F1D82962100EED8C6 /* TeamProjectsViewController.m */; }; + B1D5ED6720BC06CB00983FB6 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF2C19E240C40076D59C /* RegisterViewController.m */; }; + B1D5ED6820BC06CB00983FB6 /* ShopBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 923399651C00441700F29E04 /* ShopBanner.m */; }; + B1D5ED6920BC06CB00983FB6 /* TitleRImageMoreCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438C19FF7E2900F7EEB0 /* TitleRImageMoreCell.m */; }; + B1D5ED6A20BC06CB00983FB6 /* EABoardTaskListView.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED5F2093018A004A6E8A /* EABoardTaskListView.m */; }; + B1D5ED6B20BC06CB00983FB6 /* FileShare.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E49693F1DCB0BCE0065028E /* FileShare.m */; }; + B1D5ED6C20BC06CB00983FB6 /* ShopMutileValueCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6181A1C3A72AE0017946C /* ShopMutileValueCell.m */; }; + B1D5ED6D20BC06CB00983FB6 /* SVWebViewControllerActivitySafari.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E217F081A70EDC700F6DF88 /* SVWebViewControllerActivitySafari.m */; }; + B1D5ED6E20BC06CB00983FB6 /* HOTPGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D431B45295D00B70936 /* HOTPGenerator.m */; }; + B1D5ED6F20BC06CB00983FB6 /* WikiViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1890C472015D92600F52ABA /* WikiViewController.m */; }; + B1D5ED7020BC06CB00983FB6 /* TweetDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5219E240C40076D59C /* TweetDetailViewController.m */; }; + B1D5ED7120BC06CB00983FB6 /* Team.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4961D82939700EED8C6 /* Team.m */; }; + B1D5ED7220BC06CB00983FB6 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF2A19E240C40076D59C /* LoginViewController.m */; }; + B1D5ED7320BC06CB00983FB6 /* NSData+gzip.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E30683C1E0B781A00AEE0CE /* NSData+gzip.m */; }; + B1D5ED7420BC06CB00983FB6 /* NSString+OTPURLArguments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D471B45295D00B70936 /* NSString+OTPURLArguments.m */; }; + B1D5ED7520BC06CB00983FB6 /* ProjectSquareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D066BB391BF30EB9005AB5D6 /* ProjectSquareViewController.m */; }; + B1D5ED7620BC06CB00983FB6 /* EACodeBranches.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EBB2063936100E9BAD1 /* EACodeBranches.m */; }; + B1D5ED7720BC06CB00983FB6 /* NSLayoutConstraintLine.m in Sources */ = {isa = PBXBuildFile; fileRef = B1BCB8911FCE662A0098B87B /* NSLayoutConstraintLine.m */; }; + B1D5ED7820BC06CB00983FB6 /* ProjectMemberActivityListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E6F1C941A03BD6000BF79C8 /* ProjectMemberActivityListViewController.m */; }; + B1D5ED7920BC06CB00983FB6 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF3419E240C40076D59C /* BaseViewController.m */; }; + B1D5ED7A20BC06CB00983FB6 /* TopicCommentCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5F39041ACA958C0010515D /* TopicCommentCCell.m */; }; + B1D5ED7B20BC06CB00983FB6 /* EaseToolBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E15C7D51A271A6300FB8DAD /* EaseToolBar.m */; }; + B1D5ED7C20BC06CB00983FB6 /* Project.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE548201AE8DB5600A92306 /* Project.m */; }; + B1D5ED7D20BC06CB00983FB6 /* ProjectActivityListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A21C1B5D02CA004284F1 /* ProjectActivityListView.m */; }; + B1D5ED7E20BC06CB00983FB6 /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2B01A1EE6AF005FD721 /* AFHTTPRequestOperationManager.m */; }; + B1D5ED7F20BC06CB00983FB6 /* BubblePlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FEE1B6D111300D2166C /* BubblePlayView.m */; }; + B1D5ED8020BC06CB00983FB6 /* FRDLivelyButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D031F5DA1BFAD6690008E964 /* FRDLivelyButton.m */; }; + B1D5ED8120BC06CB00983FB6 /* UIColor+expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AC81A3943E80021E29C /* UIColor+expanded.m */; }; + B1D5ED8220BC06CB00983FB6 /* MRListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6318A11BDA261100EFED97 /* MRListView.m */; }; + B1D5ED8320BC06CB00983FB6 /* UserActiveStatusView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058881E0AA9AE00C1CA3F /* UserActiveStatusView.m */; }; + B1D5ED8420BC06CB00983FB6 /* ScreenView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058971E0AAA5300C1CA3F /* ScreenView.m */; }; + B1D5ED8520BC06CB00983FB6 /* ProjectCount.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A32BF51BF1CA8F00336C52 /* ProjectCount.m */; }; + B1D5ED8620BC06CB00983FB6 /* ResourceReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F371C7C38F600B5EBEA /* ResourceReference.m */; }; + B1D5ED8720BC06CB00983FB6 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1421A6D192B00A046BD /* SDWebImageDownloader.m */; }; + B1D5ED8820BC06CB00983FB6 /* HtmlMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFD919E240C40076D59C /* HtmlMedia.m */; }; + B1D5ED8920BC06CB00983FB6 /* EditLabelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3878421AE296240078D5DE /* EditLabelCell.m */; }; + B1D5ED8A20BC06CB00983FB6 /* NSString+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AC01A3943E80021E29C /* NSString+Common.m */; }; + B1D5ED8B20BC06CB00983FB6 /* BasicPreviewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8B071A3947300021E29C /* BasicPreviewItem.m */; }; + B1D5ED8C20BC06CB00983FB6 /* MeDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2247FB1D82C98800551EA4 /* MeDisplayViewController.m */; }; + B1D5ED8D20BC06CB00983FB6 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F13C1A6D192B00A046BD /* SDImageCache.m */; }; + B1D5ED8E20BC06CB00983FB6 /* AddReviewerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 134E1B9F1CA414DB002A3E0D /* AddReviewerViewController.m */; }; + B1D5ED8F20BC06CB00983FB6 /* FunctionIntroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E00229F1B7360B1005308DE /* FunctionIntroManager.m */; }; + B1D5ED9020BC06CB00983FB6 /* NJKWebViewProgress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBB62491A6F526C0045DAEF /* NJKWebViewProgress.m */; }; + B1D5ED9120BC06CB00983FB6 /* MRPRTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A751B1C6C6100FD2E49 /* MRPRTopCell.m */; }; + B1D5ED9220BC06CB00983FB6 /* ProjectTaskListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2241B5D02CA004284F1 /* ProjectTaskListView.m */; }; + B1D5ED9320BC06CB00983FB6 /* ResetLabelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3878391AE2949E0078D5DE /* ResetLabelViewController.m */; }; + B1D5ED9420BC06CB00983FB6 /* FileComment.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06A31B7AE4EF00179F4B /* FileComment.m */; }; + B1D5ED9520BC06CB00983FB6 /* Tweet_RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF4019E240C40076D59C /* Tweet_RootViewController.m */; }; + B1D5ED9620BC06CB00983FB6 /* ProjectDeleteAlertControllerVisualStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = B93D904A1ACBA3110057A6EE /* ProjectDeleteAlertControllerVisualStyle.m */; }; + B1D5ED9720BC06CB00983FB6 /* ProjectItemsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A22841AB172C400CFC14F /* ProjectItemsCell.m */; }; + B1D5ED9820BC06CB00983FB6 /* WebContentManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AFC1A3946C10021E29C /* WebContentManager.m */; }; + B1D5ED9920BC06CB00983FB6 /* Login2FATipCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4F31B4D007600EB668A /* Login2FATipCell.m */; }; + B1D5ED9A20BC06CB00983FB6 /* FileChangeDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A721B1C694100FD2E49 /* FileChangeDetailViewController.m */; }; + B1D5ED9B20BC06CB00983FB6 /* MJPhotoBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D06D19E240C40076D59C /* MJPhotoBrowser.m */; }; + B1D5ED9C20BC06CB00983FB6 /* CSMyTopicVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD85D1B6C7E3D0061CAA6 /* CSMyTopicVC.m */; }; + B1D5ED9D20BC06CB00983FB6 /* LocationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED618141C3A6B4B0017946C /* LocationViewController.m */; }; + B1D5ED9E20BC06CB00983FB6 /* JDStatusBarLayoutMarginHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B641B1FF0F5E300ACFDCC /* JDStatusBarLayoutMarginHelper.m */; }; + B1D5ED9F20BC06CB00983FB6 /* iCarousel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ED4611F19E4DC470059B3BE /* iCarousel.m */; }; + B1D5EDA020BC06CB00983FB6 /* ProjectDescriptionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E1A22871AB1731600CFC14F /* ProjectDescriptionCell.m */; }; + B1D5EDA120BC06CB00983FB6 /* UIButton+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AC61A3943E80021E29C /* UIButton+Common.m */; }; + B1D5EDA220BC06CB00983FB6 /* UIDownMenuButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AB41A3943E80021E29C /* UIDownMenuButton.m */; }; + B1D5EDA320BC06CB00983FB6 /* TopicAnswerDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6CBE501D8E962300644086 /* TopicAnswerDetailViewController.m */; }; + B1D5EDA420BC06CB00983FB6 /* UsersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5819E240C40076D59C /* UsersViewController.m */; }; + B1D5EDA520BC06CB00983FB6 /* SkillCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64141FF0DE4800ACFDCC /* SkillCCell.m */; }; + B1D5EDA620BC06CB00983FB6 /* MenuButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4F91B4D2B9300EB668A /* MenuButton.m */; }; + B1D5EDA720BC06CB00983FB6 /* AMPopTip+Draw.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64031FE900D400ACFDCC /* AMPopTip+Draw.m */; }; + B1D5EDA820BC06CB00983FB6 /* ProjectArchiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED532091B7CB004A6E8A /* ProjectArchiveViewController.m */; }; + B1D5EDA920BC06CB00983FB6 /* TeamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B49C1D8295F600EED8C6 /* TeamViewController.m */; }; + B1D5EDAA20BC06CB00983FB6 /* LocalFileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF3741B1BB1258600DDA662 /* LocalFileViewController.m */; }; + B1D5EDAB20BC06CB00983FB6 /* ResetLabelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A38783F1AE295970078D5DE /* ResetLabelCell.m */; }; + B1D5EDAD20BC06CB00983FB6 /* EACodeBranchListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817ECC20639F0A00E9BAD1 /* EACodeBranchListCell.m */; }; + B1D5EDAE20BC06CB00983FB6 /* ValueListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF4A19E240C40076D59C /* ValueListViewController.m */; }; + B1D5EDAF20BC06CB00983FB6 /* ActivateViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F141C7599FC00B5EBEA /* ActivateViewController.m */; }; + B1D5EDB020BC06CB00983FB6 /* MRPRListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAAD0131E5306F3008AA957 /* MRPRListViewController.m */; }; + B1D5EDB120BC06CB00983FB6 /* NSObject+ObjectMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8ABE1A3943E80021E29C /* NSObject+ObjectMap.m */; }; + B1D5EDB220BC06CB00983FB6 /* SWCellScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87655C1A22E5B40090CFB9 /* SWCellScrollView.m */; }; + B1D5EDB320BC06CB00983FB6 /* ActionSheetCustomPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DDC19E7D58A00EF3032 /* ActionSheetCustomPicker.m */; }; + B1D5EDB420BC06CB00983FB6 /* PRMRSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D02BE0AE1C0434DB008374C0 /* PRMRSearchCell.m */; }; + B1D5EDB520BC06CB00983FB6 /* TweetSendViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5419E240C40076D59C /* TweetSendViewController.m */; }; + B1D5EDB620BC06CB00983FB6 /* PrivateMessages.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFE119E240C40076D59C /* PrivateMessages.m */; }; + B1D5EDB720BC06CB00983FB6 /* YLImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6D71881A75F00E005AD988 /* YLImageView.m */; }; + B1D5EDB820BC06CB00983FB6 /* CodingBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E095A581B690494008DC439 /* CodingBanner.m */; }; + B1D5EDB920BC06CB00983FB6 /* ShopOrderModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9233997A1C00C55600F29E04 /* ShopOrderModel.m */; }; + B1D5EDBA20BC06CB00983FB6 /* MartFunctionTipView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B63F81FE8FF0300ACFDCC /* MartFunctionTipView.m */; }; + B1D5EDBB20BC06CB00983FB6 /* CodingSkill.m in Sources */ = {isa = PBXBuildFile; fileRef = B19D4EED1F6FCEAC00C598F3 /* CodingSkill.m */; }; + B1D5EDBC20BC06CB00983FB6 /* DashesLineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 923399711C00A9EF00F29E04 /* DashesLineView.m */; }; + B1D5EDBD20BC06CB00983FB6 /* Tweets.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFF319E240C40076D59C /* Tweets.m */; }; + B1D5EDBE20BC06CB00983FB6 /* OTPAuthURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D4D1B45295D00B70936 /* OTPAuthURL.m */; }; + B1D5EDBF20BC06CB00983FB6 /* MJPhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D06A19E240C40076D59C /* MJPhoto.m */; }; + B1D5EDC020BC06CB00983FB6 /* TweetCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439819FF7E2900F7EEB0 /* TweetCell.m */; }; + B1D5EDC120BC06CB00983FB6 /* UIBarButtonItem+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AC21A3943E80021E29C /* UIBarButtonItem+Common.m */; }; + B1D5EDC220BC06CB00983FB6 /* RRFPSBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5D12FD1C0C5EE600985AEB /* RRFPSBar.m */; }; + B1D5EDC320BC06CB00983FB6 /* EaseUserHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BCF1ABA774800C704F1 /* EaseUserHeaderView.m */; }; + B1D5EDC420BC06CB00983FB6 /* PointRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022911B721973005308DE /* PointRecordCell.m */; }; + B1D5EDC520BC06CB00983FB6 /* UIView+PressMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5A66941B268D160007A0AD /* UIView+PressMenu.m */; }; + B1D5EDC620BC06CB00983FB6 /* Tasks.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFF119E240C40076D59C /* Tasks.m */; }; + B1D5EDC720BC06CB00983FB6 /* MBProgressHUD+Add.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EE72BE719E3F4A8002C11D9 /* MBProgressHUD+Add.m */; }; + B1D5EDC820BC06CB00983FB6 /* CodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F10C1A02188D009A905F /* CodeViewController.m */; }; + B1D5EDC920BC06CB00983FB6 /* ProjectTweetSendViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E59D32E1D3E1920008C914B /* ProjectTweetSendViewController.m */; }; + B1D5EDCA20BC06CB00983FB6 /* CommitListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A7B1B1C6CDE00FD2E49 /* CommitListCell.m */; }; + B1D5EDCB20BC06CB00983FB6 /* EARestrictedScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022951B73506A005308DE /* EARestrictedScrollView.m */; }; + B1D5EDCC20BC06CB00983FB6 /* RDVTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D09619E240C40076D59C /* RDVTabBarController.m */; }; + B1D5EDCD20BC06CB00983FB6 /* ProjectLineNote.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E787DE11B0329B300F06E83 /* ProjectLineNote.m */; }; + B1D5EDCE20BC06CB00983FB6 /* ProjectAboutMeListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D066BB3C1BF38844005AB5D6 /* ProjectAboutMeListCell.m */; }; + B1D5EDCF20BC06CB00983FB6 /* EAFliterMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAAD0161E53EFF2008AA957 /* EAFliterMenu.m */; }; + B1D5EDD020BC06CB00983FB6 /* HotTopicBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BDF9AA51B7456060093BF2C /* HotTopicBannerView.m */; }; + B1D5EDD120BC06CB00983FB6 /* EditTaskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF2319E240C40076D59C /* EditTaskViewController.m */; }; + B1D5EDD220BC06CB00983FB6 /* TagColorDisplayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F2A1C76ED7000B5EBEA /* TagColorDisplayCell.m */; }; + B1D5EDD320BC06CB00983FB6 /* ProjectTopics.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFE919E240C40076D59C /* ProjectTopics.m */; }; + B1D5EDD420BC06CB00983FB6 /* ReviewersInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 1309B9FE1CA2E95F0034C7A3 /* ReviewersInfo.m */; }; + B1D5EDD520BC06CB00983FB6 /* ProjectTasksView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A2261B5D02CA004284F1 /* ProjectTasksView.m */; }; + B1D5EDD620BC06CB00983FB6 /* UICustomCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D00419E240C40076D59C /* UICustomCollectionView.m */; }; + B1D5EDD720BC06CB00983FB6 /* NSObject+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8ABC1A3943E80021E29C /* NSObject+Common.m */; }; + B1D5EDD820BC06CB00983FB6 /* SMPageControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E97CEBE1A0CB7E3006F9AD7 /* SMPageControl.m */; }; + B1D5EDD920BC06CB00983FB6 /* Coding_iOS.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF1919E240C40076D59C /* Coding_iOS.xcdatamodeld */; }; + B1D5EDDA20BC06CB00983FB6 /* ConversationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CF2119E240C40076D59C /* ConversationViewController.m */; }; + B1D5EDDB20BC06CB00983FB6 /* EaseInputTipsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EDC33CD1AFB4DCC00698315 /* EaseInputTipsView.m */; }; + B1D5EDDC20BC06CB00983FB6 /* NSDate+convenience.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8ABA1A3943E80021E29C /* NSDate+convenience.m */; }; + B1D5EDDD20BC06CB00983FB6 /* CSTopicModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8691B6C7E3D0061CAA6 /* CSTopicModel.m */; }; + B1D5EDDE20BC06CB00983FB6 /* FileLineChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AA21B1DB63A00FD2E49 /* FileLineChange.m */; }; + B1D5EDDF20BC06CB00983FB6 /* PasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E5C06ED1AC4405300F427C5 /* PasswordViewController.m */; }; + B1D5EDE020BC06CB00983FB6 /* BaseCollectionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF431BFF61FF00AAE593 /* BaseCollectionCell.m */; }; + B1D5EDE120BC06CB00983FB6 /* SVWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E217EFC1A70EDC700F6DF88 /* SVWebViewController.m */; }; + B1D5EDE220BC06CB00983FB6 /* EACodeReleaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EE32064F92C00E9BAD1 /* EACodeReleaseViewController.m */; }; + B1D5EDE320BC06CB00983FB6 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2BE1A1EE6AF005FD721 /* AFSecurityPolicy.m */; }; + B1D5EDE420BC06CB00983FB6 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F14F1A6D192B00A046BD /* UIImage+MultiFormat.m */; }; + B1D5EDE520BC06CB00983FB6 /* TweetMediaItemSingleCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6436019FF7E2900F7EEB0 /* TweetMediaItemSingleCCell.m */; }; + B1D5EDE620BC06CB00983FB6 /* TweetLikeUserCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6435C19FF7E2900F7EEB0 /* TweetLikeUserCCell.m */; }; + B1D5EDE720BC06CB00983FB6 /* RewardTipManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E80E9341E011D6000DE1BC6 /* RewardTipManager.m */; }; + B1D5EDE920BC06CB00983FB6 /* CommitFilesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A6F1B1C68F100FD2E49 /* CommitFilesViewController.m */; }; + B1D5EDEA20BC06CB00983FB6 /* FileChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A901B1D84B400FD2E49 /* FileChange.m */; }; + B1D5EDEB20BC06CB00983FB6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC619E240C40076D59C /* main.m */; }; + B1D5EDEC20BC06CB00983FB6 /* NewProjectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B94C1B681AC945D30000C271 /* NewProjectViewController.m */; }; + B1D5EDED20BC06CB00983FB6 /* TeamTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4B4A51D82990600EED8C6 /* TeamTopCell.m */; }; + B1D5EDEE20BC06CB00983FB6 /* UserInfoTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BD61ABA776500C704F1 /* UserInfoTextCell.m */; }; + B1D5EDEF20BC06CB00983FB6 /* MRPRDisclosureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6AA51B1DBA3A00FD2E49 /* MRPRDisclosureCell.m */; }; + B1D5EDF020BC06CB00983FB6 /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DFB19E8DFE300EF3032 /* AboutViewController.m */; }; + B1D5EDF120BC06CB00983FB6 /* QBAssetCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64721FFB61AD00ACFDCC /* QBAssetCell.m */; }; + B1D5EDF220BC06CB00983FB6 /* EACodeReleaseListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EB8206389F500E9BAD1 /* EACodeReleaseListViewController.m */; }; + B1D5EDF320BC06CB00983FB6 /* MeRootUserCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87DDFC1D813B1E00D1B5B1 /* MeRootUserCell.m */; }; + B1D5EDF420BC06CB00983FB6 /* ShopGoods.m in Sources */ = {isa = PBXBuildFile; fileRef = 9233996B1C00524A00F29E04 /* ShopGoods.m */; }; + B1D5EDF520BC06CB00983FB6 /* AMPopTip+Entrance.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64021FE900D400ACFDCC /* AMPopTip+Entrance.m */; }; + B1D5EDF620BC06CB00983FB6 /* PointRecords.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0022851B720966005308DE /* PointRecords.m */; }; + B1D5EDF720BC06CB00983FB6 /* QBCheckmarkView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B646F1FFB61AD00ACFDCC /* QBCheckmarkView.m */; }; + B1D5EDF820BC06CB00983FB6 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2AE1A1EE6AF005FD721 /* AFHTTPRequestOperation.m */; }; + B1D5EDF920BC06CB00983FB6 /* ProjectLineNoteActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EF8181E1B05C9D8005F974B /* ProjectLineNoteActivity.m */; }; + B1D5EDFA20BC06CB00983FB6 /* MessageMediaItemCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6435619FF7E2900F7EEB0 /* MessageMediaItemCCell.m */; }; + B1D5EDFB20BC06CB00983FB6 /* MRPRS.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECF70451B18557E000280FF /* MRPRS.m */; }; + B1D5EDFC20BC06CB00983FB6 /* EAEditCodeReleaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817F052069F67700E9BAD1 /* EAEditCodeReleaseViewController.m */; }; + B1D5EDFD20BC06CB00983FB6 /* UIImage+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8ACC1A3943E80021E29C /* UIImage+Common.m */; }; + B1D5EDFE20BC06CB00983FB6 /* ProjectTopicCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF643D519FF7E9F00F7EEB0 /* ProjectTopicCell.m */; }; + B1D5EDFF20BC06CB00983FB6 /* TextCheckMarkCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A8A1B1C6E3000FD2E49 /* TextCheckMarkCell.m */; }; + B1D5EE0020BC06CB00983FB6 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2B51A1EE6AF005FD721 /* AFHTTPSessionManager.m */; }; + B1D5EE0120BC06CB00983FB6 /* XHRealTimeBlur.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C5111B4E0C0300EB668A /* XHRealTimeBlur.m */; }; + B1D5EE0220BC06CB00983FB6 /* ProjectFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA679091A1461C3001A0324 /* ProjectFile.m */; }; + B1D5EE0320BC06CB00983FB6 /* CSTopiclistView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8671B6C7E3D0061CAA6 /* CSTopiclistView.m */; }; + B1D5EE0420BC06CB00983FB6 /* UILabel+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AD01A3943E80021E29C /* UILabel+Common.m */; }; + B1D5EE0520BC06CB00983FB6 /* QBSlomoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64711FFB61AD00ACFDCC /* QBSlomoIconView.m */; }; + B1D5EE0620BC06CB00983FB6 /* SDWebImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA7F1401A6D192B00A046BD /* SDWebImageDecoder.m */; }; + B1D5EE0720BC06CB00983FB6 /* TweetSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D09AA5BC1BFDE5F5008CA9EB /* TweetSearchCell.m */; }; + B1D5EE0820BC06CB00983FB6 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BA2C31A1EE6AF005FD721 /* AFURLResponseSerialization.m */; }; + B1D5EE0920BC06CB00983FB6 /* CodeFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F1021A0120F1009A905F /* CodeFile.m */; }; + B1D5EE0A20BC06CB00983FB6 /* EAMilestone.m in Sources */ = {isa = PBXBuildFile; fileRef = B1ACFE0C20A975E2000BC41E /* EAMilestone.m */; }; + B1D5EE0B20BC06CB00983FB6 /* CSSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8751B6C7F0A0061CAA6 /* CSSearchCell.m */; }; + B1D5EE0C20BC06CB00983FB6 /* JDStatusBarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BC71ABA754600C704F1 /* JDStatusBarView.m */; }; + B1D5EE0D20BC06CB00983FB6 /* MRPRAcceptEditCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A871B1C6E1B00FD2E49 /* MRPRAcceptEditCell.m */; }; + B1D5EE0E20BC06CB00983FB6 /* EACodeReleaseAttachmentsOrReferencesCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1817EEC2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.m */; }; + B1D5EE0F20BC06CB00983FB6 /* MenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E94C4FB1B4D2B9300EB668A /* MenuItem.m */; }; + B1D5EE1020BC06CB00983FB6 /* TweetMediaItemCCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6435E19FF7E2900F7EEB0 /* TweetMediaItemCCell.m */; }; + B1D5EE1120BC06CB00983FB6 /* EditLabelHeadCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3878441AE296240078D5DE /* EditLabelHeadCell.m */; }; + B1D5EE1220BC06CB00983FB6 /* TaskContentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6438819FF7E2900F7EEB0 /* TaskContentCell.m */; }; + B1D5EE1320BC06CB00983FB6 /* TaskDescriptionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E59E1D21A5E6B34004DAEEC /* TaskDescriptionViewController.m */; }; + B1D5EE1420BC06CB00983FB6 /* AddressManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AEC1A3946C10021E29C /* AddressManager.m */; }; + B1D5EE1520BC06CB00983FB6 /* ProjectSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A00D811ACA3A17008BA008 /* ProjectSettingViewController.m */; }; + B1D5EE1620BC06CB00983FB6 /* ActionSheetDistancePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E1C3DE119E7D58A00EF3032 /* ActionSheetDistancePicker.m */; }; + B1D5EE1720BC06CB00983FB6 /* ProjectCodeListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0F31A00F3B9009A905F /* ProjectCodeListCell.m */; }; + B1D5EE1820BC06CB00983FB6 /* UserServiceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87DE021D813BBE00D1B5B1 /* UserServiceInfo.m */; }; + B1D5EE1920BC06CB00983FB6 /* TweetSendLocationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A6E6BA91AAF4B24004C0107 /* TweetSendLocationViewController.m */; }; + B1D5EE1A20BC06CB00983FB6 /* ProjectFolderListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E59F0F61A00F3E2009A905F /* ProjectFolderListCell.m */; }; + B1D5EE1B20BC06CB00983FB6 /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFF719E240C40076D59C /* User.m */; }; + B1D5EE1C20BC06CB00983FB6 /* MJPhotoToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D07319E240C40076D59C /* MJPhotoToolbar.m */; }; + B1D5EE1D20BC06CB00983FB6 /* TweetDetailCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF643A019FF7E2900F7EEB0 /* TweetDetailCommentCell.m */; }; + B1D5EE1E20BC06CB00983FB6 /* SettingSkillsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64111FF0D54800ACFDCC /* SettingSkillsViewController.m */; }; + B1D5EE1F20BC06CB00983FB6 /* MRPRBaseInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A8D1B1D5B9A00FD2E49 /* MRPRBaseInfo.m */; }; + B1D5EE2020BC06CB00983FB6 /* AudioRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB02FF01B6D111300D2166C /* AudioRecordView.m */; }; + B1D5EE2120BC06CB00983FB6 /* TagColorEditCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB52F271C76ED4A00B5EBEA /* TagColorEditCell.m */; }; + B1D5EE2220BC06CB00983FB6 /* QBVideoIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64621FFB61AD00ACFDCC /* QBVideoIndicatorView.m */; }; + B1D5EE2320BC06CB00983FB6 /* FileInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E93F2421B85C4C300017916 /* FileInfoViewController.m */; }; + B1D5EE2420BC06CB00983FB6 /* CommitInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A991B1D893500FD2E49 /* CommitInfo.m */; }; + B1D5EE2520BC06CB00983FB6 /* CodeBranchTagButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E38CF5E1A7A28AF005536C0 /* CodeBranchTagButton.m */; }; + B1D5EE2620BC06CB00983FB6 /* ShopGoodsInfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9233996E1C00970900F29E04 /* ShopGoodsInfoView.m */; }; + B1D5EE2720BC06CB00983FB6 /* UIBadgeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D00219E240C40076D59C /* UIBadgeView.m */; }; + B1D5EE2820BC06CB00983FB6 /* BaseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 927AFF401BFF613500AAE593 /* BaseModel.m */; }; + B1D5EE2920BC06CB00983FB6 /* TaskSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058941E0AAA2F00C1CA3F /* TaskSelectionView.m */; }; + B1D5EE2A20BC06CB00983FB6 /* ProjectListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437C19FF7E2900F7EEB0 /* ProjectListCell.m */; }; + B1D5EE2B20BC06CB00983FB6 /* EABoardTaskList.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED592092BF46004A6E8A /* EABoardTaskList.m */; }; + B1D5EE2C20BC06CB00983FB6 /* CSTopicDetailVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8631B6C7E3D0061CAA6 /* CSTopicDetailVC.m */; }; + B1D5EE2D20BC06CB00983FB6 /* ToMessageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6439219FF7E2900F7EEB0 /* ToMessageCell.m */; }; + B1D5EE2E20BC06CB00983FB6 /* SVWebViewControllerActivityChrome.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E217F021A70EDC700F6DF88 /* SVWebViewControllerActivityChrome.m */; }; + B1D5EE2F20BC06CB00983FB6 /* PhoneCodeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC4800B1C2936DA005F1772 /* PhoneCodeButton.m */; }; + B1D5EE3020BC06CB00983FB6 /* TopicAnswerCommentMoreCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6CBE4D1D8E7E8000644086 /* TopicAnswerCommentMoreCell.m */; }; + B1D5EE3120BC06CB00983FB6 /* LDNetPing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E3068331E0B781A00AEE0CE /* LDNetPing.m */; }; + B1D5EE3220BC06CB00983FB6 /* DynamicCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 13C8FE6D1CA75816001E30FA /* DynamicCommentCell.m */; }; + B1D5EE3320BC06CB00983FB6 /* CSScrollview.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD85F1B6C7E3D0061CAA6 /* CSScrollview.m */; }; + B1D5EE3420BC06CB00983FB6 /* NSString+Attribute.m in Sources */ = {isa = PBXBuildFile; fileRef = D09AA5BF1BFDEDD1008CA9EB /* NSString+Attribute.m */; }; + B1D5EE3520BC06CB00983FB6 /* ProjectTopicsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE1A22A1B5D02CA004284F1 /* ProjectTopicsView.m */; }; + B1D5EE3620BC06CB00983FB6 /* ProjectFolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA6790C1A1461DC001A0324 /* ProjectFolder.m */; }; + B1D5EE3720BC06CB00983FB6 /* ProjectActivityListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6437A19FF7E2900F7EEB0 /* ProjectActivityListCell.m */; }; + B1D5EE3820BC06CB00983FB6 /* JDStatusBarStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BC51ABA754600C704F1 /* JDStatusBarStyle.m */; }; + B1D5EE3920BC06CB00983FB6 /* LDNetDiagnoService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E30682F1E0B781A00AEE0CE /* LDNetDiagnoService.m */; }; + B1D5EE3A20BC06CB00983FB6 /* EditCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E2F6A561C437D1D00A25502 /* EditCodeViewController.m */; }; + B1D5EE3B20BC06CB00983FB6 /* SettingTextViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF83F9319EB78CC00E86DE7 /* SettingTextViewController.m */; }; + B1D5EE3C20BC06CB00983FB6 /* EATaskBoardListTaskCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B152ED5C2092D51E004A6E8A /* EATaskBoardListTaskCell.m */; }; + B1D5EE3D20BC06CB00983FB6 /* LocationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED618171C3A6CA50017946C /* LocationCell.m */; }; + B1D5EE3E20BC06CB00983FB6 /* QBVideoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = B12B64611FFB61AD00ACFDCC /* QBVideoIconView.m */; }; + B1D5EE3F20BC06CB00983FB6 /* Comment.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFD119E240C40076D59C /* Comment.m */; }; + B1D5EE4020BC06CB00983FB6 /* TweetSendLocationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A6E6BA61AAF4162004C0107 /* TweetSendLocationCell.m */; }; + B1D5EE4120BC06CB00983FB6 /* HtmlMediaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E9E3B741DCC2DB10005FD79 /* HtmlMediaViewController.m */; }; + B1D5EE4220BC06CB00983FB6 /* CSTopicCreateVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E0BD8611B6C7E3D0061CAA6 /* CSTopicCreateVC.m */; }; + B1D5EE4320BC06CB00983FB6 /* NSMutableArray+SWUtilityButtons.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87655A1A22E5B40090CFB9 /* NSMutableArray+SWUtilityButtons.m */; }; + B1D5EE4420BC06CB00983FB6 /* MActivityInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 13972E2E1CA6D5C600489EBA /* MActivityInfo.m */; }; + B1D5EE4520BC06CB00983FB6 /* UILongPressMenuImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ECA8BB319FB42CC00C598C6 /* UILongPressMenuImageView.m */; }; + B1D5EE4620BC06CB00983FB6 /* FileChangesIntroduceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D6A811B1C6D5F00FD2E49 /* FileChangesIntroduceCell.m */; }; + B1D5EE4720BC06CB00983FB6 /* Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFED19E240C40076D59C /* Register.m */; }; + B1D5EE4820BC06CB00983FB6 /* ShopOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = 926C043A1C019CD3004937D8 /* ShopOrder.m */; }; + B1D5EE4920BC06CB00983FB6 /* TopicAnswerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6CBE4A1D8E71DC00644086 /* TopicAnswerCell.m */; }; + B1D5EE4A20BC06CB00983FB6 /* NSTimer+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E969CCF1AF0EB87005C0CCE /* NSTimer+Common.m */; }; + B1D5EE4B20BC06CB00983FB6 /* CodingTipCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6436519FF7E2900F7EEB0 /* CodingTipCell.m */; }; + B1D5EE4C20BC06CB00983FB6 /* AboutPointViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B19D4EE81F6FAA6000C598F3 /* AboutPointViewController.m */; }; + B1D5EE4D20BC06CB00983FB6 /* ProjectTagsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E6FB0571B58DB0A00B0A17B /* ProjectTagsView.m */; }; + B1D5EE4E20BC06CB00983FB6 /* Projects.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6CFE519E240C40076D59C /* Projects.m */; }; + B1D5EE4F20BC06CB00983FB6 /* UserInfoDetailUserCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BDE1ABA7CE100C704F1 /* UserInfoDetailUserCell.m */; }; + B1D5EE5020BC06CB00983FB6 /* ProjectActivities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EACB4451A2C60110097ABB3 /* ProjectActivities.m */; }; + B1D5EE5120BC06CB00983FB6 /* LocalFileCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E715A341BB1279D00A5D24B /* LocalFileCell.m */; }; + B1D5EE5220BC06CB00983FB6 /* MRReviewerListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 1309B9F91CA2D3960034C7A3 /* MRReviewerListCell.m */; }; + B1D5EE5320BC06CB00983FB6 /* UITapImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EA6D00819E240C40076D59C /* UITapImageView.m */; }; + B1D5EE5420BC06CB00983FB6 /* NSURL+OTPURLArguments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8D5D491B45295D00B70936 /* NSURL+OTPURLArguments.m */; }; + B1D5EE5520BC06CB00983FB6 /* FileActivitiesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EAE06AA1B7B23EA00179F4B /* FileActivitiesViewController.m */; }; + B1D5EE5620BC06CB00983FB6 /* LocalFolderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E715A311BB1278200A5D24B /* LocalFolderCell.m */; }; + B1D5EE5720BC06CB00983FB6 /* SVWebViewControllerActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E217F0B1A70EDC700F6DF88 /* SVWebViewControllerActivity.m */; }; + B1D5EE5820BC06CB00983FB6 /* TagsScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A058A01E0AAACA00C1CA3F /* TagsScrollView.m */; }; + B1D5EE5920BC06CB00983FB6 /* TaskDescriptionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E996BE71ABBCD2D00C704F1 /* TaskDescriptionCell.m */; }; + B1D5EE5B20BC06CB00983FB6 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B19D4EFD1F724CDC00C598F3 /* CoreMotion.framework */; }; + B1D5EE5C20BC06CB00983FB6 /* libresolv.9.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EFF5A761E0AE54800683D03 /* libresolv.9.tbd */; }; + B1D5EE5D20BC06CB00983FB6 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDBECEA1B709EB3003E87C3 /* AVFoundation.framework */; }; + B1D5EE5E20BC06CB00983FB6 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A6E6BBC1AB180AE004C0107 /* MapKit.framework */; }; + B1D5EE5F20BC06CB00983FB6 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A6E6BBE1AB180CB004C0107 /* CoreLocation.framework */; }; + B1D5EE6020BC06CB00983FB6 /* libsqlite3.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F5B1A36F52700E9E232 /* libsqlite3.0.dylib */; }; + B1D5EE6120BC06CB00983FB6 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F591A36F4FA00E9E232 /* Security.framework */; }; + B1D5EE6220BC06CB00983FB6 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F571A36F4CA00E9E232 /* CoreTelephony.framework */; }; + B1D5EE6320BC06CB00983FB6 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F551A36F4BD00E9E232 /* SystemConfiguration.framework */; }; + B1D5EE6420BC06CB00983FB6 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B19D4EFA1F7247BA00C598F3 /* AlipaySDK.framework */; }; + B1D5EE6520BC06CB00983FB6 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F531A36F4AC00E9E232 /* CFNetwork.framework */; }; + B1D5EE6620BC06CB00983FB6 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E96E7C71A1B46740037C098 /* QuickLook.framework */; }; + B1D5EE6720BC06CB00983FB6 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E03D4A319F696970092F8C8 /* libz.dylib */; }; + B1D5EE6820BC06CB00983FB6 /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EF5E74419C68CC7009346D5 /* libicucore.dylib */; }; + B1D5EE6920BC06CB00983FB6 /* libXG-SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F4D1A36F42200E9E232 /* libXG-SDK.a */; }; + B1D5EE6A20BC06CB00983FB6 /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EB02FE21B6D0F3E00D2166C /* libopencore-amrnb.a */; }; + B1D5EE6B20BC06CB00983FB6 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E61D27A19C028CC00C00414 /* AssetsLibrary.framework */; }; + B1D5EE6C20BC06CB00983FB6 /* libxml2.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EBAA73E19B9695600829E2A /* libxml2.2.dylib */; }; + B1D5EE6D20BC06CB00983FB6 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E9866C1198E416C00ABFFA0 /* CoreText.framework */; }; + B1D5EE6E20BC06CB00983FB6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477015198770E700997D05 /* CoreGraphics.framework */; }; + B1D5EE6F20BC06CB00983FB6 /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EB02FE31B6D0F3E00D2166C /* libopencore-amrwb.a */; }; + B1D5EE7020BC06CB00983FB6 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477019198770E700997D05 /* CoreData.framework */; }; + B1D5EE7120BC06CB00983FB6 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477017198770E700997D05 /* UIKit.framework */; }; + B1D5EE7220BC06CB00983FB6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E477013198770E700997D05 /* Foundation.framework */; }; + B1D5EE7320BC06CB00983FB6 /* WebP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EF818231B09D8D8005F974B /* WebP.framework */; }; + B1D5EE7420BC06CB00983FB6 /* libPods-Coding_iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 645969FE6A8616A74543C249 /* libPods-Coding_iOS.a */; }; + B1D5EE7620BC06CB00983FB6 /* hot_topic_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E09DCA31C156387001C9392 /* hot_topic_Nav@2x.png */; }; + B1D5EE7720BC06CB00983FB6 /* keyboard_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE6B1A0B243B006F9AD7 /* keyboard_add@2x.png */; }; + B1D5EE7820BC06CB00983FB6 /* register_step_un@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC4800F1C2A909D005F1772 /* register_step_un@2x.png */; }; + B1D5EE7920BC06CB00983FB6 /* task_activity_icon_restore@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383F61B33C18700D98648 /* task_activity_icon_restore@2x.png */; }; + B1D5EE7A20BC06CB00983FB6 /* tipIcon_tweetReward@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9F5D1F1C03051D007CCDCC /* tipIcon_tweetReward@2x.png */; }; + B1D5EE7B20BC06CB00983FB6 /* icon_file_folder_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EA679181A14BFA0001A0324 /* icon_file_folder_normal@2x.png */; }; + B1D5EE7C20BC06CB00983FB6 /* taskboard_add_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8A209453F2004A6E8A /* taskboard_add_page_selected@2x.png */; }; + B1D5EE7D20BC06CB00983FB6 /* time_clock_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8716F1EB1832B003DACF0 /* time_clock_icon@3x.png */; }; + B1D5EE7E20BC06CB00983FB6 /* task_activity_icon_add_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871931EB2D9E6003DACF0 /* task_activity_icon_add_watcher@3x.png */; }; + B1D5EE7F20BC06CB00983FB6 /* tipIcon_ProjectTopic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB419E240C40076D59C /* tipIcon_ProjectTopic@2x.png */; }; + B1D5EE8020BC06CB00983FB6 /* SVWebViewControllerActivityReport@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED673251A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png */; }; + B1D5EE8120BC06CB00983FB6 /* wiki_menu_icon_share@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C272015D82600F52ABA /* wiki_menu_icon_share@2x.png */; }; + B1D5EE8220BC06CB00983FB6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5B19E240C40076D59C /* InfoPlist.strings */; }; + B1D5EE8320BC06CB00983FB6 /* mrpr_icon_accepted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383BE1B3265DC00D98648 /* mrpr_icon_accepted@2x.png */; }; + B1D5EE8420BC06CB00983FB6 /* mrpr_icon_status_refused@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01F1E540551008AA957 /* mrpr_icon_status_refused@2x.png */; }; + B1D5EE8520BC06CB00983FB6 /* privatemessage_normal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D41C02DB8900DC1C4B /* privatemessage_normal@3x.png */; }; + B1D5EE8620BC06CB00983FB6 /* btn_project_added@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2A19EF6306006BA8BD /* btn_project_added@2x.png */; }; + B1D5EE8720BC06CB00983FB6 /* nav_tweet_all@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8119E240C40076D59C /* nav_tweet_all@2x.png */; }; + B1D5EE8820BC06CB00983FB6 /* button_file_createFolder_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EACB43C1A2C448F0097ABB3 /* button_file_createFolder_unable@2x.png */; }; + B1D5EE8920BC06CB00983FB6 /* button_file_denete_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAC202D7D4F0075A669 /* button_file_denete_unable@3x.png */; }; + B1D5EE8A20BC06CB00983FB6 /* file_activity_icon_upload_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B11EB2D9F0003DACF0 /* file_activity_icon_upload_file@3x.png */; }; + B1D5EE8B20BC06CB00983FB6 /* QBImagePicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B12B64691FFB61AD00ACFDCC /* QBImagePicker.storyboard */; }; + B1D5EE8C20BC06CB00983FB6 /* taskProject@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EED9DCB1B539366000E5827 /* taskProject@2x.png */; }; + B1D5EE8E20BC06CB00983FB6 /* button_file_upload_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA9202D7D4E0075A669 /* button_file_upload_enable@3x.png */; }; + B1D5EE8F20BC06CB00983FB6 /* tag_button_randomColor@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F1C1C76BA3B00B5EBEA /* tag_button_randomColor@3x.png */; }; + B1D5EE9020BC06CB00983FB6 /* user_info_help@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B47A1D82646000EED8C6 /* user_info_help@3x.png */; }; + B1D5EE9120BC06CB00983FB6 /* messageComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B21B32640900D98648 /* messageComment@2x.png */; }; + B1D5EE9220BC06CB00983FB6 /* upgrade_success@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64241FF33E0000ACFDCC /* upgrade_success@3x.png */; }; + B1D5EE9320BC06CB00983FB6 /* tweet_comment_btn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFBE19E240C40076D59C /* tweet_comment_btn@2x.png */; }; + B1D5EE9420BC06CB00983FB6 /* fliter_square@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6ACD1BF9CCCF009D37F8 /* fliter_square@2x.png */; }; + B1D5EE9520BC06CB00983FB6 /* PR_create@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1319D1071CA7FE6E00729F82 /* PR_create@2x.png */; }; + B1D5EE9620BC06CB00983FB6 /* user_info_tweet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4841D82646000EED8C6 /* user_info_tweet@3x.png */; }; + B1D5EE9720BC06CB00983FB6 /* taskPriority2_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383A01B3262D300D98648 /* taskPriority2_small@2x.png */; }; + B1D5EE9820BC06CB00983FB6 /* pop_2FA@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447C61C02DB6700DC1C4B /* pop_2FA@3x.png */; }; + B1D5EE9920BC06CB00983FB6 /* code_release_resource_Zip@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31720731FF10077C956 /* code_release_resource_Zip@2x.png */; }; + B1D5EE9A20BC06CB00983FB6 /* topic_add_watcher_btn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E59D3301D409C8C008C914B /* topic_add_watcher_btn@2x.png */; }; + B1D5EE9B20BC06CB00983FB6 /* bubble_right_play_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E8E597D1B6F91C40083CA02 /* bubble_right_play_1@2x.png */; }; + B1D5EE9C20BC06CB00983FB6 /* search_tweet_colck@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B35164C1B6CE9460049BC45 /* search_tweet_colck@2x.png */; }; + B1D5EE9D20BC06CB00983FB6 /* keyboard_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE601A0A3424006F9AD7 /* keyboard_page_unselected@2x.png */; }; + B1D5EE9E20BC06CB00983FB6 /* blankpage_image_Project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CA1E69401B0095F1CD /* blankpage_image_Project@2x.png */; }; + B1D5EEA020BC06CB00983FB6 /* PR_more@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 134116EE1CB529E1005E6550 /* PR_more@2x.png */; }; + B1D5EEA120BC06CB00983FB6 /* user_info_edit@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E54C24A1D8FE19100A61023 /* user_info_edit@3x.png */; }; + B1D5EEA220BC06CB00983FB6 /* file_changeType_MODIFY@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CEC200EFDC600DEDF78 /* file_changeType_MODIFY@3x.png */; }; + B1D5EEA320BC06CB00983FB6 /* icon_file_apk@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7CB1A1B537E0037C098 /* icon_file_apk@2x.png */; }; + B1D5EEA420BC06CB00983FB6 /* n_btn_followed_both@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E996BFA1ABBF56A00C704F1 /* n_btn_followed_both@2x.png */; }; + B1D5EEA520BC06CB00983FB6 /* messageSystem@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B51B32640900D98648 /* messageSystem@2x.png */; }; + B1D5EEA620BC06CB00983FB6 /* PR_del_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF6200EFEA400DEDF78 /* PR_del_watcher@2x.png */; }; + B1D5EEA720BC06CB00983FB6 /* taskWatchers@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED618231C3CB1AF0017946C /* taskWatchers@3x.png */; }; + B1D5EEA820BC06CB00983FB6 /* mrpr_icon_status_canmerge@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01C1E540551008AA957 /* mrpr_icon_status_canmerge@3x.png */; }; + B1D5EEA920BC06CB00983FB6 /* topic_comment_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A821B6B24DE008DC439 /* topic_comment_icon@2x.png */; }; + B1D5EEAA20BC06CB00983FB6 /* project_item_activity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712C1EADF155003DACF0 /* project_item_activity@3x.png */; }; + B1D5EEAB20BC06CB00983FB6 /* member_type_75@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2F6A691C43CA4B00A25502 /* member_type_75@3x.png */; }; + B1D5EEAC20BC06CB00983FB6 /* bubble_right_play_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E8E597E1B6F91C40083CA02 /* bubble_right_play_2@2x.png */; }; + B1D5EEAD20BC06CB00983FB6 /* share_btn_coding@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3C71B96CDF800A5A0A8 /* share_btn_coding@2x.png */; }; + B1D5EEAE20BC06CB00983FB6 /* commentOrLikeBeginImg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF6319E240C40076D59C /* commentOrLikeBeginImg@2x.png */; }; + B1D5EEAF20BC06CB00983FB6 /* task_resource_reference_ProjectFile@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F571C7C5C4F00B5EBEA /* task_resource_reference_ProjectFile@3x.png */; }; + B1D5EEB020BC06CB00983FB6 /* PR_mergeChanges@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D271CA17A6400EE127C /* PR_mergeChanges@3x.png */; }; + B1D5EEB120BC06CB00983FB6 /* user_info_shop@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF41F7210C300C598F3 /* user_info_shop@2x.png */; }; + B1D5EEB220BC06CB00983FB6 /* ReviewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 134E1B991CA41217002A3E0D /* ReviewCell.xib */; }; + B1D5EEB320BC06CB00983FB6 /* login_suffix@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF7319E240C40076D59C /* login_suffix@2x.png */; }; + B1D5EEB420BC06CB00983FB6 /* password_look@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0C1C74691B00B5EBEA /* password_look@3x.png */; }; + B1D5EEB520BC06CB00983FB6 /* emotion_list.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE711A0B8C6C006F9AD7 /* emotion_list.plist */; }; + B1D5EEB620BC06CB00983FB6 /* wiki_menu_1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C252015D82600F52ABA /* wiki_menu_1@3x.png */; }; + B1D5EEB720BC06CB00983FB6 /* file_changeType_ADD@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC461AF1B39360F00D08970 /* file_changeType_ADD@2x.png */; }; + B1D5EEB820BC06CB00983FB6 /* icon_best_answer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6CBE521D8EA9D100644086 /* icon_best_answer@2x.png */; }; + B1D5EEB920BC06CB00983FB6 /* git_icon_watched@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6ACA1B2571B100FD2E49 /* git_icon_watched@2x.png */; }; + B1D5EEBA20BC06CB00983FB6 /* coding_emoji_26@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE8D1A0C7E26006F9AD7 /* coding_emoji_26@2x.png */; }; + B1D5EEBB20BC06CB00983FB6 /* coding_emoji_35@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE961A0C7E26006F9AD7 /* coding_emoji_35@2x.png */; }; + B1D5EEBC20BC06CB00983FB6 /* task_activity_icon_update_description@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719C1EB2D9E6003DACF0 /* task_activity_icon_update_description@3x.png */; }; + B1D5EEBD20BC06CB00983FB6 /* vip_4_40@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AF1EE100B200B01371 /* vip_4_40@3x.png */; }; + B1D5EEBE20BC06CB00983FB6 /* keyboard_keyboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE5E1A0A3424006F9AD7 /* keyboard_keyboard@2x.png */; }; + B1D5EEBF20BC06CB00983FB6 /* icon_release_tag@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFF2069197C00E9BAD1 /* icon_release_tag@2x.png */; }; + B1D5EEC020BC06CB00983FB6 /* placeholder_monkey_round_48@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9119E240C40076D59C /* placeholder_monkey_round_48@2x.png */; }; + B1D5EEC120BC06CB00983FB6 /* PR_plus@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0A31E5D8D90008AA957 /* PR_plus@2x.png */; }; + B1D5EEC220BC06CB00983FB6 /* xtsegment_bordor_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC319E240C40076D59C /* xtsegment_bordor_left@2x.png */; }; + B1D5EEC320BC06CB00983FB6 /* task_resource_reference_MergeRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F541C7C5C4F00B5EBEA /* task_resource_reference_MergeRequestBean@2x.png */; }; + B1D5EEC420BC06CB00983FB6 /* icon_file_folder_out@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D99121DCAE67D00BAE585 /* icon_file_folder_out@2x.png */; }; + B1D5EEC520BC06CB00983FB6 /* messageProjectFollows@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6CBE571D8FBDF500644086 /* messageProjectFollows@2x.png */; }; + B1D5EEC620BC06CB00983FB6 /* tweet_btn_comment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D12FF1C0ECB3400985AEB /* tweet_btn_comment@2x.png */; }; + B1D5EEC720BC06CB00983FB6 /* blankpage_image_ShopOrder@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CD1E69401B0095F1CD /* blankpage_image_ShopOrder@3x.png */; }; + B1D5EEC820BC06CB00983FB6 /* banner__page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A6C1B69F920008DC439 /* banner__page_unselected@2x.png */; }; + B1D5EEC920BC06CB00983FB6 /* mrpr_icon_status_accepted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0191E540551008AA957 /* mrpr_icon_status_accepted@2x.png */; }; + B1D5EECA20BC06CB00983FB6 /* icon_file_ai@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7CA1A1B537E0037C098 /* icon_file_ai@2x.png */; }; + B1D5EECB20BC06CB00983FB6 /* PR_plus@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0A41E5D8D90008AA957 /* PR_plus@3x.png */; }; + B1D5EECC20BC06CB00983FB6 /* user_info_tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4831D82646000EED8C6 /* user_info_tweet@2x.png */; }; + B1D5EECD20BC06CB00983FB6 /* coding_emoji_21@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE881A0C7E26006F9AD7 /* coding_emoji_21@2x.png */; }; + B1D5EECE20BC06CB00983FB6 /* bubble_left_play_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E8E597B1B6F91C40083CA02 /* bubble_left_play_2@2x.png */; }; + B1D5EECF20BC06CB00983FB6 /* task_resource_reference_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F5B1C7C5C4F00B5EBEA /* task_resource_reference_Task@3x.png */; }; + B1D5EED020BC06CB00983FB6 /* PR_add_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF4200EFEA400DEDF78 /* PR_add_watcher@2x.png */; }; + B1D5EED120BC06CB00983FB6 /* file_menu_icon_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2351B84356500017916 /* file_menu_icon_delete@2x.png */; }; + B1D5EED220BC06CB00983FB6 /* button_red_close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64201FF33DFE00ACFDCC /* button_red_close@3x.png */; }; + B1D5EED320BC06CB00983FB6 /* PR_merge@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1319D10A1CA81FE100729F82 /* PR_merge@3x.png */; }; + B1D5EED420BC06CB00983FB6 /* coding_emoji_25@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE8C1A0C7E26006F9AD7 /* coding_emoji_25@2x.png */; }; + B1D5EED520BC06CB00983FB6 /* keyboard_arrow_down@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E335D9A1B6F5E94003D0F3D /* keyboard_arrow_down@2x.png */; }; + B1D5EED620BC06CB00983FB6 /* taskResourceReference@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F3A1C7C45E700B5EBEA /* taskResourceReference@3x.png */; }; + B1D5EED720BC06CB00983FB6 /* tag_button_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F171C76BA3B00B5EBEA /* tag_button_add@2x.png */; }; + B1D5EED820BC06CB00983FB6 /* tweetsBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E59D32A1D3E106D008C914B /* tweetsBtn_Nav@3x.png */; }; + B1D5EED920BC06CB00983FB6 /* icon_branch_protected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFB206918D200E9BAD1 /* icon_branch_protected@2x.png */; }; + B1D5EEDA20BC06CB00983FB6 /* taskboard_normal_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED88209453F2004A6E8A /* taskboard_normal_page_selected@2x.png */; }; + B1D5EEDB20BC06CB00983FB6 /* user_info_about@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4751D82646000EED8C6 /* user_info_about@2x.png */; }; + B1D5EEDC20BC06CB00983FB6 /* icon_branch_protected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFA206918D100E9BAD1 /* icon_branch_protected@3x.png */; }; + B1D5EEDE20BC06CB00983FB6 /* task_activity_icon_create@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6384021B33C8E900D98648 /* task_activity_icon_create@2x.png */; }; + B1D5EEDF20BC06CB00983FB6 /* button_file_download_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EACB43D1A2C448F0097ABB3 /* button_file_download_unable@2x.png */; }; + B1D5EEE020BC06CB00983FB6 /* btn_setFrequent@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6ABF1BF82DC6009D37F8 /* btn_setFrequent@2x.png */; }; + B1D5EEE120BC06CB00983FB6 /* task_activity_icon_remove_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871991EB2D9E6003DACF0 /* task_activity_icon_remove_watcher@3x.png */; }; + B1D5EEE220BC06CB00983FB6 /* markdown.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C22060E6B1006709C2 /* markdown.html */; }; + B1D5EEE320BC06CB00983FB6 /* code_release_resource_ProjectTopic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3262073212D0077C956 /* code_release_resource_ProjectTopic@3x.png */; }; + B1D5EEE420BC06CB00983FB6 /* diff-ios.html in Resources */ = {isa = PBXBuildFile; fileRef = 4ECEF9F61D1BB7FB002A27D3 /* diff-ios.html */; }; + B1D5EEE520BC06CB00983FB6 /* little_phone_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAC8B691BA01F190060B0FC /* little_phone_icon@2x.png */; }; + B1D5EEE620BC06CB00983FB6 /* share_btn_sina@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3CC1B96CDF800A5A0A8 /* share_btn_sina@2x.png */; }; + B1D5EEE820BC06CB00983FB6 /* icon_file_pdf@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D21A1B537E0037C098 /* icon_file_pdf@2x.png */; }; + B1D5EEE920BC06CB00983FB6 /* tipIcon_TweetComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972DB1BB52A8300F3AC15 /* tipIcon_TweetComment@2x.png */; }; + B1D5EEEA20BC06CB00983FB6 /* blankpage_image_LoadFail@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C51E69401B0095F1CD /* blankpage_image_LoadFail@3x.png */; }; + B1D5EEEB20BC06CB00983FB6 /* taskboard_add_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED89209453F2004A6E8A /* taskboard_add_page_unselected@2x.png */; }; + B1D5EEEC20BC06CB00983FB6 /* PR_grant_undo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D221CA17A6400EE127C /* PR_grant_undo@2x.png */; }; + B1D5EEED20BC06CB00983FB6 /* back_green_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711E1EADF0FF003DACF0 /* back_green_Nav@2x.png */; }; + B1D5EEEE20BC06CB00983FB6 /* file_changeType_COPY@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EFE8DAA1B394A0D004B7559 /* file_changeType_COPY@2x.png */; }; + B1D5EEEF20BC06CB00983FB6 /* shop_exchange_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF481BFF6DAD00AAE593 /* shop_exchange_icon@2x.png */; }; + B1D5EEF020BC06CB00983FB6 /* timeBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448061C02DCAC00DC1C4B /* timeBtn_Nav@3x.png */; }; + B1D5EEF120BC06CB00983FB6 /* close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D171CA17A6400EE127C /* close@2x.png */; }; + B1D5EEF220BC06CB00983FB6 /* PR_update_content@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1C1CA17A6400EE127C /* PR_update_content@3x.png */; }; + B1D5EEF320BC06CB00983FB6 /* user_info_detail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E996BFF1ABBF56A00C704F1 /* user_info_detail@2x.png */; }; + B1D5EEF420BC06CB00983FB6 /* vip_4_45@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B01EE100B200B01371 /* vip_4_45@2x.png */; }; + B1D5EEF520BC06CB00983FB6 /* icon_recommended@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E8C51AF1AC1081500B4C51F /* icon_recommended@2x.png */; }; + B1D5EEF620BC06CB00983FB6 /* icon_file_doc@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7CC1A1B537E0037C098 /* icon_file_doc@2x.png */; }; + B1D5EEF720BC06CB00983FB6 /* hot_topic_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E09DCA41C156387001C9392 /* hot_topic_Nav@3x.png */; }; + B1D5EEF820BC06CB00983FB6 /* EACodeReleaseListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF02068F4B400E9BAD1 /* EACodeReleaseListCell.xib */; }; + B1D5EEF920BC06CB00983FB6 /* user_info_setup@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4801D82646000EED8C6 /* user_info_setup@3x.png */; }; + B1D5EEFA20BC06CB00983FB6 /* tipIcon_ProjectTweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972DD1BB535B400F3AC15 /* tipIcon_ProjectTweet@2x.png */; }; + B1D5EEFB20BC06CB00983FB6 /* share_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E09DCA71C15662E001C9392 /* share_Nav@2x.png */; }; + B1D5EEFC20BC06CB00983FB6 /* tipIcon_User@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E62ADD919E28DA800963870 /* tipIcon_User@2x.png */; }; + B1D5EEFD20BC06CB00983FB6 /* taskPriority0_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839C1B3262D300D98648 /* taskPriority0_small@2x.png */; }; + B1D5EEFE20BC06CB00983FB6 /* file_changeType_COPY@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CEA200EFDC600DEDF78 /* file_changeType_COPY@3x.png */; }; + B1D5EEFF20BC06CB00983FB6 /* btn_project_quit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2B19EF6306006BA8BD /* btn_project_quit@2x.png */; }; + B1D5EF0020BC06CB00983FB6 /* member_type_100@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2F6A661C43CA4B00A25502 /* member_type_100@2x.png */; }; + B1D5EF0120BC06CB00983FB6 /* dismissBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED558311B4FA68400FC10CB /* dismissBtn_Nav@2x.png */; }; + B1D5EF0220BC06CB00983FB6 /* coding_emoji_38@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497A1A918A7F00BD27F6 /* coding_emoji_38@2x.png */; }; + B1D5EF0320BC06CB00983FB6 /* keyboard_emotion_emoji@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE5C1A0A3424006F9AD7 /* keyboard_emotion_emoji@2x.png */; }; + B1D5EF0420BC06CB00983FB6 /* taskOwner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EED9DCA1B539366000E5827 /* taskOwner@2x.png */; }; + B1D5EF0520BC06CB00983FB6 /* task_activity_icon_commit_refer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC461B51B3939DC00D08970 /* task_activity_icon_commit_refer@2x.png */; }; + B1D5EF0620BC06CB00983FB6 /* project_item_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712E1EADF155003DACF0 /* project_item_file@3x.png */; }; + B1D5EF0720BC06CB00983FB6 /* btn_followed_yes@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2419EF6306006BA8BD /* btn_followed_yes@2x.png */; }; + B1D5EF0820BC06CB00983FB6 /* btn_project_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2919EF6306006BA8BD /* btn_project_add@2x.png */; }; + B1D5EF0920BC06CB00983FB6 /* project_item_activity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383C91B32665700D98648 /* project_item_activity@2x.png */; }; + B1D5EF0A20BC06CB00983FB6 /* tips_menu_icon_status@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972E71BB5446900F3AC15 /* tips_menu_icon_status@2x.png */; }; + B1D5EF0B20BC06CB00983FB6 /* task_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447A01C02A3C700DC1C4B /* task_selected@2x.png */; }; + B1D5EF0C20BC06CB00983FB6 /* project_item_code@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712D1EADF155003DACF0 /* project_item_code@3x.png */; }; + B1D5EF0D20BC06CB00983FB6 /* terminal_tail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C90202953E40075A669 /* terminal_tail@2x.png */; }; + B1D5EF0E20BC06CB00983FB6 /* PR_add_reviewer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF8200EFEA400DEDF78 /* PR_add_reviewer@2x.png */; }; + B1D5EF0F20BC06CB00983FB6 /* PR_push@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1A1CA17A6400EE127C /* PR_push@3x.png */; }; + B1D5EF1020BC06CB00983FB6 /* shop_coding_coin_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF471BFF6DAD00AAE593 /* shop_coding_coin_icon@3x.png */; }; + B1D5EF1220BC06CB00983FB6 /* project_tag_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B91EB338FD003DACF0 /* project_tag_icon@3x.png */; }; + B1D5EF1320BC06CB00983FB6 /* code_lang.plist in Resources */ = {isa = PBXBuildFile; fileRef = B1944153206CBE8C00147158 /* code_lang.plist */; }; + B1D5EF1420BC06CB00983FB6 /* logo_coding@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B10341272024633800853447 /* logo_coding@2x.png */; }; + B1D5EF1520BC06CB00983FB6 /* user_info_project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B47D1D82646000EED8C6 /* user_info_project@2x.png */; }; + B1D5EF1620BC06CB00983FB6 /* button_file_createFolder_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CB0202D7D500075A669 /* button_file_createFolder_unable@3x.png */; }; + B1D5EF1720BC06CB00983FB6 /* icon_project_cell_setNormal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6ABB1BF829F2009D37F8 /* icon_project_cell_setNormal@2x.png */; }; + B1D5EF1820BC06CB00983FB6 /* search_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448041C02DCAC00DC1C4B /* search_Nav@3x.png */; }; + B1D5EF1920BC06CB00983FB6 /* keyboard_emotion_monkey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE5D1A0A3424006F9AD7 /* keyboard_emotion_monkey@2x.png */; }; + B1D5EF1A20BC06CB00983FB6 /* icon_file_ppt_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB87C1FCD006C0098B87B /* icon_file_ppt_big@2x.png */; }; + B1D5EF1B20BC06CB00983FB6 /* calendar_0xA1CF64@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871751EB18599003DACF0 /* calendar_0xA1CF64@2x.png */; }; + B1D5EF1C20BC06CB00983FB6 /* blankpage_image_File@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C31E69401B0095F1CD /* blankpage_image_File@3x.png */; }; + B1D5EF1D20BC06CB00983FB6 /* SVWebViewControllerActivityChrome-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E217EFF1A70EDC700F6DF88 /* SVWebViewControllerActivityChrome-iPad.png */; }; + B1D5EF1E20BC06CB00983FB6 /* settingBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871231EADF0FF003DACF0 /* settingBtn_Nav@3x.png */; }; + B1D5EF1F20BC06CB00983FB6 /* PR_del_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF9200EFEA400DEDF78 /* PR_del_watcher@3x.png */; }; + B1D5EF2020BC06CB00983FB6 /* tweet_btn_comment@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13001C0ECB3400985AEB /* tweet_btn_comment@3x.png */; }; + B1D5EF2120BC06CB00983FB6 /* task_activity_icon_update_deadline@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719B1EB2D9E6003DACF0 /* task_activity_icon_update_deadline@3x.png */; }; + B1D5EF2220BC06CB00983FB6 /* close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D181CA17A6400EE127C /* close@3x.png */; }; + B1D5EF2320BC06CB00983FB6 /* coding_emoji_14@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE811A0C7E26006F9AD7 /* coding_emoji_14@2x.png */; }; + B1D5EF2420BC06CB00983FB6 /* taskboard_normal_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8E209453F2004A6E8A /* taskboard_normal_page_unselected@2x.png */; }; + B1D5EF2520BC06CB00983FB6 /* loading_monkey@2x.gif in Resources */ = {isa = PBXBuildFile; fileRef = B1C871121EADAEE1003DACF0 /* loading_monkey@2x.gif */; }; + B1D5EF2620BC06CB00983FB6 /* search_icon_topic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9411E02911E00DE1BC6 /* search_icon_topic@3x.png */; }; + B1D5EF2720BC06CB00983FB6 /* pop_User@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447CB1C02DB6700DC1C4B /* pop_User@3x.png */; }; + B1D5EF2820BC06CB00983FB6 /* taskPriority2_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715F1EB182C7003DACF0 /* taskPriority2_small@3x.png */; }; + B1D5EF2920BC06CB00983FB6 /* project_tag_btn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B81EB338FD003DACF0 /* project_tag_btn@3x.png */; }; + B1D5EF2A20BC06CB00983FB6 /* task_resource_reference_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F5A1C7C5C4F00B5EBEA /* task_resource_reference_Task@2x.png */; }; + B1D5EF2B20BC06CB00983FB6 /* tips_menu_icon_mkread@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972E61BB5446900F3AC15 /* tips_menu_icon_mkread@2x.png */; }; + B1D5EF2C20BC06CB00983FB6 /* coding_emoji_15@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE821A0C7E26006F9AD7 /* coding_emoji_15@2x.png */; }; + B1D5EF2D20BC06CB00983FB6 /* shortcut_task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9291DFFF06E00DE1BC6 /* shortcut_task@2x.png */; }; + B1D5EF2E20BC06CB00983FB6 /* terminal_triangle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */; }; + B1D5EF2F20BC06CB00983FB6 /* topic_comment_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8716E1EB1832B003DACF0 /* topic_comment_icon@3x.png */; }; + B1D5EF3020BC06CB00983FB6 /* placeholder_monkey_round_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9019E240C40076D59C /* placeholder_monkey_round_40@2x.png */; }; + B1D5EF3120BC06CB00983FB6 /* PR_merge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1319D1091CA81FE100729F82 /* PR_merge@2x.png */; }; + B1D5EF3220BC06CB00983FB6 /* tweet_btn_like@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13011C0ECB3400985AEB /* tweet_btn_like@2x.png */; }; + B1D5EF3320BC06CB00983FB6 /* PR_update@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 134116F61CB55E69005E6550 /* PR_update@2x.png */; }; + B1D5EF3420BC06CB00983FB6 /* login_email@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF7119E240C40076D59C /* login_email@2x.png */; }; + B1D5EF3520BC06CB00983FB6 /* tweetBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448071C02DCAC00DC1C4B /* tweetBtn_Nav@3x.png */; }; + B1D5EF3620BC06CB00983FB6 /* mrpr_icon_status_refused@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0201E540551008AA957 /* mrpr_icon_status_refused@3x.png */; }; + B1D5EF3720BC06CB00983FB6 /* login_wechat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B640C1FECB58F00ACFDCC /* login_wechat@3x.png */; }; + B1D5EF3820BC06CB00983FB6 /* ReleaseNotes.txt in Resources */ = {isa = PBXBuildFile; fileRef = 4EDD8F4E1A36F42200E9E232 /* ReleaseNotes.txt */; }; + B1D5EF3920BC06CB00983FB6 /* PR_update_content@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D1B1CA17A6400EE127C /* PR_update_content@2x.png */; }; + B1D5EF3A20BC06CB00983FB6 /* ReviewerListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13972E281CA6157C00489EBA /* ReviewerListController.xib */; }; + B1D5EF3B20BC06CB00983FB6 /* file_activity_icon_create@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871AD1EB2D9F0003DACF0 /* file_activity_icon_create@3x.png */; }; + B1D5EF3C20BC06CB00983FB6 /* tipIcon_MergeRequestComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB119E240C40076D59C /* tipIcon_MergeRequestComment@2x.png */; }; + B1D5EF3D20BC06CB00983FB6 /* private_message_send_fail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B61B32640900D98648 /* private_message_send_fail@2x.png */; }; + B1D5EF3E20BC06CB00983FB6 /* terminal_box_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */; }; + B1D5EF3F20BC06CB00983FB6 /* keyboard_at@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE591A0A3424006F9AD7 /* keyboard_at@2x.png */; }; + B1D5EF4020BC06CB00983FB6 /* coding_emoji_13@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE801A0C7E26006F9AD7 /* coding_emoji_13@2x.png */; }; + B1D5EF4120BC06CB00983FB6 /* blankpage_image_Wiki@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D81E69401B0095F1CD /* blankpage_image_Wiki@2x.png */; }; + B1D5EF4220BC06CB00983FB6 /* PR_update_title@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 133DAA621CC13A30004D8501 /* PR_update_title@2x.png */; }; + B1D5EF4320BC06CB00983FB6 /* project_item_task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383CF1B32665700D98648 /* project_item_task@2x.png */; }; + B1D5EF4420BC06CB00983FB6 /* icon_file_apk_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8771FCD006B0098B87B /* icon_file_apk_big@2x.png */; }; + B1D5EF4520BC06CB00983FB6 /* file_menu_icon_share@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2391B84356500017916 /* file_menu_icon_share@2x.png */; }; + B1D5EF4620BC06CB00983FB6 /* btn_delete_tweetimage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF5F19E240C40076D59C /* btn_delete_tweetimage@2x.png */; }; + B1D5EF4720BC06CB00983FB6 /* task_activity_icon_commit_refer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871941EB2D9E6003DACF0 /* task_activity_icon_commit_refer@3x.png */; }; + B1D5EF4820BC06CB00983FB6 /* icon_code_executable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04A1E542B2D008AA957 /* icon_code_executable@3x.png */; }; + B1D5EF4920BC06CB00983FB6 /* calendar_0x59A2FF@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871741EB18599003DACF0 /* calendar_0x59A2FF@3x.png */; }; + B1D5EF4A20BC06CB00983FB6 /* task_activity_icon_create@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871951EB2D9E6003DACF0 /* task_activity_icon_create@3x.png */; }; + B1D5EF4B20BC06CB00983FB6 /* icon_file_cell_move@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC5AD901A258DF8006FA97C /* icon_file_cell_move@2x.png */; }; + B1D5EF4C20BC06CB00983FB6 /* mrpr_icon_status_cannotmerge@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01E1E540551008AA957 /* mrpr_icon_status_cannotmerge@3x.png */; }; + B1D5EF4D20BC06CB00983FB6 /* member_cell_edit_alias@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBBD1C44CB860096CA74 /* member_cell_edit_alias@3x.png */; }; + B1D5EF4E20BC06CB00983FB6 /* icon_file_cell_rename@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC5AD911A258DF8006FA97C /* icon_file_cell_rename@2x.png */; }; + B1D5EF4F20BC06CB00983FB6 /* PR_grant@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D351CA17A6400EE127C /* PR_grant@3x.png */; }; + B1D5EF5020BC06CB00983FB6 /* coding_emoji_03@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE761A0C7E26006F9AD7 /* coding_emoji_03@2x.png */; }; + B1D5EF5120BC06CB00983FB6 /* cell_checkmark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871881EB1E608003DACF0 /* cell_checkmark@3x.png */; }; + B1D5EF5220BC06CB00983FB6 /* taskWatchers@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED618221C3CB1AF0017946C /* taskWatchers@2x.png */; }; + B1D5EF5320BC06CB00983FB6 /* icon_file_psd@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D41A1B537E0037C098 /* icon_file_psd@2x.png */; }; + B1D5EF5420BC06CB00983FB6 /* sex_man_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9819E240C40076D59C /* sex_man_icon@2x.png */; }; + B1D5EF5520BC06CB00983FB6 /* file_changeType_DELETE@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC461B01B39360F00D08970 /* file_changeType_DELETE@2x.png */; }; + B1D5EF5620BC06CB00983FB6 /* button_file_move_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAF202D7D4F0075A669 /* button_file_move_unable@3x.png */; }; + B1D5EF5720BC06CB00983FB6 /* button_file_history@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAA202D7D4E0075A669 /* button_file_history@3x.png */; }; + B1D5EF5820BC06CB00983FB6 /* shortcut_2FA@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9271DFFF06E00DE1BC6 /* shortcut_2FA@2x.png */; }; + B1D5EF5920BC06CB00983FB6 /* button_file_download_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA8202D7D4E0075A669 /* button_file_download_enable@3x.png */; }; + B1D5EF5A20BC06CB00983FB6 /* icon_file_ai_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB87B1FCD006C0098B87B /* icon_file_ai_big@2x.png */; }; + B1D5EF5B20BC06CB00983FB6 /* tipIcon_ProjectPayment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EBDC27A1BC501C00037EB66 /* tipIcon_ProjectPayment@2x.png */; }; + B1D5EF5C20BC06CB00983FB6 /* MIDAUTUMNIMAGE.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4E6B07151BA4045E007D6027 /* MIDAUTUMNIMAGE.jpg */; }; + B1D5EF5D20BC06CB00983FB6 /* calendar_0xA9B3BE@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871771EB18599003DACF0 /* calendar_0xA9B3BE@2x.png */; }; + B1D5EF5E20BC06CB00983FB6 /* project_item_topic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871551EAE003A003DACF0 /* project_item_topic@3x.png */; }; + B1D5EF5F20BC06CB00983FB6 /* service_terms.html in Resources */ = {isa = PBXBuildFile; fileRef = 4EE083DB1ADB736800CA342E /* service_terms.html */; }; + B1D5EF6020BC06CB00983FB6 /* task_activity_icon_update_priority@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383FA1B33C18700D98648 /* task_activity_icon_update_priority@2x.png */; }; + B1D5EF6120BC06CB00983FB6 /* icon_search_searchbar@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448131C02F76600DC1C4B /* icon_search_searchbar@3x.png */; }; + B1D5EF6220BC06CB00983FB6 /* keyboard_voice@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E335D9C1B6F5E94003D0F3D /* keyboard_voice@2x.png */; }; + B1D5EF6320BC06CB00983FB6 /* search_icon_project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E94B1E02911E00DE1BC6 /* search_icon_project@3x.png */; }; + B1D5EF6420BC06CB00983FB6 /* button_close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13171C0EF48200985AEB /* button_close@3x.png */; }; + B1D5EF6520BC06CB00983FB6 /* btn_followed_not@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2319EF6306006BA8BD /* btn_followed_not@2x.png */; }; + B1D5EF6720BC06CB00983FB6 /* mrpr_icon_fileChange@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383DA1B3266C200D98648 /* mrpr_icon_fileChange@2x.png */; }; + B1D5EF6820BC06CB00983FB6 /* task_activity_icon_finish@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383F41B33C18700D98648 /* task_activity_icon_finish@2x.png */; }; + B1D5EF6920BC06CB00983FB6 /* vip_4_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AE1EE100B200B01371 /* vip_4_40@2x.png */; }; + B1D5EF6A20BC06CB00983FB6 /* taskDeadline@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8713E1EADF1C1003DACF0 /* taskDeadline@3x.png */; }; + B1D5EF6B20BC06CB00983FB6 /* button_arrow_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED6181E1C3A732F0017946C /* button_arrow_left@2x.png */; }; + B1D5EF6C20BC06CB00983FB6 /* taskProgress@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383DF1B32676600D98648 /* taskProgress@2x.png */; }; + B1D5EF6D20BC06CB00983FB6 /* tweetBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447F31C02DCA200DC1C4B /* tweetBtn_Nav@2x.png */; }; + B1D5EF6E20BC06CB00983FB6 /* bubble_left_play_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E8E597A1B6F91C40083CA02 /* bubble_left_play_1@2x.png */; }; + B1D5EF6F20BC06CB00983FB6 /* placeholder_monkey_round_54@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9319E240C40076D59C /* placeholder_monkey_round_54@2x.png */; }; + B1D5EF7020BC06CB00983FB6 /* tweet_btn_rewarded@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13081C0ECB3400985AEB /* tweet_btn_rewarded@3x.png */; }; + B1D5EF7120BC06CB00983FB6 /* vip_4_75@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B21EE100B200B01371 /* vip_4_75@2x.png */; }; + B1D5EF7220BC06CB00983FB6 /* task_activity_icon_update_deadline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383F81B33C18700D98648 /* task_activity_icon_update_deadline@2x.png */; }; + B1D5EF7320BC06CB00983FB6 /* TweetSendDetailLoctionCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A0519E11ABA918100551B61 /* TweetSendDetailLoctionCell.xib */; }; + B1D5EF7420BC06CB00983FB6 /* project_item_readme@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871311EADF155003DACF0 /* project_item_readme@3x.png */; }; + B1D5EF7520BC06CB00983FB6 /* icon_file_doc_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8701FCD006A0098B87B /* icon_file_doc_big@2x.png */; }; + B1D5EF7620BC06CB00983FB6 /* icon_locationed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF91F611B00B62A0021C951 /* icon_locationed@2x.png */; }; + B1D5EF7720BC06CB00983FB6 /* tip_normal_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ECEF9F91D1D0B3D002A27D3 /* tip_normal_Nav@3x.png */; }; + B1D5EF7820BC06CB00983FB6 /* tweet_btn_like@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13021C0ECB3400985AEB /* tweet_btn_like@3x.png */; }; + B1D5EF7920BC06CB00983FB6 /* icon_project_cell_nopin@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EE548261AE9166B00A92306 /* icon_project_cell_nopin@2x.png */; }; + B1D5EF7A20BC06CB00983FB6 /* coding_emoji_39@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497B1A918A7F00BD27F6 /* coding_emoji_39@2x.png */; }; + B1D5EF7C20BC06CB00983FB6 /* coding_emoji_08@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE7B1A0C7E26006F9AD7 /* coding_emoji_08@2x.png */; }; + B1D5EF7D20BC06CB00983FB6 /* tweet_btn_liked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13031C0ECB3400985AEB /* tweet_btn_liked@2x.png */; }; + B1D5EF7E20BC06CB00983FB6 /* FileInfoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2431B85C4C300017916 /* FileInfoViewController.xib */; }; + B1D5EF7F20BC06CB00983FB6 /* register_step_un@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC480101C2A909D005F1772 /* register_step_un@3x.png */; }; + B1D5EF8020BC06CB00983FB6 /* blankpage_image_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CF1E69401B0095F1CD /* blankpage_image_Task@3x.png */; }; + B1D5EF8120BC06CB00983FB6 /* TweetSendCreateLocationCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A782FDC1AB5B78B00E96661 /* TweetSendCreateLocationCell.xib */; }; + B1D5EF8320BC06CB00983FB6 /* coding_emoji_36@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE971A0C7E26006F9AD7 /* coding_emoji_36@2x.png */; }; + B1D5EF8420BC06CB00983FB6 /* n_btn_followed_yes@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E996BFC1ABBF56A00C704F1 /* n_btn_followed_yes@2x.png */; }; + B1D5EF8520BC06CB00983FB6 /* store_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE068F1B784E9200179F4B /* store_icon@2x.png */; }; + B1D5EF8620BC06CB00983FB6 /* vip_4_75@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B31EE100B200B01371 /* vip_4_75@3x.png */; }; + B1D5EF8720BC06CB00983FB6 /* button_tip_notice@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1CB8DD02047F1D000872197 /* button_tip_notice@2x.png */; }; + B1D5EF8820BC06CB00983FB6 /* addPictureBgImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF818151B049C89005F974B /* addPictureBgImage@2x.png */; }; + B1D5EF8920BC06CB00983FB6 /* PRReviewer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2F1CA17A6400EE127C /* PRReviewer@3x.png */; }; + B1D5EF8A20BC06CB00983FB6 /* button_tip_notice@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1CB8DD12047F1D100872197 /* button_tip_notice@3x.png */; }; + B1D5EF8B20BC06CB00983FB6 /* password_look@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0B1C74691B00B5EBEA /* password_look@2x.png */; }; + B1D5EF8C20BC06CB00983FB6 /* SVWebViewControllerActivityReport-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED673271A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png */; }; + B1D5EF8D20BC06CB00983FB6 /* PointLikeHead@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2A1CA17A6400EE127C /* PointLikeHead@3x.png */; }; + B1D5EF8E20BC06CB00983FB6 /* btn_file_reDo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E07D30C1A4A9F45009EDDF2 /* btn_file_reDo@2x.png */; }; + B1D5EF8F20BC06CB00983FB6 /* vip_4_30@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AC1EE100B200B01371 /* vip_4_30@2x.png */; }; + B1D5EF9020BC06CB00983FB6 /* mrpr_icon_fileChange@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8714C1EADF3AC003DACF0 /* mrpr_icon_fileChange@3x.png */; }; + B1D5EF9120BC06CB00983FB6 /* project_item_reading@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B131E20F2074D2ED00D84FAA /* project_item_reading@3x.png */; }; + B1D5EF9220BC06CB00983FB6 /* icon_code_executable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0491E542B2D008AA957 /* icon_code_executable@2x.png */; }; + B1D5EF9320BC06CB00983FB6 /* user_info_company@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871491EADF217003DACF0 /* user_info_company@3x.png */; }; + B1D5EF9420BC06CB00983FB6 /* upgrade_success@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64231FF33DFF00ACFDCC /* upgrade_success@2x.png */; }; + B1D5EF9520BC06CB00983FB6 /* pop_Tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447BE1C02DB5400DC1C4B /* pop_Tweet@2x.png */; }; + B1D5EF9620BC06CB00983FB6 /* taskPriority1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839D1B3262D300D98648 /* taskPriority1@2x.png */; }; + B1D5EF9720BC06CB00983FB6 /* search_icon_pr@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9481E02911E00DE1BC6 /* search_icon_pr@2x.png */; }; + B1D5EF9820BC06CB00983FB6 /* logo_about@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF7419E240C40076D59C /* logo_about@2x.png */; }; + B1D5EF9920BC06CB00983FB6 /* button_file_upload_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE251A28226000DA1B3E /* button_file_upload_enable@2x.png */; }; + B1D5EF9A20BC06CB00983FB6 /* share_btn_qq@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3CA1B96CDF800A5A0A8 /* share_btn_qq@2x.png */; }; + B1D5EF9B20BC06CB00983FB6 /* PR_review@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2B1CA17A6400EE127C /* PR_review@2x.png */; }; + B1D5EF9C20BC06CB00983FB6 /* pop_Message@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447BB1C02DB5400DC1C4B /* pop_Message@2x.png */; }; + B1D5EF9D20BC06CB00983FB6 /* terminal_box_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */; }; + B1D5EF9E20BC06CB00983FB6 /* git_icon_watch@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6AC31BF84AE5009D37F8 /* git_icon_watch@2x.png */; }; + B1D5EF9F20BC06CB00983FB6 /* icon_file_pdf_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8721FCD006B0098B87B /* icon_file_pdf_big@2x.png */; }; + B1D5EFA120BC06CB00983FB6 /* placeholder_coding_square_80@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8D19E240C40076D59C /* placeholder_coding_square_80@2x.png */; }; + B1D5EFA220BC06CB00983FB6 /* mrpr_icon_status_cannotmerge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01D1E540551008AA957 /* mrpr_icon_status_cannotmerge@2x.png */; }; + B1D5EFA420BC06CB00983FB6 /* loading_loop@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8ED2AAF819F60D5200607A1D /* loading_loop@2x.png */; }; + B1D5EFA520BC06CB00983FB6 /* code_release_resource_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31C20731FF10077C956 /* code_release_resource_Task@3x.png */; }; + B1D5EFA620BC06CB00983FB6 /* PR_refuse@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D201CA17A6400EE127C /* PR_refuse@2x.png */; }; + B1D5EFA720BC06CB00983FB6 /* icon_topic_hotTop@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B35164B1B6CE9460049BC45 /* icon_topic_hotTop@2x.png */; }; + B1D5EFA820BC06CB00983FB6 /* wiki_revert@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C222015D82600F52ABA /* wiki_revert@3x.png */; }; + B1D5EFA920BC06CB00983FB6 /* share_btn_qzone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3CB1B96CDF800A5A0A8 /* share_btn_qzone@2x.png */; }; + B1D5EFAA20BC06CB00983FB6 /* project_tag_btn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EE1A23B1B5F3834004284F1 /* project_tag_btn@2x.png */; }; + B1D5EFAB20BC06CB00983FB6 /* tipIcon_BranchMember@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5C06E71AC2B34800F427C5 /* tipIcon_BranchMember@2x.png */; }; + B1D5EFAC20BC06CB00983FB6 /* messageRight_bg_highlight_img@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E774C241B870DC70026E5AB /* messageRight_bg_highlight_img@2x.png */; }; + B1D5EFAD20BC06CB00983FB6 /* tipIcon_PullRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB519E240C40076D59C /* tipIcon_PullRequestBean@2x.png */; }; + B1D5EFAE20BC06CB00983FB6 /* btn_privateMsg_friend@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2619EF6306006BA8BD /* btn_privateMsg_friend@2x.png */; }; + B1D5EFAF20BC06CB00983FB6 /* btn_file_cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E07D30B1A4A9F45009EDDF2 /* btn_file_cancel@2x.png */; }; + B1D5EFB020BC06CB00983FB6 /* task_activity_icon_restore@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719A1EB2D9E6003DACF0 /* task_activity_icon_restore@3x.png */; }; + B1D5EFB120BC06CB00983FB6 /* user_info_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4781D82646000EED8C6 /* user_info_file@3x.png */; }; + B1D5EFB220BC06CB00983FB6 /* shop_coding_coin_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF461BFF6DAD00AAE593 /* shop_coding_coin_icon@2x.png */; }; + B1D5EFB320BC06CB00983FB6 /* shortcut_task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E92A1DFFF06E00DE1BC6 /* shortcut_task@3x.png */; }; + B1D5EFB520BC06CB00983FB6 /* taskPriority1_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715D1EB182C7003DACF0 /* taskPriority1_small@3x.png */; }; + B1D5EFB620BC06CB00983FB6 /* tasks_all@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8718C1EB1E608003DACF0 /* tasks_all@3x.png */; }; + B1D5EFB720BC06CB00983FB6 /* coding_emoji_09@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE7C1A0C7E26006F9AD7 /* coding_emoji_09@2x.png */; }; + B1D5EFB820BC06CB00983FB6 /* map_annotation@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0A06C2521AB9E57900AB3B03 /* map_annotation@2x.png */; }; + B1D5EFB920BC06CB00983FB6 /* code_release_resource_MergeRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3272073212E0077C956 /* code_release_resource_MergeRequestBean@2x.png */; }; + B1D5EFBA20BC06CB00983FB6 /* task_resource_reference_ProjectTopic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F581C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@2x.png */; }; + B1D5EFBB20BC06CB00983FB6 /* task_activity_icon_update@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383F71B33C18700D98648 /* task_activity_icon_update@2x.png */; }; + B1D5EFBC20BC06CB00983FB6 /* button_file_activity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAB202D7D4F0075A669 /* button_file_activity@3x.png */; }; + B1D5EFBD20BC06CB00983FB6 /* coding_emoji_41@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497D1A918A7F00BD27F6 /* coding_emoji_41@2x.png */; }; + B1D5EFBE20BC06CB00983FB6 /* project_item_task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871321EADF155003DACF0 /* project_item_task@3x.png */; }; + B1D5EFBF20BC06CB00983FB6 /* icon_code_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0801E55AC6E008AA957 /* icon_code_image@2x.png */; }; + B1D5EFC020BC06CB00983FB6 /* icon_file_xls_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB88A1FCD0A6D0098B87B /* icon_file_xls_big@2x.png */; }; + B1D5EFC120BC06CB00983FB6 /* user_info_topic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4821D82646000EED8C6 /* user_info_topic@3x.png */; }; + B1D5EFC220BC06CB00983FB6 /* task_activity_icon_remove_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED618201C3BD79B0017946C /* task_activity_icon_remove_watcher@2x.png */; }; + B1D5EFC320BC06CB00983FB6 /* project_item_reading@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B131E2102074D2EE00D84FAA /* project_item_reading@2x.png */; }; + B1D5EFC420BC06CB00983FB6 /* shop_nar_history_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF4A1BFF6DAD00AAE593 /* shop_nar_history_icon@2x.png */; }; + B1D5EFC520BC06CB00983FB6 /* taskPriority3_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383A21B3262D300D98648 /* taskPriority3_small@2x.png */; }; + B1D5EFC620BC06CB00983FB6 /* coding_emoji_18@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE851A0C7E26006F9AD7 /* coding_emoji_18@2x.png */; }; + B1D5EFC720BC06CB00983FB6 /* user_info_about@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4761D82646000EED8C6 /* user_info_about@3x.png */; }; + B1D5EFC820BC06CB00983FB6 /* WeiboSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B12B63F51FE8A77200ACFDCC /* WeiboSDK.bundle */; }; + B1D5EFC920BC06CB00983FB6 /* EAPayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB88E1FCE61D60098B87B /* EAPayViewController.xib */; }; + B1D5EFCA20BC06CB00983FB6 /* calendar_0xA1CF64@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871761EB18599003DACF0 /* calendar_0xA1CF64@3x.png */; }; + B1D5EFCB20BC06CB00983FB6 /* user_info_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4771D82646000EED8C6 /* user_info_file@2x.png */; }; + B1D5EFCC20BC06CB00983FB6 /* ShopSwitchCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF11F710EF900C598F3 /* ShopSwitchCell.xib */; }; + B1D5EFCD20BC06CB00983FB6 /* cell_arrow_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8714E1EADF48B003DACF0 /* cell_arrow_left@2x.png */; }; + B1D5EFCE20BC06CB00983FB6 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = B12B64571FFB61AD00ACFDCC /* LICENSE */; }; + B1D5EFCF20BC06CB00983FB6 /* member_type_90@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2F6A6B1C43CA4B00A25502 /* member_type_90@3x.png */; }; + B1D5EFD120BC06CB00983FB6 /* location_checkmark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0A6E6BB81AB168B0004C0107 /* location_checkmark@2x.png */; }; + B1D5EFD220BC06CB00983FB6 /* icon_code_tree@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04B1E542B2D008AA957 /* icon_code_tree@2x.png */; }; + B1D5EFD320BC06CB00983FB6 /* nav_project_task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF7F19E240C40076D59C /* nav_project_task@2x.png */; }; + B1D5EFD420BC06CB00983FB6 /* calendar_0xF68435@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8717B1EB18599003DACF0 /* calendar_0xF68435@2x.png */; }; + B1D5EFD520BC06CB00983FB6 /* share_btn_evernote@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3C91B96CDF800A5A0A8 /* share_btn_evernote@2x.png */; }; + B1D5EFD620BC06CB00983FB6 /* project_item_branch@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF32069186C00E9BAD1 /* project_item_branch@2x.png */; }; + B1D5EFD720BC06CB00983FB6 /* PR_push@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D191CA17A6400EE127C /* PR_push@2x.png */; }; + B1D5EFD820BC06CB00983FB6 /* vip_4_45@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689B11EE100B200B01371 /* vip_4_45@3x.png */; }; + B1D5EFD920BC06CB00983FB6 /* tipIcon_ProjectTopicCommentVote@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E54C24D1D90E05400A61023 /* tipIcon_ProjectTopicCommentVote@2x.png */; }; + B1D5EFDB20BC06CB00983FB6 /* icon_file_share_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D991B1DCAE69600BAE585 /* icon_file_share_logo@3x.png */; }; + B1D5EFDC20BC06CB00983FB6 /* calendar_0xF68435@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8717C1EB18599003DACF0 /* calendar_0xF68435@3x.png */; }; + B1D5EFDD20BC06CB00983FB6 /* file_activity_icon_create@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BC1B7B51AF00179F4B /* file_activity_icon_create@2x.png */; }; + B1D5EFDE20BC06CB00983FB6 /* tasks_all@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFA819E240C40076D59C /* tasks_all@2x.png */; }; + B1D5EFDF20BC06CB00983FB6 /* EACodeReleaseTopCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1817F0220691B2700E9BAD1 /* EACodeReleaseTopCell.xib */; }; + B1D5EFE020BC06CB00983FB6 /* merge-request coding@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D241CA17A6400EE127C /* merge-request coding@2x.png */; }; + B1D5EFE120BC06CB00983FB6 /* file_changeType_ADD@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CE9200EFDC600DEDF78 /* file_changeType_ADD@3x.png */; }; + B1D5EFE220BC06CB00983FB6 /* calendar_0xA9B3BE@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871781EB18599003DACF0 /* calendar_0xA9B3BE@3x.png */; }; + B1D5EFE320BC06CB00983FB6 /* messageLeft_bg_highlight_img@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E774C231B870DC70026E5AB /* messageLeft_bg_highlight_img@2x.png */; }; + B1D5EFE420BC06CB00983FB6 /* PR_update@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 134116F71CB55E69005E6550 /* PR_update@3x.png */; }; + B1D5EFE520BC06CB00983FB6 /* nav_project_topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8019E240C40076D59C /* nav_project_topic@2x.png */; }; + B1D5EFE620BC06CB00983FB6 /* share_btn_wxtimeline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3CE1B96CDF800A5A0A8 /* share_btn_wxtimeline@2x.png */; }; + B1D5EFE720BC06CB00983FB6 /* icon_file_zip@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D71A1B537E0037C098 /* icon_file_zip@2x.png */; }; + B1D5EFE820BC06CB00983FB6 /* me_normal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D21C02DB8900DC1C4B /* me_normal@3x.png */; }; + B1D5EFE920BC06CB00983FB6 /* pop_Project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447BC1C02DB5400DC1C4B /* pop_Project@2x.png */; }; + B1D5EFEB20BC06CB00983FB6 /* logo_coding_top@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EFE8DAE1B3960E6004B7559 /* logo_coding_top@2x.png */; }; + B1D5EFEC20BC06CB00983FB6 /* tipIcon_ProjectTweetComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972DE1BB535B400F3AC15 /* tipIcon_ProjectTweetComment@2x.png */; }; + B1D5EFED20BC06CB00983FB6 /* button_file_createFolder_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE211A28226000DA1B3E /* button_file_createFolder_enable@2x.png */; }; + B1D5EFEE20BC06CB00983FB6 /* wiki_menu_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C202015D82600F52ABA /* wiki_menu_2@2x.png */; }; + B1D5EFEF20BC06CB00983FB6 /* skill_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64161FF0E4CA00ACFDCC /* skill_delete@2x.png */; }; + B1D5EFF020BC06CB00983FB6 /* calendar_0xF56061@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871791EB18599003DACF0 /* calendar_0xF56061@2x.png */; }; + B1D5EFF120BC06CB00983FB6 /* project_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C4479E1C02A3C700DC1C4B /* project_selected@2x.png */; }; + B1D5EFF220BC06CB00983FB6 /* tipIcon_QcTask@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB719E240C40076D59C /* tipIcon_QcTask@2x.png */; }; + B1D5EFF320BC06CB00983FB6 /* time_clock_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A811B6B24DE008DC439 /* time_clock_icon@2x.png */; }; + B1D5EFF420BC06CB00983FB6 /* tag_button_randomColor@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F1B1C76BA3B00B5EBEA /* tag_button_randomColor@2x.png */; }; + B1D5EFF520BC06CB00983FB6 /* blankpage_image_Notice@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C91E69401B0095F1CD /* blankpage_image_Notice@3x.png */; }; + B1D5EFF620BC06CB00983FB6 /* project_item_mr_pr@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871301EADF155003DACF0 /* project_item_mr_pr@3x.png */; }; + B1D5EFF720BC06CB00983FB6 /* button_tip_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64251FF33E0000ACFDCC /* button_tip_close@2x.png */; }; + B1D5EFF820BC06CB00983FB6 /* task_activity_icon_reassign@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383F51B33C18700D98648 /* task_activity_icon_reassign@2x.png */; }; + B1D5EFF920BC06CB00983FB6 /* task_resource_reference_ProjectFile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F561C7C5C4F00B5EBEA /* task_resource_reference_ProjectFile@2x.png */; }; + B1D5EFFA20BC06CB00983FB6 /* messageAT@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B11B32640900D98648 /* messageAT@2x.png */; }; + B1D5EFFB20BC06CB00983FB6 /* tweet_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447A21C02A3C700DC1C4B /* tweet_selected@2x.png */; }; + B1D5EFFC20BC06CB00983FB6 /* icon_file_code@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7CD1A1B537E0037C098 /* icon_file_code@2x.png */; }; + B1D5EFFE20BC06CB00983FB6 /* back_T_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871211EADF0FF003DACF0 /* back_T_Nav@3x.png */; }; + B1D5EFFF20BC06CB00983FB6 /* me_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C4479A1C02A3C700DC1C4B /* me_selected@2x.png */; }; + B1D5F00020BC06CB00983FB6 /* tipIcon_PullRequestComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB619E240C40076D59C /* tipIcon_PullRequestComment@2x.png */; }; + B1D5F00120BC06CB00983FB6 /* tipIcon_Depot@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972E31BB543A900F3AC15 /* tipIcon_Depot@2x.png */; }; + B1D5F00220BC06CB00983FB6 /* cell_checkmark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EF6433B19FE696B00F7EEB0 /* cell_checkmark@2x.png */; }; + B1D5F00320BC06CB00983FB6 /* PR_add_label@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFC200EFEA400DEDF78 /* PR_add_label@2x.png */; }; + B1D5F00520BC06CB00983FB6 /* logo_coding@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B10341282024633900853447 /* logo_coding@3x.png */; }; + B1D5F00620BC06CB00983FB6 /* PR_del_reviewer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFD200EFEA400DEDF78 /* PR_del_reviewer@2x.png */; }; + B1D5F00720BC06CB00983FB6 /* task_activity_icon_reassign@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871981EB2D9E6003DACF0 /* task_activity_icon_reassign@3x.png */; }; + B1D5F00820BC06CB00983FB6 /* placeholder_coding_square_150@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8B19E240C40076D59C /* placeholder_coding_square_150@2x.png */; }; + B1D5F00920BC06CB00983FB6 /* member_cell_edit_remove@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBBE1C44CB860096CA74 /* member_cell_edit_remove@2x.png */; }; + B1D5F00B20BC06CB00983FB6 /* PR_TaskResource@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 134116F21CB54AF8005E6550 /* PR_TaskResource@2x.png */; }; + B1D5F00C20BC06CB00983FB6 /* icon_file_share_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D991A1DCAE69600BAE585 /* icon_file_share_logo@2x.png */; }; + B1D5F00D20BC06CB00983FB6 /* blankpage_image_Notice@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C81E69401B0095F1CD /* blankpage_image_Notice@2x.png */; }; + B1D5F00E20BC06CB00983FB6 /* placeholder_monkey_round_25@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8E19E240C40076D59C /* placeholder_monkey_round_25@2x.png */; }; + B1D5F00F20BC06CB00983FB6 /* coding_emoji_gif_05@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3431BA6AEB4002F27C4 /* coding_emoji_gif_05@2x.png */; }; + B1D5F01020BC06CB00983FB6 /* addBtn_Artboard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711D1EADF0FF003DACF0 /* addBtn_Artboard@3x.png */; }; + B1D5F01120BC06CB00983FB6 /* coding_emoji_22@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE891A0C7E26006F9AD7 /* coding_emoji_22@2x.png */; }; + B1D5F01220BC06CB00983FB6 /* tweet_btn_rewarded@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13071C0ECB3400985AEB /* tweet_btn_rewarded@2x.png */; }; + B1D5F01320BC06CB00983FB6 /* button_file_move_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE241A28226000DA1B3E /* button_file_move_enable@2x.png */; }; + B1D5F01420BC06CB00983FB6 /* messageSystem@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871171EADF0B1003DACF0 /* messageSystem@3x.png */; }; + B1D5F01520BC06CB00983FB6 /* button_red_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64211FF33DFF00ACFDCC /* button_red_close@2x.png */; }; + B1D5F01620BC06CB00983FB6 /* blankpage_image_Wiki@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D91E69401B0095F1CD /* blankpage_image_Wiki@3x.png */; }; + B1D5F01720BC06CB00983FB6 /* project_tag_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EE1A23C1B5F3834004284F1 /* project_tag_icon@2x.png */; }; + B1D5F01820BC06CB00983FB6 /* button_terminal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B11DC7BF20245728004E76A9 /* button_terminal@3x.png */; }; + B1D5F01920BC06CB00983FB6 /* wiki_menu_0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C212015D82600F52ABA /* wiki_menu_0@3x.png */; }; + B1D5F01A20BC06CB00983FB6 /* PR_update_title@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 133DAA631CC13A30004D8501 /* PR_update_title@3x.png */; }; + B1D5F01B20BC06CB00983FB6 /* wiki.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C02060E6B1006709C2 /* wiki.html */; }; + B1D5F01C20BC06CB00983FB6 /* task_activity_icon_update@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719F1EB2D9E6003DACF0 /* task_activity_icon_update@3x.png */; }; + B1D5F01D20BC06CB00983FB6 /* timeline_line_read@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFAD19E240C40076D59C /* timeline_line_read@2x.png */; }; + B1D5F01E20BC06CB00983FB6 /* git_icon_fork@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6AC51BF84AF9009D37F8 /* git_icon_fork@2x.png */; }; + B1D5F01F20BC06CB00983FB6 /* tag_button_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F181C76BA3B00B5EBEA /* tag_button_add@3x.png */; }; + B1D5F02020BC06CB00983FB6 /* taskProgress@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871411EADF1C1003DACF0 /* taskProgress@3x.png */; }; + B1D5F02120BC06CB00983FB6 /* taskboard_blankpage@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED81209453E8004A6E8A /* taskboard_blankpage@3x.png */; }; + B1D5F02320BC06CB00983FB6 /* blankpage_image_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CE1E69401B0095F1CD /* blankpage_image_Task@2x.png */; }; + B1D5F02420BC06CB00983FB6 /* task_activity_icon_update_label@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719D1EB2D9E6003DACF0 /* task_activity_icon_update_label@3x.png */; }; + B1D5F02520BC06CB00983FB6 /* search_icon_mr@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9451E02911E00DE1BC6 /* search_icon_mr@3x.png */; }; + B1D5F02620BC06CB00983FB6 /* blankpage_image_Tweet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D71E69401B0095F1CD /* blankpage_image_Tweet@3x.png */; }; + B1D5F02720BC06CB00983FB6 /* user_info_company@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871481EADF217003DACF0 /* user_info_company@2x.png */; }; + B1D5F02820BC06CB00983FB6 /* scan_line@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E94C4EE1B4B73BB00EB668A /* scan_line@2x.png */; }; + B1D5F02920BC06CB00983FB6 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = B12B64581FFB61AD00ACFDCC /* README.md */; }; + B1D5F02A20BC06CB00983FB6 /* icon_file_unknown@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D11A1B537E0037C098 /* icon_file_unknown@2x.png */; }; + B1D5F02B20BC06CB00983FB6 /* search_icon_tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E93E1E02911E00DE1BC6 /* search_icon_tweet@2x.png */; }; + B1D5F02C20BC06CB00983FB6 /* tip_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ECEFA001D1D0B4B002A27D3 /* tip_bg@2x.png */; }; + B1D5F02D20BC06CB00983FB6 /* SVWebViewControllerActivityChrome-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E217F001A70EDC700F6DF88 /* SVWebViewControllerActivityChrome-iPad@2x.png */; }; + B1D5F02E20BC06CB00983FB6 /* PR_grant@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D341CA17A6400EE127C /* PR_grant@2x.png */; }; + B1D5F02F20BC06CB00983FB6 /* settingBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871221EADF0FF003DACF0 /* settingBtn_Nav@2x.png */; }; + B1D5F03020BC06CB00983FB6 /* user_info_topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4811D82646000EED8C6 /* user_info_topic@2x.png */; }; + B1D5F03120BC06CB00983FB6 /* project_item_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383EB1B32A2C300D98648 /* project_item_file@2x.png */; }; + B1D5F03220BC06CB00983FB6 /* icon_arrow_searchHistory@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B35164A1B6CE9460049BC45 /* icon_arrow_searchHistory@2x.png */; }; + B1D5F03320BC06CB00983FB6 /* icon_file_movie_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8751FCD006B0098B87B /* icon_file_movie_big@2x.png */; }; + B1D5F03420BC06CB00983FB6 /* icon_file_md_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8761FCD006B0098B87B /* icon_file_md_big@2x.png */; }; + B1D5F03520BC06CB00983FB6 /* nav_project_member@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF7E19E240C40076D59C /* nav_project_member@2x.png */; }; + B1D5F03620BC06CB00983FB6 /* blankpage_image_MessageList@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C61E69401B0095F1CD /* blankpage_image_MessageList@2x.png */; }; + B1D5F03720BC06CB00983FB6 /* password_unlook@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0E1C74691B00B5EBEA /* password_unlook@3x.png */; }; + B1D5F03820BC06CB00983FB6 /* timeline_icon_unread@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16EEF07208DDBB6005ABFD5 /* timeline_icon_unread@3x.png */; }; + B1D5F03920BC06CB00983FB6 /* task_activity_icon_add_milestone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C120B2B24E009427FC /* task_activity_icon_add_milestone@3x.png */; }; + B1D5F03A20BC06CB00983FB6 /* pop_Message@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447C71C02DB6700DC1C4B /* pop_Message@3x.png */; }; + B1D5F03B20BC06CB00983FB6 /* EABoardTaskListBlankView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B152ED6420935594004A6E8A /* EABoardTaskListBlankView.xib */; }; + B1D5F03C20BC06CB00983FB6 /* comment_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63840A1B33F9B400D98648 /* comment_bg@2x.png */; }; + B1D5F03D20BC06CB00983FB6 /* button_scan@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F2C1C77138A00B5EBEA /* button_scan@2x.png */; }; + B1D5F03E20BC06CB00983FB6 /* terminal_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */; }; + B1D5F03F20BC06CB00983FB6 /* tweetsBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E59D3291D3E106D008C914B /* tweetsBtn_Nav@2x.png */; }; + B1D5F04020BC06CB00983FB6 /* coding_emoji_12@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE7F1A0C7E26006F9AD7 /* coding_emoji_12@2x.png */; }; + B1D5F04120BC06CB00983FB6 /* terminal_box_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */; }; + B1D5F04420BC06CB00983FB6 /* terminal_tail@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C93202953E40075A669 /* terminal_tail@3x.png */; }; + B1D5F04520BC06CB00983FB6 /* task_normal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D81C02DB8900DC1C4B /* task_normal@3x.png */; }; + B1D5F04620BC06CB00983FB6 /* vip_3_75@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AA1EE100B200B01371 /* vip_3_75@2x.png */; }; + B1D5F04720BC06CB00983FB6 /* mock_hotTopiclist.geojson in Resources */ = {isa = PBXBuildFile; fileRef = 4E0BD87C1B6C7F0A0061CAA6 /* mock_hotTopiclist.geojson */; }; + B1D5F04820BC06CB00983FB6 /* icon_project_cell_pin@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EE548271AE9166B00A92306 /* icon_project_cell_pin@2x.png */; }; + B1D5F04920BC06CB00983FB6 /* pop_2FA@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447BA1C02DB5400DC1C4B /* pop_2FA@2x.png */; }; + B1D5F04A20BC06CB00983FB6 /* PR_add_reviewer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF7200EFEA400DEDF78 /* PR_add_reviewer@3x.png */; }; + B1D5F04B20BC06CB00983FB6 /* nav_project_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EBD0C651A1F2011004B4284 /* nav_project_file@2x.png */; }; + B1D5F04C20BC06CB00983FB6 /* user_info_shop@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF51F7210C300C598F3 /* user_info_shop@3x.png */; }; + B1D5F04D20BC06CB00983FB6 /* pop_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447BD1C02DB5400DC1C4B /* pop_Task@2x.png */; }; + B1D5F04E20BC06CB00983FB6 /* section_btn_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9619E240C40076D59C /* section_btn_close@2x.png */; }; + B1D5F04F20BC06CB00983FB6 /* country_code.plist in Resources */ = {isa = PBXBuildFile; fileRef = 4EBD7FB01CE482A400B3AF49 /* country_code.plist */; }; + B1D5F05020BC06CB00983FB6 /* file_menu_icon_info@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2371B84356500017916 /* file_menu_icon_info@2x.png */; }; + B1D5F05120BC06CB00983FB6 /* coding_emoji_07@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE7A1A0C7E26006F9AD7 /* coding_emoji_07@2x.png */; }; + B1D5F05220BC06CB00983FB6 /* project_item_taskboard@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7B20945377004A6E8A /* project_item_taskboard@3x.png */; }; + B1D5F05320BC06CB00983FB6 /* merge-request coding@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D251CA17A6400EE127C /* merge-request coding@3x.png */; }; + B1D5F05520BC06CB00983FB6 /* blankpage_image_Team@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D11E69401B0095F1CD /* blankpage_image_Team@3x.png */; }; + B1D5F05620BC06CB00983FB6 /* mrpr_icon_status_canmerge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01B1E540551008AA957 /* mrpr_icon_status_canmerge@2x.png */; }; + B1D5F05720BC06CB00983FB6 /* blankpage_image_MessageList@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C71E69401B0095F1CD /* blankpage_image_MessageList@3x.png */; }; + B1D5F05820BC06CB00983FB6 /* taskPriority1_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839E1B3262D300D98648 /* taskPriority1_small@2x.png */; }; + B1D5F05920BC06CB00983FB6 /* me_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D31C02DB8900DC1C4B /* me_selected@3x.png */; }; + B1D5F05A20BC06CB00983FB6 /* timeBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447F21C02DCA200DC1C4B /* timeBtn_Nav@2x.png */; }; + B1D5F05B20BC06CB00983FB6 /* bubble_right_play_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E8E597C1B6F91C40083CA02 /* bubble_right_play_0@2x.png */; }; + B1D5F05C20BC06CB00983FB6 /* ShopMutileValueCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4ED6181C1C3A72CF0017946C /* ShopMutileValueCell.xib */; }; + B1D5F05D20BC06CB00983FB6 /* task_activity_icon_update_priority@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8719E1EB2D9E6003DACF0 /* task_activity_icon_update_priority@3x.png */; }; + B1D5F05E20BC06CB00983FB6 /* icon_file_movie@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7CF1A1B537E0037C098 /* icon_file_movie@2x.png */; }; + B1D5F05F20BC06CB00983FB6 /* file_menu_icon_open@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2381B84356500017916 /* file_menu_icon_open@2x.png */; }; + B1D5F06020BC06CB00983FB6 /* addBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447EA1C02DCA200DC1C4B /* addBtn_Nav@2x.png */; }; + B1D5F06120BC06CB00983FB6 /* messageAT@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871141EADF0B1003DACF0 /* messageAT@3x.png */; }; + B1D5F06220BC06CB00983FB6 /* search_icon_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9431E02911E00DE1BC6 /* search_icon_file@3x.png */; }; + B1D5F06420BC06CB00983FB6 /* PR_review@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2C1CA17A6400EE127C /* PR_review@3x.png */; }; + B1D5F06520BC06CB00983FB6 /* keyboard_emotion_monkey_gif@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB33E1BA6A2FE002F27C4 /* keyboard_emotion_monkey_gif@2x.png */; }; + B1D5F06620BC06CB00983FB6 /* coding_emoji_29@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE901A0C7E26006F9AD7 /* coding_emoji_29@2x.png */; }; + B1D5F06720BC06CB00983FB6 /* file_activity_icon_move_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BD1B7B51AF00179F4B /* file_activity_icon_move_file@2x.png */; }; + B1D5F06820BC06CB00983FB6 /* addBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447FE1C02DCAC00DC1C4B /* addBtn_Nav@3x.png */; }; + B1D5F06920BC06CB00983FB6 /* vip_3_75@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AB1EE100B200B01371 /* vip_3_75@3x.png */; }; + B1D5F06A20BC06CB00983FB6 /* info_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448021C02DCAC00DC1C4B /* info_Nav@3x.png */; }; + B1D5F06B20BC06CB00983FB6 /* terminal_more@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C95202953E40075A669 /* terminal_more@2x.png */; }; + B1D5F06C20BC06CB00983FB6 /* task_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D91C02DB8900DC1C4B /* task_selected@3x.png */; }; + B1D5F06D20BC06CB00983FB6 /* blankpage_image_Project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CB1E69401B0095F1CD /* blankpage_image_Project@3x.png */; }; + B1D5F06E20BC06CB00983FB6 /* keyboard_emotion@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE5A1A0A3424006F9AD7 /* keyboard_emotion@2x.png */; }; + B1D5F06F20BC06CB00983FB6 /* button_file_history@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06A61B7B1AE100179F4B /* button_file_history@2x.png */; }; + B1D5F07020BC06CB00983FB6 /* wechat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8971FCE93830098B87B /* wechat@2x.png */; }; + B1D5F07120BC06CB00983FB6 /* coding_emoji_43@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497F1A918A7F00BD27F6 /* coding_emoji_43@2x.png */; }; + B1D5F07220BC06CB00983FB6 /* tweet_btn_liked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13041C0ECB3400985AEB /* tweet_btn_liked@3x.png */; }; + B1D5F07320BC06CB00983FB6 /* icon_file_music@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D01A1B537E0037C098 /* icon_file_music@2x.png */; }; + B1D5F07420BC06CB00983FB6 /* tipIcon_UserFollow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFBC19E240C40076D59C /* tipIcon_UserFollow@2x.png */; }; + B1D5F07520BC06CB00983FB6 /* icon_code_git_link@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0501E542B2D008AA957 /* icon_code_git_link@3x.png */; }; + B1D5F07620BC06CB00983FB6 /* file_changeType_RENAME@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CE8200EFDC600DEDF78 /* file_changeType_RENAME@3x.png */; }; + B1D5F07720BC06CB00983FB6 /* member_type_100@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2F6A671C43CA4B00A25502 /* member_type_100@3x.png */; }; + B1D5F07820BC06CB00983FB6 /* code_release_resource__Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31A20731FF10077C956 /* code_release_resource__Default@2x.png */; }; + B1D5F07920BC06CB00983FB6 /* button_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13161C0EF48200985AEB /* button_close@2x.png */; }; + B1D5F07A20BC06CB00983FB6 /* PR_TaskResource@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 134116F31CB54AF8005E6550 /* PR_TaskResource@3x.png */; }; + B1D5F07C20BC06CB00983FB6 /* tipIcon_Project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB219E240C40076D59C /* tipIcon_Project@2x.png */; }; + B1D5F07D20BC06CB00983FB6 /* icon_code_tree@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04C1E542B2D008AA957 /* icon_code_tree@3x.png */; }; + B1D5F07E20BC06CB00983FB6 /* pop_Task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447C91C02DB6700DC1C4B /* pop_Task@3x.png */; }; + B1D5F07F20BC06CB00983FB6 /* tag_button_editColor@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F191C76BA3B00B5EBEA /* tag_button_editColor@2x.png */; }; + B1D5F08020BC06CB00983FB6 /* icon_best_answer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6CBE531D8EA9D100644086 /* icon_best_answer@3x.png */; }; + B1D5F08220BC06CB00983FB6 /* tip_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ECEFA011D1D0B4B002A27D3 /* tip_bg@3x.png */; }; + B1D5F08320BC06CB00983FB6 /* addUserBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447FF1C02DCAC00DC1C4B /* addUserBtn_Nav@3x.png */; }; + B1D5F08420BC06CB00983FB6 /* taskOwner@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8713F1EADF1C1003DACF0 /* taskOwner@3x.png */; }; + B1D5F08520BC06CB00983FB6 /* addUserBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447EB1C02DCA200DC1C4B /* addUserBtn_Nav@2x.png */; }; + B1D5F08620BC06CB00983FB6 /* mrpr_icon_status_accepted@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD01A1E540551008AA957 /* mrpr_icon_status_accepted@3x.png */; }; + B1D5F08720BC06CB00983FB6 /* tweet_btn_reward@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13061C0ECB3400985AEB /* tweet_btn_reward@3x.png */; }; + B1D5F08820BC06CB00983FB6 /* member_cell_edit_remove@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBBF1C44CB860096CA74 /* member_cell_edit_remove@3x.png */; }; + B1D5F08A20BC06CB00983FB6 /* shortcut_tweet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E92C1DFFF06E00DE1BC6 /* shortcut_tweet@3x.png */; }; + B1D5F08B20BC06CB00983FB6 /* coding_emoji_34@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE951A0C7E26006F9AD7 /* coding_emoji_34@2x.png */; }; + B1D5F08C20BC06CB00983FB6 /* task_description_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8716D1EB1832B003DACF0 /* task_description_icon@3x.png */; }; + B1D5F08E20BC06CB00983FB6 /* me_info_arrow_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06911B7880BA00179F4B /* me_info_arrow_left@2x.png */; }; + B1D5F08F20BC06CB00983FB6 /* keyboard_photo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5F39061ACBFDCD0010515D /* keyboard_photo@2x.png */; }; + B1D5F09020BC06CB00983FB6 /* wechat@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8981FCE93830098B87B /* wechat@3x.png */; }; + B1D5F09220BC06CB00983FB6 /* text_clear_btn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E76D4DD1A5A7B4A0094A35E /* text_clear_btn@2x.png */; }; + B1D5F09320BC06CB00983FB6 /* task_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C4479F1C02A3C700DC1C4B /* task_normal@2x.png */; }; + B1D5F09420BC06CB00983FB6 /* icon_file_xls@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D61A1B537E0037C098 /* icon_file_xls@2x.png */; }; + B1D5F09520BC06CB00983FB6 /* coding_emoji_gif_04@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3421BA6AEB4002F27C4 /* coding_emoji_gif_04@2x.png */; }; + B1D5F09620BC06CB00983FB6 /* messageProjectFans@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6CBE561D8FBDF500644086 /* messageProjectFans@2x.png */; }; + B1D5F09720BC06CB00983FB6 /* shop_nar_history_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF4B1BFF6DAD00AAE593 /* shop_nar_history_icon@3x.png */; }; + B1D5F09820BC06CB00983FB6 /* file_changeType_MODIFY@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC461B11B39360F00D08970 /* file_changeType_MODIFY@2x.png */; }; + B1D5F09920BC06CB00983FB6 /* project_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C4479D1C02A3C700DC1C4B /* project_normal@2x.png */; }; + B1D5F09A20BC06CB00983FB6 /* reward_tip_logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9361E01218300DE1BC6 /* reward_tip_logo@2x.png */; }; + B1D5F09B20BC06CB00983FB6 /* taskProject@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871421EADF1C1003DACF0 /* taskProject@3x.png */; }; + B1D5F09C20BC06CB00983FB6 /* user_info_point@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B47C1D82646000EED8C6 /* user_info_point@3x.png */; }; + B1D5F09D20BC06CB00983FB6 /* icon_file_folder_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EA679171A14BFA0001A0324 /* icon_file_folder_default@2x.png */; }; + B1D5F09E20BC06CB00983FB6 /* icon_code_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04E1E542B2D008AA957 /* icon_code_file@3x.png */; }; + B1D5F09F20BC06CB00983FB6 /* project_item_readme@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383CE1B32665700D98648 /* project_item_readme@2x.png */; }; + B1D5F0A020BC06CB00983FB6 /* EACodeBranchListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1817EEE2068C7A100E9BAD1 /* EACodeBranchListCell.xib */; }; + B1D5F0A120BC06CB00983FB6 /* code_release_resource_Default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31920731FF10077C956 /* code_release_resource_Default@3x.png */; }; + B1D5F0A220BC06CB00983FB6 /* info_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447EE1C02DCA200DC1C4B /* info_Nav@2x.png */; }; + B1D5F0A420BC06CB00983FB6 /* file_activity_icon_update_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B01EB2D9F0003DACF0 /* file_activity_icon_update_file@3x.png */; }; + B1D5F0A520BC06CB00983FB6 /* bubble.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C12060E6B1006709C2 /* bubble.html */; }; + B1D5F0A620BC06CB00983FB6 /* coding_emoji_gif_06@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3441BA6AEB4002F27C4 /* coding_emoji_gif_06@2x.png */; }; + B1D5F0A820BC06CB00983FB6 /* project_item_member@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383CC1B32665700D98648 /* project_item_member@2x.png */; }; + B1D5F0A920BC06CB00983FB6 /* tipIcon_Tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB919E240C40076D59C /* tipIcon_Tweet@2x.png */; }; + B1D5F0AA20BC06CB00983FB6 /* coding_emoji_04@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE771A0C7E26006F9AD7 /* coding_emoji_04@2x.png */; }; + B1D5F0AB20BC06CB00983FB6 /* nav_tweet_hot@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8319E240C40076D59C /* nav_tweet_hot@2x.png */; }; + B1D5F0AC20BC06CB00983FB6 /* project_item_topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383D01B32665700D98648 /* project_item_topic@2x.png */; }; + B1D5F0AD20BC06CB00983FB6 /* wiki_menu_1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C242015D82600F52ABA /* wiki_menu_1@2x.png */; }; + B1D5F0AE20BC06CB00983FB6 /* file_activity_icon_move_file@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871AF1EB2D9F0003DACF0 /* file_activity_icon_move_file@3x.png */; }; + B1D5F0AF20BC06CB00983FB6 /* icon_file_md@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7CE1A1B537E0037C098 /* icon_file_md@2x.png */; }; + B1D5F0B020BC06CB00983FB6 /* tweet_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447A11C02A3C700DC1C4B /* tweet_normal@2x.png */; }; + B1D5F0B120BC06CB00983FB6 /* PR_review_undo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D301CA17A6400EE127C /* PR_review_undo@2x.png */; }; + B1D5F0B220BC06CB00983FB6 /* blankpage_image_Tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D61E69401B0095F1CD /* blankpage_image_Tweet@2x.png */; }; + B1D5F0B320BC06CB00983FB6 /* taskBoardList@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7E209453E6004A6E8A /* taskBoardList@3x.png */; }; + B1D5F0B420BC06CB00983FB6 /* search_tweet_like@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E62410A1B74D65400E1533C /* search_tweet_like@2x.png */; }; + B1D5F0B520BC06CB00983FB6 /* scan_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E94C4EC1B4A867A00EB668A /* scan_bg@2x.png */; }; + B1D5F0B620BC06CB00983FB6 /* task_icon_arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871BD1EB33B37003DACF0 /* task_icon_arrow@3x.png */; }; + B1D5F0B720BC06CB00983FB6 /* n_btn_followed_not@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E996BFB1ABBF56A00C704F1 /* n_btn_followed_not@2x.png */; }; + B1D5F0B820BC06CB00983FB6 /* section_btn_open@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9719E240C40076D59C /* section_btn_open@2x.png */; }; + B1D5F0BA20BC06CB00983FB6 /* task_resource_reference_ProjectTopic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F591C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@3x.png */; }; + B1D5F0BB20BC06CB00983FB6 /* skill_delete@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64171FF0E4CA00ACFDCC /* skill_delete@3x.png */; }; + B1D5F0BD20BC06CB00983FB6 /* button_file_move_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EACB43E1A2C448F0097ABB3 /* button_file_move_unable@2x.png */; }; + B1D5F0BE20BC06CB00983FB6 /* mock_topicAdlist.geojson in Resources */ = {isa = PBXBuildFile; fileRef = 4E0BD87D1B6C7F0A0061CAA6 /* mock_topicAdlist.geojson */; }; + B1D5F0BF20BC06CB00983FB6 /* placeholder_coding_square_55@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8C19E240C40076D59C /* placeholder_coding_square_55@2x.png */; }; + B1D5F0C020BC06CB00983FB6 /* pop_Project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447C81C02DB6700DC1C4B /* pop_Project@3x.png */; }; + B1D5F0C120BC06CB00983FB6 /* task_activity_icon_remove_milestone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C220B2B24F009427FC /* task_activity_icon_remove_milestone@3x.png */; }; + B1D5F0C220BC06CB00983FB6 /* button_file_download_unable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAD202D7D4F0075A669 /* button_file_download_unable@3x.png */; }; + B1D5F0C320BC06CB00983FB6 /* search_icon_task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E94C1E02911E00DE1BC6 /* search_icon_task@2x.png */; }; + B1D5F0C420BC06CB00983FB6 /* code_release_resource_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31B20731FF10077C956 /* code_release_resource_Task@2x.png */; }; + B1D5F0C520BC06CB00983FB6 /* moreBtn_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448031C02DCAC00DC1C4B /* moreBtn_Nav@3x.png */; }; + B1D5F0C620BC06CB00983FB6 /* tweet_comment_btn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B184166820513CA000207666 /* tweet_comment_btn@3x.png */; }; + B1D5F0C720BC06CB00983FB6 /* vip_3_30@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A41EE100B200B01371 /* vip_3_30@2x.png */; }; + B1D5F0C820BC06CB00983FB6 /* PR_del_label@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF5200EFEA400DEDF78 /* PR_del_label@3x.png */; }; + B1D5F0C920BC06CB00983FB6 /* blankpage_image_Team@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D01E69401B0095F1CD /* blankpage_image_Team@2x.png */; }; + B1D5F0CA20BC06CB00983FB6 /* icon_release_tag_blue@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31320731E910077C956 /* icon_release_tag_blue@2x.png */; }; + B1D5F0CB20BC06CB00983FB6 /* btn_privateMsg_stranger@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2719EF6306006BA8BD /* btn_privateMsg_stranger@2x.png */; }; + B1D5F0CC20BC06CB00983FB6 /* project_item_wiki@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871341EADF155003DACF0 /* project_item_wiki@3x.png */; }; + B1D5F0CD20BC06CB00983FB6 /* STARTIMAGE.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4E03AC991A5BDDF9002B000B /* STARTIMAGE.jpg */; }; + B1D5F0CE20BC06CB00983FB6 /* messageComment@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871151EADF0B1003DACF0 /* messageComment@3x.png */; }; + B1D5F0CF20BC06CB00983FB6 /* coding_emoji_02@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE751A0C7E26006F9AD7 /* coding_emoji_02@2x.png */; }; + B1D5F0D020BC06CB00983FB6 /* checkbox_checked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383E71B32791600D98648 /* checkbox_checked@2x.png */; }; + B1D5F0D120BC06CB00983FB6 /* taskboard_blankpage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7F209453E7004A6E8A /* taskboard_blankpage@2x.png */; }; + B1D5F0D220BC06CB00983FB6 /* member_cell_edit_type@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBC11C44CB860096CA74 /* member_cell_edit_type@3x.png */; }; + B1D5F0D320BC06CB00983FB6 /* PR_del_label@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFA200EFEA400DEDF78 /* PR_del_label@2x.png */; }; + B1D5F0D420BC06CB00983FB6 /* SVWebViewController.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4E217F1C1A71007800F6DF88 /* SVWebViewController.strings */; }; + B1D5F0D520BC06CB00983FB6 /* blankpage_image_Topic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D51E69401B0095F1CD /* blankpage_image_Topic@3x.png */; }; + B1D5F0D720BC06CB00983FB6 /* placeholder_monkey_round_33@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8F19E240C40076D59C /* placeholder_monkey_round_33@2x.png */; }; + B1D5F0D820BC06CB00983FB6 /* coding_emoji_30@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE911A0C7E26006F9AD7 /* coding_emoji_30@2x.png */; }; + B1D5F0D920BC06CB00983FB6 /* project_item_code@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383CA1B32665700D98648 /* project_item_code@2x.png */; }; + B1D5F0DA20BC06CB00983FB6 /* search_icon_user@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9471E02911E00DE1BC6 /* search_icon_user@3x.png */; }; + B1D5F0DB20BC06CB00983FB6 /* code_release_resource_MergeRequestBean@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3242073212D0077C956 /* code_release_resource_MergeRequestBean@3x.png */; }; + B1D5F0DD20BC06CB00983FB6 /* blankpage_image_Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C01E69401B0095F1CD /* blankpage_image_Default@2x.png */; }; + B1D5F0DE20BC06CB00983FB6 /* project_item_tag@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF22069186C00E9BAD1 /* project_item_tag@2x.png */; }; + B1D5F0DF20BC06CB00983FB6 /* PRReviewer@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D2E1CA17A6400EE127C /* PRReviewer@2x.png */; }; + B1D5F0E020BC06CB00983FB6 /* login_wechat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B640D1FECB58F00ACFDCC /* login_wechat@2x.png */; }; + B1D5F0E120BC06CB00983FB6 /* task_activity_icon_finish@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871961EB2D9E6003DACF0 /* task_activity_icon_finish@3x.png */; }; + B1D5F0E220BC06CB00983FB6 /* taskboard_normal_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8D209453F2004A6E8A /* taskboard_normal_page_unselected@3x.png */; }; + B1D5F0E420BC06CB00983FB6 /* nav_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E53EB571AFB090E0034FE1C /* nav_page_selected@2x.png */; }; + B1D5F0E520BC06CB00983FB6 /* coding_emoji_28@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE8F1A0C7E26006F9AD7 /* coding_emoji_28@2x.png */; }; + B1D5F0E720BC06CB00983FB6 /* placeholder_monkey_round_50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9219E240C40076D59C /* placeholder_monkey_round_50@2x.png */; }; + B1D5F0E820BC06CB00983FB6 /* vip_3_45@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A81EE100B200B01371 /* vip_3_45@2x.png */; }; + B1D5F0E920BC06CB00983FB6 /* n_sex_man_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E996BFD1ABBF56A00C704F1 /* n_sex_man_icon@2x.png */; }; + B1D5F0EA20BC06CB00983FB6 /* AppIcon120x120.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF6E19E240C40076D59C /* AppIcon120x120.png */; }; + B1D5F0EB20BC06CB00983FB6 /* privatemessage_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C4479C1C02A3C700DC1C4B /* privatemessage_selected@2x.png */; }; + B1D5F0EC20BC06CB00983FB6 /* coding_emoji_gif_07@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3451BA6AEB4002F27C4 /* coding_emoji_gif_07@2x.png */; }; + B1D5F0ED20BC06CB00983FB6 /* calendar_0x59A2FF@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871731EB18599003DACF0 /* calendar_0x59A2FF@2x.png */; }; + B1D5F0EE20BC06CB00983FB6 /* file_activity_icon_rename@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EE01F690F5E00C598F3 /* file_activity_icon_rename@3x.png */; }; + B1D5F0EF20BC06CB00983FB6 /* button_file_denete_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA7202D7D4E0075A669 /* button_file_denete_enable@3x.png */; }; + B1D5F0F020BC06CB00983FB6 /* coding_emoji_32@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE931A0C7E26006F9AD7 /* coding_emoji_32@2x.png */; }; + B1D5F0F120BC06CB00983FB6 /* coding_emoji_16@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE831A0C7E26006F9AD7 /* coding_emoji_16@2x.png */; }; + B1D5F0F220BC06CB00983FB6 /* icon_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD05A1E544006008AA957 /* icon_triangle@3x.png */; }; + B1D5F0F320BC06CB00983FB6 /* mrpr_icon_arrow@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD09C1E5D8558008AA957 /* mrpr_icon_arrow@3x.png */; }; + B1D5F0F420BC06CB00983FB6 /* comment_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871B71EB338FD003DACF0 /* comment_bg@3x.png */; }; + B1D5F0F620BC06CB00983FB6 /* btn_followed_both@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F7B2219EF6306006BA8BD /* btn_followed_both@2x.png */; }; + B1D5F0F720BC06CB00983FB6 /* PR_refuse@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D211CA17A6400EE127C /* PR_refuse@3x.png */; }; + B1D5F0F820BC06CB00983FB6 /* shortcut_tweet@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E92B1DFFF06E00DE1BC6 /* shortcut_tweet@2x.png */; }; + B1D5F0F920BC06CB00983FB6 /* vip_3_30@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A51EE100B200B01371 /* vip_3_30@3x.png */; }; + B1D5F0FA20BC06CB00983FB6 /* coding_emoji_42@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497E1A918A7F00BD27F6 /* coding_emoji_42@2x.png */; }; + B1D5F0FB20BC06CB00983FB6 /* coding_emoji_31@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE921A0C7E26006F9AD7 /* coding_emoji_31@2x.png */; }; + B1D5F0FC20BC06CB00983FB6 /* user_info_setup@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B47F1D82646000EED8C6 /* user_info_setup@2x.png */; }; + B1D5F0FD20BC06CB00983FB6 /* calendar_0xF56061@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8717A1EB18599003DACF0 /* calendar_0xF56061@3x.png */; }; + B1D5F0FE20BC06CB00983FB6 /* blankpage_image_File@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C21E69401B0095F1CD /* blankpage_image_File@2x.png */; }; + B1D5F0FF20BC06CB00983FB6 /* icon_add_comment@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871891EB1E608003DACF0 /* icon_add_comment@3x.png */; }; + B1D5F10020BC06CB00983FB6 /* button_file_download_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EACB4421A2C45300097ABB3 /* button_file_download_enable@2x.png */; }; + B1D5F10120BC06CB00983FB6 /* keyboard_page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE5F1A0A3424006F9AD7 /* keyboard_page_selected@2x.png */; }; + B1D5F10220BC06CB00983FB6 /* taskPriority3@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871621EB182C7003DACF0 /* taskPriority3@3x.png */; }; + B1D5F10320BC06CB00983FB6 /* code.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C42060E6B1006709C2 /* code.html */; }; + B1D5F10420BC06CB00983FB6 /* timeline_icon_read@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B16EEF06208DDBB5005ABFD5 /* timeline_icon_read@3x.png */; }; + B1D5F10520BC06CB00983FB6 /* file_activity_icon_delete_history@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871AE1EB2D9F0003DACF0 /* file_activity_icon_delete_history@3x.png */; }; + B1D5F10620BC06CB00983FB6 /* mrpr_icon_commit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383D91B3266C200D98648 /* mrpr_icon_commit@2x.png */; }; + B1D5F10720BC06CB00983FB6 /* editBoardList@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4B520B2ACEE009427FC /* editBoardList@2x.png */; }; + B1D5F10820BC06CB00983FB6 /* pop_User@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447BF1C02DB5400DC1C4B /* pop_User@2x.png */; }; + B1D5F10920BC06CB00983FB6 /* keyboard_add_photo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE571A0A3424006F9AD7 /* keyboard_add_photo@2x.png */; }; + B1D5F10A20BC06CB00983FB6 /* member_cell_edit_type@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBC01C44CB860096CA74 /* member_cell_edit_type@2x.png */; }; + B1D5F10B20BC06CB00983FB6 /* wiki_menu_icon_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C282015D82600F52ABA /* wiki_menu_icon_delete@2x.png */; }; + B1D5F10C20BC06CB00983FB6 /* file_menu_icon_edit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E93F2361B84356500017916 /* file_menu_icon_edit@2x.png */; }; + B1D5F10D20BC06CB00983FB6 /* AboutPointViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EE91F6FAA6000C598F3 /* AboutPointViewController.xib */; }; + B1D5F10E20BC06CB00983FB6 /* address.json in Resources */ = {isa = PBXBuildFile; fileRef = 8E1C3DF519E7F4CA00EF3032 /* address.json */; }; + B1D5F10F20BC06CB00983FB6 /* reward_tip_logo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9371E01218300DE1BC6 /* reward_tip_logo@3x.png */; }; + B1D5F11020BC06CB00983FB6 /* code_release_resource_ProjectFile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3252073212D0077C956 /* code_release_resource_ProjectFile@2x.png */; }; + B1D5F11120BC06CB00983FB6 /* share_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E09DCA81C15662E001C9392 /* share_Nav@3x.png */; }; + B1D5F11220BC06CB00983FB6 /* task_activity_icon_add_milestone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C020B2B24E009427FC /* task_activity_icon_add_milestone@2x.png */; }; + B1D5F11320BC06CB00983FB6 /* share_btn_copylink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3C81B96CDF800A5A0A8 /* share_btn_copylink@2x.png */; }; + B1D5F11420BC06CB00983FB6 /* project_item_branch@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF42069186D00E9BAD1 /* project_item_branch@3x.png */; }; + B1D5F11620BC06CB00983FB6 /* bubble_left_play_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E8E59791B6F91C40083CA02 /* bubble_left_play_0@2x.png */; }; + B1D5F11720BC06CB00983FB6 /* little_phone_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871571EB0884A003DACF0 /* little_phone_icon@3x.png */; }; + B1D5F11820BC06CB00983FB6 /* icon_file_ppt@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D31A1B537E0037C098 /* icon_file_ppt@2x.png */; }; + B1D5F11920BC06CB00983FB6 /* member_type_75@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2F6A681C43CA4B00A25502 /* member_type_75@2x.png */; }; + B1D5F11A20BC06CB00983FB6 /* icon_search_searchbar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448121C02F76600DC1C4B /* icon_search_searchbar@2x.png */; }; + B1D5F11B20BC06CB00983FB6 /* register_step_ed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC4800D1C2A909D005F1772 /* register_step_ed@2x.png */; }; + B1D5F11C20BC06CB00983FB6 /* project_normal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D61C02DB8900DC1C4B /* project_normal@3x.png */; }; + B1D5F11D20BC06CB00983FB6 /* button_terminal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B11DC7BE20245727004E76A9 /* button_terminal@2x.png */; }; + B1D5F11E20BC06CB00983FB6 /* privatemessage_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C4479B1C02A3C700DC1C4B /* privatemessage_normal@2x.png */; }; + B1D5F11F20BC06CB00983FB6 /* tipIcon_ProjectMember@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB319E240C40076D59C /* tipIcon_ProjectMember@2x.png */; }; + B1D5F12020BC06CB00983FB6 /* file_activity_icon_rename@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EDF1F690F5E00C598F3 /* file_activity_icon_rename@2x.png */; }; + B1D5F12120BC06CB00983FB6 /* code_release_resource_ProjectTopic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3282073212E0077C956 /* code_release_resource_ProjectTopic@2x.png */; }; + B1D5F12220BC06CB00983FB6 /* coding_emoji_17@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE841A0C7E26006F9AD7 /* coding_emoji_17@2x.png */; }; + B1D5F12320BC06CB00983FB6 /* messageLeft_bg_img@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B31B32640900D98648 /* messageLeft_bg_img@2x.png */; }; + B1D5F12420BC06CB00983FB6 /* search_icon_project@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E94A1E02911E00DE1BC6 /* search_icon_project@2x.png */; }; + B1D5F12520BC06CB00983FB6 /* mrpr_icon_status_cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0291E5405B4008AA957 /* mrpr_icon_status_cancel@2x.png */; }; + B1D5F12620BC06CB00983FB6 /* mrpr_icon_status_cancel@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD02A1E5405B4008AA957 /* mrpr_icon_status_cancel@3x.png */; }; + B1D5F12720BC06CB00983FB6 /* button_file_createFolder_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CA6202D7D4D0075A669 /* button_file_createFolder_enable@3x.png */; }; + B1D5F12820BC06CB00983FB6 /* PR_mergeChanges@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D261CA17A6400EE127C /* PR_mergeChanges@2x.png */; }; + B1D5F12920BC06CB00983FB6 /* coding_emoji_20@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE871A0C7E26006F9AD7 /* coding_emoji_20@2x.png */; }; + B1D5F12A20BC06CB00983FB6 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFC519E240C40076D59C /* Images.xcassets */; }; + B1D5F12B20BC06CB00983FB6 /* task_icon_arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63840E1B34124000D98648 /* task_icon_arrow@2x.png */; }; + B1D5F12C20BC06CB00983FB6 /* mrpr_icon_refaused@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383C21B3265DC00D98648 /* mrpr_icon_refaused@2x.png */; }; + B1D5F12D20BC06CB00983FB6 /* loading_monkey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8ED2AAF919F60D5200607A1D /* loading_monkey@2x.png */; }; + B1D5F12E20BC06CB00983FB6 /* coding_emoji_01@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE741A0C7E26006F9AD7 /* coding_emoji_01@2x.png */; }; + B1D5F12F20BC06CB00983FB6 /* taskPriority0@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715C1EB182C7003DACF0 /* taskPriority0@3x.png */; }; + B1D5F13020BC06CB00983FB6 /* taskPriority3_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871611EB182C7003DACF0 /* taskPriority3_small@3x.png */; }; + B1D5F13120BC06CB00983FB6 /* taskResourceReference@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F391C7C45E700B5EBEA /* taskResourceReference@2x.png */; }; + B1D5F13220BC06CB00983FB6 /* tipIcon_MergeRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB019E240C40076D59C /* tipIcon_MergeRequestBean@2x.png */; }; + B1D5F13320BC06CB00983FB6 /* button_file_denete_enable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE221A28226000DA1B3E /* button_file_denete_enable@2x.png */; }; + B1D5F13520BC06CB00983FB6 /* dot_line@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2719C61AB07ED6006AE214 /* dot_line@2x.png */; }; + B1D5F13620BC06CB00983FB6 /* PR_grant_undo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D231CA17A6400EE127C /* PR_grant_undo@3x.png */; }; + B1D5F13720BC06CB00983FB6 /* PR_add_watcher@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFB200EFEA400DEDF78 /* PR_add_watcher@3x.png */; }; + B1D5F13820BC06CB00983FB6 /* coding_emoji_gif_01@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3461BA6AEB4002F27C4 /* coding_emoji_gif_01@2x.png */; }; + B1D5F13920BC06CB00983FB6 /* addBtn_Artboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711C1EADF0FF003DACF0 /* addBtn_Artboard@2x.png */; }; + B1D5F13B20BC06CB00983FB6 /* project_item_wiki@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871331EADF155003DACF0 /* project_item_wiki@2x.png */; }; + B1D5F13C20BC06CB00983FB6 /* member_type_90@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2F6A6A1C43CA4B00A25502 /* member_type_90@2x.png */; }; + B1D5F13D20BC06CB00983FB6 /* share_btn_inform@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D131A1C11865D00985AEB /* share_btn_inform@2x.png */; }; + B1D5F13E20BC06CB00983FB6 /* back_green_Nav@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8711F1EADF0FF003DACF0 /* back_green_Nav@3x.png */; }; + B1D5F13F20BC06CB00983FB6 /* README.textile in Resources */ = {isa = PBXBuildFile; fileRef = 8E64ED8919EE484A006E99DA /* README.textile */; }; + B1D5F14020BC06CB00983FB6 /* PR_del_reviewer@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CFE200EFEA400DEDF78 /* PR_del_reviewer@3x.png */; }; + B1D5F14120BC06CB00983FB6 /* search_icon_task@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E94D1E02911E00DE1BC6 /* search_icon_task@3x.png */; }; + B1D5F14220BC06CB00983FB6 /* task_activity_icon_remove_milestone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4C320B2B250009427FC /* task_activity_icon_remove_milestone@2x.png */; }; + B1D5F14320BC06CB00983FB6 /* checkbox_unchecked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715A1EB182C7003DACF0 /* checkbox_unchecked@3x.png */; }; + B1D5F14420BC06CB00983FB6 /* coding_emoji_06@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE791A0C7E26006F9AD7 /* coding_emoji_06@2x.png */; }; + B1D5F14520BC06CB00983FB6 /* button_tip_close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B12B64221FF33DFF00ACFDCC /* button_tip_close@3x.png */; }; + B1D5F14620BC06CB00983FB6 /* blankpage_image_ShopOrder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423CC1E69401B0095F1CD /* blankpage_image_ShopOrder@2x.png */; }; + B1D5F14720BC06CB00983FB6 /* coding_emoji_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E08497C1A918A7F00BD27F6 /* coding_emoji_40@2x.png */; }; + B1D5F14820BC06CB00983FB6 /* blankpage_image_Default@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C11E69401B0095F1CD /* blankpage_image_Default@3x.png */; }; + B1D5F14920BC06CB00983FB6 /* member_cell_edit_alias@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAECBBC1C44CB860096CA74 /* member_cell_edit_alias@2x.png */; }; + B1D5F14A20BC06CB00983FB6 /* messageRight_bg_img@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383B41B32640900D98648 /* messageRight_bg_img@2x.png */; }; + B1D5F14B20BC06CB00983FB6 /* project_item_taskboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED7A20945377004A6E8A /* project_item_taskboard@2x.png */; }; + B1D5F14C20BC06CB00983FB6 /* nav_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8718A1EB1E608003DACF0 /* nav_page_selected@3x.png */; }; + B1D5F14D20BC06CB00983FB6 /* terminal_more@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C94202953E40075A669 /* terminal_more@3x.png */; }; + B1D5F14E20BC06CB00983FB6 /* btn_setFrequent@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871871EB1E608003DACF0 /* btn_setFrequent@3x.png */; }; + B1D5F14F20BC06CB00983FB6 /* tweet_normal@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447DA1C02DB8900DC1C4B /* tweet_normal@3x.png */; }; + B1D5F15020BC06CB00983FB6 /* icon_search_clock@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8B3516541B6CF69E0049BC45 /* icon_search_clock@2x.png */; }; + B1D5F15120BC06CB00983FB6 /* taskPriority2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839F1B3262D300D98648 /* taskPriority2@2x.png */; }; + B1D5F15220BC06CB00983FB6 /* file_activity_icon_upload_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BF1B7B51AF00179F4B /* file_activity_icon_upload_file@2x.png */; }; + B1D5F15320BC06CB00983FB6 /* tip_normal_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ECEF9F81D1D0B3D002A27D3 /* tip_normal_Nav@2x.png */; }; + B1D5F15420BC06CB00983FB6 /* search_icon_user@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9461E02911E00DE1BC6 /* search_icon_user@2x.png */; }; + B1D5F15520BC06CB00983FB6 /* button_file_denete_unable@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E66EE231A28226000DA1B3E /* button_file_denete_unable@2x.png */; }; + B1D5F15620BC06CB00983FB6 /* nav_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8718B1EB1E608003DACF0 /* nav_page_unselected@3x.png */; }; + B1D5F15720BC06CB00983FB6 /* EmojisList.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE491A0A2E11006F9AD7 /* EmojisList.plist */; }; + B1D5F15820BC06CB00983FB6 /* keyboard_topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8BDF9AB01B7474990093BF2C /* keyboard_topic@2x.png */; }; + B1D5F15920BC06CB00983FB6 /* project_item_tag@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EF52069186E00E9BAD1 /* project_item_tag@3x.png */; }; + B1D5F15A20BC06CB00983FB6 /* add_user_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EBFBD171AA85B8500E4B10E /* add_user_icon@2x.png */; }; + B1D5F15B20BC06CB00983FB6 /* coding_emoji_11@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE7E1A0C7E26006F9AD7 /* coding_emoji_11@2x.png */; }; + B1D5F15C20BC06CB00983FB6 /* coding_emoji_gif_02@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3401BA6AEB4002F27C4 /* coding_emoji_gif_02@2x.png */; }; + B1D5F15D20BC06CB00983FB6 /* n_sex_woman_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E996BFE1ABBF56A00C704F1 /* n_sex_woman_icon@2x.png */; }; + B1D5F15E20BC06CB00983FB6 /* vip_4_30@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689AD1EE100B200B01371 /* vip_4_30@3x.png */; }; + B1D5F15F20BC06CB00983FB6 /* taskPriority@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871401EADF1C1003DACF0 /* taskPriority@3x.png */; }; + B1D5F16020BC06CB00983FB6 /* tipIcon_TeamMember@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB862AC1CABB21E008074D1 /* tipIcon_TeamMember@2x.png */; }; + B1D5F16120BC06CB00983FB6 /* keyboard_emotion_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE5B1A0A3424006F9AD7 /* keyboard_emotion_delete@2x.png */; }; + B1D5F16220BC06CB00983FB6 /* nav_tweet_friend@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8219E240C40076D59C /* nav_tweet_friend@2x.png */; }; + B1D5F16320BC06CB00983FB6 /* nav_tweet_mine@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF8419E240C40076D59C /* nav_tweet_mine@2x.png */; }; + B1D5F16420BC06CB00983FB6 /* shortcut_2FA@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9281DFFF06E00DE1BC6 /* shortcut_2FA@3x.png */; }; + B1D5F16520BC06CB00983FB6 /* PR_add@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D161CA17A6400EE127C /* PR_add@3x.png */; }; + B1D5F16620BC06CB00983FB6 /* code_release_resource_Zip@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31820731FF10077C956 /* code_release_resource_Zip@3x.png */; }; + B1D5F16720BC06CB00983FB6 /* taskboard_add_page_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8C209453F2004A6E8A /* taskboard_add_page_unselected@3x.png */; }; + B1D5F16820BC06CB00983FB6 /* blankpage_image_Activity@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423BF1E69401B0095F1CD /* blankpage_image_Activity@3x.png */; }; + B1D5F16920BC06CB00983FB6 /* pop_Tweet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447CA1C02DB6700DC1C4B /* pop_Tweet@3x.png */; }; + B1D5F16A20BC06CB00983FB6 /* icon_code_image@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0811E55AC6E008AA957 /* icon_code_image@3x.png */; }; + B1D5F16B20BC06CB00983FB6 /* taskboard_normal_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED87209453F2004A6E8A /* taskboard_normal_page_selected@3x.png */; }; + B1D5F16D20BC06CB00983FB6 /* icon_file_txt_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8791FCD006C0098B87B /* icon_file_txt_big@2x.png */; }; + B1D5F16E20BC06CB00983FB6 /* git_icon_stared@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6AC91B2571B100FD2E49 /* git_icon_stared@2x.png */; }; + B1D5F16F20BC06CB00983FB6 /* search_icon_mr@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9441E02911E00DE1BC6 /* search_icon_mr@2x.png */; }; + B1D5F17020BC06CB00983FB6 /* button_download_cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED20A791AFCC43600C63498 /* button_download_cancel@2x.png */; }; + B1D5F17120BC06CB00983FB6 /* SVWebViewController.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4E217EFA1A70EDC700F6DF88 /* SVWebViewController.bundle */; }; + B1D5F17220BC06CB00983FB6 /* register_step_ed@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC4800E1C2A909D005F1772 /* register_step_ed@3x.png */; }; + B1D5F17320BC06CB00983FB6 /* keyboard_emotion_emoji_code@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9DEEC51E30CA3C001B8D1B /* keyboard_emotion_emoji_code@2x.png */; }; + B1D5F17420BC06CB00983FB6 /* cell_arrow_left@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8714F1EADF48B003DACF0 /* cell_arrow_left@3x.png */; }; + B1D5F17520BC06CB00983FB6 /* vip_3_40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A61EE100B200B01371 /* vip_3_40@2x.png */; }; + B1D5F17620BC06CB00983FB6 /* icon_code_git_link@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04F1E542B2D008AA957 /* icon_code_git_link@2x.png */; }; + B1D5F17720BC06CB00983FB6 /* icon_add_comment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4D6AC71B252F4800FD2E49 /* icon_add_comment@2x.png */; }; + B1D5F17920BC06CB00983FB6 /* icon_file_code_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8781FCD006C0098B87B /* icon_file_code_big@2x.png */; }; + B1D5F17A20BC06CB00983FB6 /* file_changeType_DELETE@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CEB200EFDC600DEDF78 /* file_changeType_DELETE@3x.png */; }; + B1D5F17B20BC06CB00983FB6 /* tweet_more_comment_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E872CFF19EFEFF7002C8F34 /* tweet_more_comment_icon@2x.png */; }; + B1D5F17C20BC06CB00983FB6 /* task_activity_icon_add_watcher@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E3DB53A1BFDD0F40062BA52 /* task_activity_icon_add_watcher@2x.png */; }; + B1D5F17D20BC06CB00983FB6 /* tipIcon_TweetLike@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFBB19E240C40076D59C /* tipIcon_TweetLike@2x.png */; }; + B1D5F17E20BC06CB00983FB6 /* blankpage_image_LoadFail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423C41E69401B0095F1CD /* blankpage_image_LoadFail@2x.png */; }; + B1D5F17F20BC06CB00983FB6 /* gif_mark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E72F8321B15B811001B6CE6 /* gif_mark@2x.png */; }; + B1D5F18020BC06CB00983FB6 /* icon_file_cell_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EC5AD8F1A258DF8006FA97C /* icon_file_cell_delete@2x.png */; }; + B1D5F18120BC06CB00983FB6 /* blankpage_image_Topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D41E69401B0095F1CD /* blankpage_image_Topic@2x.png */; }; + B1D5F18220BC06CB00983FB6 /* MJPhotoBrowser.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6D06B19E240C40076D59C /* MJPhotoBrowser.bundle */; }; + B1D5F18320BC06CB00983FB6 /* icon_file_folder_share@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E1D99141DCAE67D00BAE585 /* icon_file_folder_share@2x.png */; }; + B1D5F18420BC06CB00983FB6 /* search_icon_pr@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9491E02911E00DE1BC6 /* search_icon_pr@3x.png */; }; + B1D5F18520BC06CB00983FB6 /* SVWebViewControllerActivityChrome@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E217F031A70EDC700F6DF88 /* SVWebViewControllerActivityChrome@2x.png */; }; + B1D5F18620BC06CB00983FB6 /* taskboard_add_page_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED8B209453F2004A6E8A /* taskboard_add_page_selected@3x.png */; }; + B1D5F18720BC06CB00983FB6 /* SVWebViewControllerActivitySafari@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E217F091A70EDC700F6DF88 /* SVWebViewControllerActivitySafari@2x.png */; }; + B1D5F18820BC06CB00983FB6 /* editBoardList@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BFC4B420B2ACED009427FC /* editBoardList@3x.png */; }; + B1D5F18A20BC06CB00983FB6 /* PR_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D151CA17A6400EE127C /* PR_add@2x.png */; }; + B1D5F18B20BC06CB00983FB6 /* tweet_btn_reward@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E5D13051C0ECB3400985AEB /* tweet_btn_reward@2x.png */; }; + B1D5F18C20BC06CB00983FB6 /* project_item_mr_pr@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383CD1B32665700D98648 /* project_item_mr_pr@2x.png */; }; + B1D5F18D20BC06CB00983FB6 /* user_info_point@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B47B1D82646000EED8C6 /* user_info_point@2x.png */; }; + B1D5F18E20BC06CB00983FB6 /* btn_fliter_down@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447B31C02B1DE00DC1C4B /* btn_fliter_down@2x.png */; }; + B1D5F18F20BC06CB00983FB6 /* nav_project_activity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF7D19E240C40076D59C /* nav_project_activity@2x.png */; }; + B1D5F19020BC06CB00983FB6 /* file_changeType_RENAME@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EFE8DAB1B394A0D004B7559 /* file_changeType_RENAME@2x.png */; }; + B1D5F19120BC06CB00983FB6 /* blankpage_image_Tip@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D31E69401B0095F1CD /* blankpage_image_Tip@3x.png */; }; + B1D5F19220BC06CB00983FB6 /* ProjectSetting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B9A00D7E1ACA3A05008BA008 /* ProjectSetting.storyboard */; }; + B1D5F19320BC06CB00983FB6 /* icon_release_tag@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1817EFE2069197C00E9BAD1 /* icon_release_tag@3x.png */; }; + B1D5F19420BC06CB00983FB6 /* timeline_icon_unread@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFAC19E240C40076D59C /* timeline_icon_unread@2x.png */; }; + B1D5F19520BC06CB00983FB6 /* user_info_edit@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E54C2491D8FE19100A61023 /* user_info_edit@2x.png */; }; + B1D5F19620BC06CB00983FB6 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF91F7247BA00C598F3 /* AlipaySDK.bundle */; }; + B1D5F19720BC06CB00983FB6 /* banner__page_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A6B1B69F920008DC439 /* banner__page_selected@2x.png */; }; + B1D5F19820BC06CB00983FB6 /* task_resource_reference_MergeRequestBean@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F551C7C5C4F00B5EBEA /* task_resource_reference_MergeRequestBean@3x.png */; }; + B1D5F19920BC06CB00983FB6 /* tipIcon_ProjectFileComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E86FEE41BB556D6005E53F3 /* tipIcon_ProjectFileComment@2x.png */; }; + B1D5F19A20BC06CB00983FB6 /* SVWebViewControllerActivitySafari-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E217F061A70EDC700F6DF88 /* SVWebViewControllerActivitySafari-iPad@2x.png */; }; + B1D5F19B20BC06CB00983FB6 /* icon_not_locationed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EF91F621B00B62A0021C951 /* icon_not_locationed@2x.png */; }; + B1D5F19C20BC06CB00983FB6 /* checkbox_unchecked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383E81B32791600D98648 /* checkbox_unchecked@2x.png */; }; + B1D5F19D20BC06CB00983FB6 /* icon_file_psd_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8731FCD006B0098B87B /* icon_file_psd_big@2x.png */; }; + B1D5F19E20BC06CB00983FB6 /* timeline_icon_read@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFAB19E240C40076D59C /* timeline_icon_read@2x.png */; }; + B1D5F19F20BC06CB00983FB6 /* topic_add_watcher_btn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B184166720513CA000207666 /* topic_add_watcher_btn@3x.png */; }; + B1D5F1A020BC06CB00983FB6 /* coding_emoji_27@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE8E1A0C7E26006F9AD7 /* coding_emoji_27@2x.png */; }; + B1D5F1A120BC06CB00983FB6 /* QBImagePicker.strings in Resources */ = {isa = PBXBuildFile; fileRef = B12B645A1FFB61AD00ACFDCC /* QBImagePicker.strings */; }; + B1D5F1A220BC06CB00983FB6 /* icon_file_zip_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8711FCD006B0098B87B /* icon_file_zip_big@2x.png */; }; + B1D5F1A320BC06CB00983FB6 /* messageProjectFollows@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871161EADF0B1003DACF0 /* messageProjectFollows@3x.png */; }; + B1D5F1A420BC06CB00983FB6 /* tipIcon_CommitLineNote@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E4972E11BB5395B00F3AC15 /* tipIcon_CommitLineNote@2x.png */; }; + B1D5F1A520BC06CB00983FB6 /* wiki_revert@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C232015D82600F52ABA /* wiki_revert@2x.png */; }; + B1D5F1A620BC06CB00983FB6 /* search_icon_tweet@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E93F1E02911E00DE1BC6 /* search_icon_tweet@3x.png */; }; + B1D5F1A720BC06CB00983FB6 /* taskPriority0_small@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715B1EB182C7003DACF0 /* taskPriority0_small@3x.png */; }; + B1D5F1A820BC06CB00983FB6 /* coding_emoji_24@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE8B1A0C7E26006F9AD7 /* coding_emoji_24@2x.png */; }; + B1D5F1A920BC06CB00983FB6 /* PointLikeHead@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D291CA17A6400EE127C /* PointLikeHead@2x.png */; }; + B1D5F1AA20BC06CB00983FB6 /* coding_emoji_10@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE7D1A0C7E26006F9AD7 /* coding_emoji_10@2x.png */; }; + B1D5F1AB20BC06CB00983FB6 /* me_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447991C02A3C700DC1C4B /* me_normal@2x.png */; }; + B1D5F1AC20BC06CB00983FB6 /* taskPriority2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871601EB182C7003DACF0 /* taskPriority2@3x.png */; }; + B1D5F1AD20BC06CB00983FB6 /* blankpage_image_Activity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423BE1E69401B0095F1CD /* blankpage_image_Activity@2x.png */; }; + B1D5F1AE20BC06CB00983FB6 /* coding_emoji_33@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE941A0C7E26006F9AD7 /* coding_emoji_33@2x.png */; }; + B1D5F1AF20BC06CB00983FB6 /* coding_emoji_23@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE8A1A0C7E26006F9AD7 /* coding_emoji_23@2x.png */; }; + B1D5F1B020BC06CB00983FB6 /* taskPriority@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383DE1B32676600D98648 /* taskPriority@2x.png */; }; + B1D5F1B120BC06CB00983FB6 /* code_release_resource_ProjectFile@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC3232073212D0077C956 /* code_release_resource_ProjectFile@3x.png */; }; + B1D5F1B220BC06CB00983FB6 /* tipIcon_Task@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFB819E240C40076D59C /* tipIcon_Task@2x.png */; }; + B1D5F1B320BC06CB00983FB6 /* icon_code_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD04D1E542B2D008AA957 /* icon_code_file@2x.png */; }; + B1D5F1B420BC06CB00983FB6 /* task_activity_icon_update_description@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383F91B33C18700D98648 /* task_activity_icon_update_description@2x.png */; }; + B1D5F1B520BC06CB00983FB6 /* git_icon_star@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6AC11BF84AC5009D37F8 /* git_icon_star@2x.png */; }; + B1D5F1B620BC06CB00983FB6 /* task_description_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E095A801B6B24DE008DC439 /* task_description_icon@2x.png */; }; + B1D5F1B720BC06CB00983FB6 /* tag_button_editColor@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F1A1C76BA3B00B5EBEA /* tag_button_editColor@3x.png */; }; + B1D5F1B820BC06CB00983FB6 /* moreBtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447EF1C02DCA200DC1C4B /* moreBtn_Nav@2x.png */; }; + B1D5F1BB20BC06CB00983FB6 /* coding_emoji_19@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE861A0C7E26006F9AD7 /* coding_emoji_19@2x.png */; }; + B1D5F1BC20BC06CB00983FB6 /* PR_review_undo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 13FB5D311CA17A6400EE127C /* PR_review_undo@3x.png */; }; + B1D5F1BD20BC06CB00983FB6 /* taskPriority1@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8715E1EB182C7003DACF0 /* taskPriority1@3x.png */; }; + B1D5F1BE20BC06CB00983FB6 /* alipay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8961FCE93830098B87B /* alipay@3x.png */; }; + B1D5F1BF20BC06CB00983FB6 /* PR_more@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 134116EF1CB529E1005E6550 /* PR_more@3x.png */; }; + B1D5F1C020BC06CB00983FB6 /* share_btn_wxsession@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3CD1B96CDF800A5A0A8 /* share_btn_wxsession@2x.png */; }; + B1D5F1C120BC06CB00983FB6 /* task_activity_icon_MergeRequestBean@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E3DB53B1BFDD0F40062BA52 /* task_activity_icon_MergeRequestBean@2x.png */; }; + B1D5F1C220BC06CB00983FB6 /* icon_file_txt@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E96E7D51A1B537E0037C098 /* icon_file_txt@2x.png */; }; + B1D5F1C320BC06CB00983FB6 /* project_item_member@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C8712F1EADF155003DACF0 /* project_item_member@3x.png */; }; + B1D5F1C420BC06CB00983FB6 /* timeline_line_unread@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CFAE19E240C40076D59C /* timeline_line_unread@2x.png */; }; + B1D5F1C520BC06CB00983FB6 /* tip_2FA@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E94C4F01B4B75DB00EB668A /* tip_2FA@2x.png */; }; + B1D5F1C620BC06CB00983FB6 /* PR_add_label@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1280CF3200EFEA400DEDF78 /* PR_add_label@3x.png */; }; + B1D5F1C720BC06CB00983FB6 /* back_T_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871201EADF0FF003DACF0 /* back_T_Nav@2x.png */; }; + B1D5F1C820BC06CB00983FB6 /* checkbox_checked@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871591EB182C7003DACF0 /* checkbox_checked@3x.png */; }; + B1D5F1C920BC06CB00983FB6 /* coding_emoji_05@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE781A0C7E26006F9AD7 /* coding_emoji_05@2x.png */; }; + B1D5F1CA20BC06CB00983FB6 /* alipay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8951FCE93830098B87B /* alipay@2x.png */; }; + B1D5F1CC20BC06CB00983FB6 /* taskPriority0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E63839B1B3262D300D98648 /* taskPriority0@2x.png */; }; + B1D5F1CD20BC06CB00983FB6 /* task_activity_icon_update_label@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E0EF6EB1BF42E4B00F2FCC8 /* task_activity_icon_update_label@2x.png */; }; + B1D5F1CE20BC06CB00983FB6 /* wiki_menu_2@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C1F2015D82600F52ABA /* wiki_menu_2@3x.png */; }; + B1D5F1CF20BC06CB00983FB6 /* blankpage_image_Tip@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E9423D21E69401B0095F1CD /* blankpage_image_Tip@2x.png */; }; + B1D5F1D020BC06CB00983FB6 /* keyboard_add_camera@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E97CE581A0A3424006F9AD7 /* keyboard_add_camera@2x.png */; }; + B1D5F1D120BC06CB00983FB6 /* btn_fliter_down@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447E81C02DBC200DC1C4B /* btn_fliter_down@3x.png */; }; + B1D5F1D220BC06CB00983FB6 /* topic-ios.html in Resources */ = {isa = PBXBuildFile; fileRef = B177F5C32060E6B1006709C2 /* topic-ios.html */; }; + B1D5F1D320BC06CB00983FB6 /* user_info_help@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B4791D82646000EED8C6 /* user_info_help@2x.png */; }; + B1D5F1D420BC06CB00983FB6 /* SVWebViewControllerActivitySafari-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E217F051A70EDC700F6DF88 /* SVWebViewControllerActivitySafari-iPad.png */; }; + B1D5F1D520BC06CB00983FB6 /* icon_triangle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD0591E544006008AA957 /* icon_triangle@2x.png */; }; + B1D5F1D620BC06CB00983FB6 /* comment_count_top_line@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EF6434F19FF4E1600F7EEB0 /* comment_count_top_line@2x.png */; }; + B1D5F1D720BC06CB00983FB6 /* keyboard_voice_record@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E335D9B1B6F5E94003D0F3D /* keyboard_voice_record@2x.png */; }; + B1D5F1D820BC06CB00983FB6 /* icon_file_music_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB87A1FCD006C0098B87B /* icon_file_music_big@2x.png */; }; + B1D5F1D920BC06CB00983FB6 /* password_unlook@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EB52F0D1C74691B00B5EBEA /* password_unlook@2x.png */; }; + B1D5F1DA20BC06CB00983FB6 /* coding_emoji_gif_03@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB3411BA6AEB4002F27C4 /* coding_emoji_gif_03@2x.png */; }; + B1D5F1DB20BC06CB00983FB6 /* mrpr_icon_arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAAD09B1E5D8558008AA957 /* mrpr_icon_arrow@2x.png */; }; + B1D5F1DC20BC06CB00983FB6 /* vip_3_45@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A91EE100B200B01371 /* vip_3_45@3x.png */; }; + B1D5F1DD20BC06CB00983FB6 /* splitlineImg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9A19E240C40076D59C /* splitlineImg@2x.png */; }; + B1D5F1DE20BC06CB00983FB6 /* button_file_move_enable@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5CAE202D7D4F0075A669 /* button_file_move_enable@3x.png */; }; + B1D5F1DF20BC06CB00983FB6 /* wiki_menu_0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1890C1E2015D82600F52ABA /* wiki_menu_0@2x.png */; }; + B1D5F1E020BC06CB00983FB6 /* icon_release_tag_blue@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B17CC31220731E900077C956 /* icon_release_tag_blue@3x.png */; }; + B1D5F1E120BC06CB00983FB6 /* search_icon_topic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9401E02911E00DE1BC6 /* search_icon_topic@2x.png */; }; + B1D5F1E220BC06CB00983FB6 /* file_activity_icon_delete_history@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2BF3BB1B957D4F00A5A0A8 /* file_activity_icon_delete_history@2x.png */; }; + B1D5F1E320BC06CB00983FB6 /* icon_file_unknown_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8741FCD006B0098B87B /* icon_file_unknown_big@2x.png */; }; + B1D5F1E420BC06CB00983FB6 /* sex_woman_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6CF9919E240C40076D59C /* sex_woman_icon@2x.png */; }; + B1D5F1E520BC06CB00983FB6 /* privatemessage_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D51C02DB8900DC1C4B /* privatemessage_selected@3x.png */; }; + B1D5F1E620BC06CB00983FB6 /* tipIcon_TaskComment@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8E7612F31A08B1EA005BE797 /* tipIcon_TaskComment@2x.png */; }; + B1D5F1E720BC06CB00983FB6 /* taskDeadline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383DD1B32676600D98648 /* taskDeadline@2x.png */; }; + B1D5F1E820BC06CB00983FB6 /* AddReviewerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 136526881CAABA2E00C0341D /* AddReviewerViewController.xib */; }; + B1D5F1E920BC06CB00983FB6 /* shop_exchange_icon@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 927AFF491BFF6DAD00AAE593 /* shop_exchange_icon@3x.png */; }; + B1D5F1EA20BC06CB00983FB6 /* vip_3_40@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B14689A71EE100B200B01371 /* vip_3_40@3x.png */; }; + B1D5F1EC20BC06CB00983FB6 /* button_file_activity@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06A51B7B1AE100179F4B /* button_file_activity@2x.png */; }; + B1D5F1ED20BC06CB00983FB6 /* file_activity_icon_update_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EAE06BE1B7B51AF00179F4B /* file_activity_icon_update_file@2x.png */; }; + B1D5F1EE20BC06CB00983FB6 /* nav_project_code@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EC911281A027A54009EAE99 /* nav_project_code@2x.png */; }; + B1D5F1EF20BC06CB00983FB6 /* user_info_project@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED4B47E1D82646000EED8C6 /* user_info_project@3x.png */; }; + B1D5F1F020BC06CB00983FB6 /* taskBoardList@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B152ED80209453E7004A6E8A /* taskBoardList@2x.png */; }; + B1D5F1F120BC06CB00983FB6 /* coding_emoji_gif_08@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E2DB33C1BA6A1FC002F27C4 /* coding_emoji_gif_08@2x.png */; }; + B1D5F1F220BC06CB00983FB6 /* icon_project_private@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D09E6AB91BF829A1009D37F8 /* icon_project_private@2x.png */; }; + B1D5F1F320BC06CB00983FB6 /* search_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447F01C02DCA200DC1C4B /* search_Nav@2x.png */; }; + B1D5F1F420BC06CB00983FB6 /* terminal_box_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */; }; + B1D5F1F520BC06CB00983FB6 /* twoFABtn_Nav@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4EED9DD01B53BBCF000E5827 /* twoFABtn_Nav@2x.png */; }; + B1D5F1F620BC06CB00983FB6 /* project_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447D71C02DB8900DC1C4B /* project_selected@3x.png */; }; + B1D5F1F720BC06CB00983FB6 /* task_activity_icon_MergeRequestBean@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1C871971EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png */; }; + B1D5F1F820BC06CB00983FB6 /* tweet_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C447DB1C02DB8900DC1C4B /* tweet_selected@3x.png */; }; + B1D5F1F920BC06CB00983FB6 /* taskPriority3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E6383A11B3262D300D98648 /* taskPriority3@2x.png */; }; + B1D5F1FA20BC06CB00983FB6 /* search_icon_file@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E80E9421E02911E00DE1BC6 /* search_icon_file@2x.png */; }; + B1D5F1FB20BC06CB00983FB6 /* nav_page_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4E53EB581AFB090E0034FE1C /* nav_page_unselected@2x.png */; }; + B1D5F20A20BCF6A900983FB6 /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4EFE8DB81B3A5727004B7559 /* Launch Screen.xib */; }; + B1D5F20E20BD3BF400983FB6 /* UINavigationController+FullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F20D20BD3BF300983FB6 /* UINavigationController+FullscreenPopGesture.m */; }; + B1D5F20F20BD3BF400983FB6 /* UINavigationController+FullscreenPopGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F20D20BD3BF300983FB6 /* UINavigationController+FullscreenPopGesture.m */; }; + B1D5F21620BD485D00983FB6 /* TeamPurchaseOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21220BD485B00983FB6 /* TeamPurchaseOrder.m */; }; + B1D5F21720BD485D00983FB6 /* TeamPurchaseOrder.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21220BD485B00983FB6 /* TeamPurchaseOrder.m */; }; + B1D5F21820BD485D00983FB6 /* TeamPurchaseBilling.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21320BD485B00983FB6 /* TeamPurchaseBilling.m */; }; + B1D5F21920BD485D00983FB6 /* TeamPurchaseBilling.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21320BD485B00983FB6 /* TeamPurchaseBilling.m */; }; + B1D5F21A20BD485D00983FB6 /* TeamPurchaseBillingDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21520BD485C00983FB6 /* TeamPurchaseBillingDetail.m */; }; + B1D5F21B20BD485D00983FB6 /* TeamPurchaseBillingDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21520BD485C00983FB6 /* TeamPurchaseBillingDetail.m */; }; + B1D5F21E20BD50D000983FB6 /* ProjectRole.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21D20BD50D000983FB6 /* ProjectRole.m */; }; + B1D5F21F20BD50D000983FB6 /* ProjectRole.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F21D20BD50D000983FB6 /* ProjectRole.m */; }; + B1D5F22220BEA37600983FB6 /* MeRootCompanyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F22120BEA37500983FB6 /* MeRootCompanyCell.m */; }; + B1D5F22320BEA37600983FB6 /* MeRootCompanyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F22120BEA37500983FB6 /* MeRootCompanyCell.m */; }; + B1D5F23220BEADD200983FB6 /* TeamSupportCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F23020BEADD100983FB6 /* TeamSupportCell.m */; }; + B1D5F23320BEADD200983FB6 /* TeamSupportCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D5F23020BEADD100983FB6 /* TeamSupportCell.m */; }; + B1DFD0A120C67D3F00F75F2F /* btn_followed_yes@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD09D20C67D3D00F75F2F /* btn_followed_yes@3x.png */; }; + B1DFD0A220C67D3F00F75F2F /* btn_followed_yes@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD09D20C67D3D00F75F2F /* btn_followed_yes@3x.png */; }; + B1DFD0A320C67D3F00F75F2F /* btn_followed_not@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD09E20C67D3E00F75F2F /* btn_followed_not@3x.png */; }; + B1DFD0A420C67D3F00F75F2F /* btn_followed_not@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD09E20C67D3E00F75F2F /* btn_followed_not@3x.png */; }; + B1DFD0A520C67D3F00F75F2F /* btn_followed_both@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD09F20C67D3E00F75F2F /* btn_followed_both@3x.png */; }; + B1DFD0A620C67D3F00F75F2F /* btn_followed_both@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD09F20C67D3E00F75F2F /* btn_followed_both@3x.png */; }; + B1DFD0A720C67D3F00F75F2F /* btn_privateMsg_friend@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD0A020C67D3E00F75F2F /* btn_privateMsg_friend@3x.png */; }; + B1DFD0A820C67D3F00F75F2F /* btn_privateMsg_friend@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1DFD0A020C67D3E00F75F2F /* btn_privateMsg_friend@3x.png */; }; B93D904B1ACBA3110057A6EE /* ProjectDeleteAlertControllerVisualStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = B93D904A1ACBA3110057A6EE /* ProjectDeleteAlertControllerVisualStyle.m */; }; B94C1B691AC945D30000C271 /* NewProjectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B94C1B681AC945D30000C271 /* NewProjectViewController.m */; }; - B94C1B6B1AC945FB0000C271 /* NewProject.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B94C1B6A1AC945FB0000C271 /* NewProject.storyboard */; }; B94C1B6E1AC98CCE0000C271 /* NewProjectTypeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B94C1B6D1AC98CCE0000C271 /* NewProjectTypeViewController.m */; }; B9A00D7F1ACA3A05008BA008 /* ProjectSetting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B9A00D7E1ACA3A05008BA008 /* ProjectSetting.storyboard */; }; B9A00D821ACA3A17008BA008 /* ProjectSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A00D811ACA3A17008BA008 /* ProjectSettingViewController.m */; }; @@ -1230,9 +3203,6 @@ D0C448151C02F76600DC1C4B /* icon_search_searchbar@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0C448131C02F76600DC1C4B /* icon_search_searchbar@3x.png */; }; D0C448181C03187100DC1C4B /* TaskSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C448171C03187100DC1C4B /* TaskSearchCell.m */; }; D0C4481B1C034C3F00DC1C4B /* TopicSearchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C4481A1C034C3F00DC1C4B /* TopicSearchCell.m */; }; - D0FE4DB81C103FA0006E5A76 /* git_icon_fork_old@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0FE4DB51C103FA0006E5A76 /* git_icon_fork_old@2x.png */; }; - D0FE4DB91C103FA0006E5A76 /* git_icon_star_old@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0FE4DB61C103FA0006E5A76 /* git_icon_star_old@2x.png */; }; - D0FE4DBA1C103FA0006E5A76 /* git_icon_watch_old@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0FE4DB71C103FA0006E5A76 /* git_icon_watch_old@2x.png */; }; E7A046A01A47279E00528C12 /* Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = E7A0469F1A47279E00528C12 /* Helper.m */; }; /* End PBXBuildFile section */ @@ -1247,6 +3217,16 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + B1D5F1FD20BC06CB00983FB6 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -1346,9 +3326,6 @@ 13FB5D1A1CA17A6400EE127C /* PR_push@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_push@3x.png"; sourceTree = ""; }; 13FB5D1B1CA17A6400EE127C /* PR_update_content@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_update_content@2x.png"; sourceTree = ""; }; 13FB5D1C1CA17A6400EE127C /* PR_update_content@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_update_content@3x.png"; sourceTree = ""; }; - 13FB5D1D1CA17A6400EE127C /* EPointLikeHead@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "EPointLikeHead@1x.png"; sourceTree = ""; }; - 13FB5D1E1CA17A6400EE127C /* EPointLikeHead@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "EPointLikeHead@2x.png"; sourceTree = ""; }; - 13FB5D1F1CA17A6400EE127C /* EPointLikeHead@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "EPointLikeHead@3x.png"; sourceTree = ""; }; 13FB5D201CA17A6400EE127C /* PR_refuse@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_refuse@2x.png"; sourceTree = ""; }; 13FB5D211CA17A6400EE127C /* PR_refuse@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_refuse@3x.png"; sourceTree = ""; }; 13FB5D221CA17A6400EE127C /* PR_grant_undo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_grant_undo@2x.png"; sourceTree = ""; }; @@ -1357,12 +3334,10 @@ 13FB5D251CA17A6400EE127C /* merge-request coding@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "merge-request coding@3x.png"; sourceTree = ""; }; 13FB5D261CA17A6400EE127C /* PR_mergeChanges@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_mergeChanges@2x.png"; sourceTree = ""; }; 13FB5D271CA17A6400EE127C /* PR_mergeChanges@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_mergeChanges@3x.png"; sourceTree = ""; }; - 13FB5D281CA17A6400EE127C /* PointLikeHead@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PointLikeHead@1x.png"; sourceTree = ""; }; 13FB5D291CA17A6400EE127C /* PointLikeHead@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PointLikeHead@2x.png"; sourceTree = ""; }; 13FB5D2A1CA17A6400EE127C /* PointLikeHead@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PointLikeHead@3x.png"; sourceTree = ""; }; 13FB5D2B1CA17A6400EE127C /* PR_review@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_review@2x.png"; sourceTree = ""; }; 13FB5D2C1CA17A6400EE127C /* PR_review@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_review@3x.png"; sourceTree = ""; }; - 13FB5D2D1CA17A6400EE127C /* PRReviewer@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PRReviewer@1x.png"; sourceTree = ""; }; 13FB5D2E1CA17A6400EE127C /* PRReviewer@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PRReviewer@2x.png"; sourceTree = ""; }; 13FB5D2F1CA17A6400EE127C /* PRReviewer@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PRReviewer@3x.png"; sourceTree = ""; }; 13FB5D301CA17A6400EE127C /* PR_review_undo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_review_undo@2x.png"; sourceTree = ""; }; @@ -1371,7 +3346,9 @@ 13FB5D351CA17A6400EE127C /* PR_grant@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_grant@3x.png"; sourceTree = ""; }; 13FB5D571CA194D600EE127C /* MRReviewerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MRReviewerCell.h; path = Cell/MRReviewerCell.h; sourceTree = ""; }; 13FB5D581CA194D600EE127C /* MRReviewerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MRReviewerCell.m; path = Cell/MRReviewerCell.m; sourceTree = ""; }; + 22A08D8B77355DB8A773B8E2 /* Pods-Coding_iOS-Coding_Enterprise_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Coding_iOS-Coding_Enterprise_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Coding_iOS-Coding_Enterprise_iOS/Pods-Coding_iOS-Coding_Enterprise_iOS.release.xcconfig"; sourceTree = ""; }; 2FD5D8DD0689696D28A6D49E /* Pods-Coding_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Coding_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Coding_iOS/Pods-Coding_iOS.release.xcconfig"; sourceTree = ""; }; + 344214A4A1281EB0C9B3DE71 /* Pods-Coding_iOS-CodingEnterprise_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Coding_iOS-CodingEnterprise_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Coding_iOS-CodingEnterprise_iOS/Pods-Coding_iOS-CodingEnterprise_iOS.debug.xcconfig"; sourceTree = ""; }; 34E37865A7DAAE68AEF68258 /* Pods-Coding_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Coding_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Coding_iOS/Pods-Coding_iOS.debug.xcconfig"; sourceTree = ""; }; 3A3878351AE293D50078D5DE /* EditLabelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditLabelViewController.h; sourceTree = ""; }; 3A3878361AE293D50078D5DE /* EditLabelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EditLabelViewController.m; sourceTree = ""; }; @@ -1389,7 +3366,6 @@ 3A38784B1AE36EF00078D5DE /* TopicListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopicListView.m; sourceTree = ""; }; 3A38784D1AE557700078D5DE /* TopicPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopicPreviewCell.h; sourceTree = ""; }; 3A38784E1AE557700078D5DE /* TopicPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopicPreviewCell.m; sourceTree = ""; }; - 4941C1866223FC6EAF6D77E6 /* libPods-Coding_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Coding_iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 4E0022811B72095E005308DE /* PointRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PointRecord.h; sourceTree = ""; }; 4E0022821B72095E005308DE /* PointRecord.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PointRecord.m; sourceTree = ""; }; 4E0022841B720966005308DE /* PointRecords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PointRecords.h; sourceTree = ""; }; @@ -1410,10 +3386,6 @@ 4E00229B1B735075005308DE /* EAIntroView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EAIntroView.m; sourceTree = ""; }; 4E00229E1B7360B1005308DE /* FunctionIntroManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FunctionIntroManager.h; sourceTree = ""; }; 4E00229F1B7360B1005308DE /* FunctionIntroManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FunctionIntroManager.m; sourceTree = ""; }; - 4E0022A21B7362EF005308DE /* intro_page0_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip4@2x.png"; sourceTree = ""; }; - 4E0022A31B7362EF005308DE /* intro_page0_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip5@2x.png"; sourceTree = ""; }; - 4E0022A41B7362EF005308DE /* intro_page0_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip6+@3x.png"; sourceTree = ""; }; - 4E0022A51B7362EF005308DE /* intro_page0_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip6@2x.png"; sourceTree = ""; }; 4E03AC991A5BDDF9002B000B /* STARTIMAGE.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = STARTIMAGE.jpg; sourceTree = ""; }; 4E03ACA41A5D2060002B000B /* UIVerticalAlignmentLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVerticalAlignmentLabel.h; sourceTree = ""; }; 4E03ACA51A5D2060002B000B /* UIVerticalAlignmentLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIVerticalAlignmentLabel.m; sourceTree = ""; }; @@ -1423,18 +3395,12 @@ 4E07D30C1A4A9F45009EDDF2 /* btn_file_reDo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_file_reDo@2x.png"; sourceTree = ""; }; 4E07D30F1A4D1484009EDDF2 /* EaseStartView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaseStartView.h; sourceTree = ""; }; 4E07D3101A4D1484009EDDF2 /* EaseStartView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaseStartView.m; sourceTree = ""; }; - 4E07D3121A4D3CA6009EDDF2 /* icon_user_monkey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey@2x.png"; sourceTree = ""; }; - 4E07D3131A4D3CA6009EDDF2 /* logo_coding@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo_coding@2x.png"; sourceTree = ""; }; 4E08497A1A918A7F00BD27F6 /* coding_emoji_38@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "coding_emoji_38@2x.png"; sourceTree = ""; }; 4E08497B1A918A7F00BD27F6 /* coding_emoji_39@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "coding_emoji_39@2x.png"; sourceTree = ""; }; 4E08497C1A918A7F00BD27F6 /* coding_emoji_40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "coding_emoji_40@2x.png"; sourceTree = ""; }; 4E08497D1A918A7F00BD27F6 /* coding_emoji_41@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "coding_emoji_41@2x.png"; sourceTree = ""; }; 4E08497E1A918A7F00BD27F6 /* coding_emoji_42@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "coding_emoji_42@2x.png"; sourceTree = ""; }; 4E08497F1A918A7F00BD27F6 /* coding_emoji_43@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "coding_emoji_43@2x.png"; sourceTree = ""; }; - 4E095A111D9534CB00E63D9E /* intro_page_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_selected@2x.png"; sourceTree = ""; }; - 4E095A121D9534CB00E63D9E /* intro_page_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_selected@3x.png"; sourceTree = ""; }; - 4E095A131D9534CB00E63D9E /* intro_page_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_unselected@2x.png"; sourceTree = ""; }; - 4E095A141D9534CB00E63D9E /* intro_page_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_unselected@3x.png"; sourceTree = ""; }; 4E095A571B690494008DC439 /* CodingBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodingBanner.h; sourceTree = ""; }; 4E095A581B690494008DC439 /* CodingBanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CodingBanner.m; sourceTree = ""; }; 4E095A5A1B6907AA008DC439 /* CodingBannersView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodingBannersView.h; sourceTree = ""; }; @@ -1445,11 +3411,6 @@ 4E095A631B6909F9008DC439 /* NSTimer+Addition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+Addition.m"; sourceTree = ""; }; 4E095A6B1B69F920008DC439 /* banner__page_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "banner__page_selected@2x.png"; sourceTree = ""; }; 4E095A6C1B69F920008DC439 /* banner__page_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "banner__page_unselected@2x.png"; sourceTree = ""; }; - 4E095A761B6B1E40008DC439 /* calendar_0x95B763@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0x95B763@2x.png"; sourceTree = ""; }; - 4E095A771B6B1E40008DC439 /* calendar_0x9AAFC2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0x9AAFC2@2x.png"; sourceTree = ""; }; - 4E095A781B6B1E40008DC439 /* calendar_0xB5B5B5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xB5B5B5@2x.png"; sourceTree = ""; }; - 4E095A791B6B1E40008DC439 /* calendar_0xF24B4B@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xF24B4B@2x.png"; sourceTree = ""; }; - 4E095A7A1B6B1E40008DC439 /* calendar_0xF5A523@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xF5A523@2x.png"; sourceTree = ""; }; 4E095A801B6B24DE008DC439 /* task_description_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_description_icon@2x.png"; sourceTree = ""; }; 4E095A811B6B24DE008DC439 /* time_clock_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "time_clock_icon@2x.png"; sourceTree = ""; }; 4E095A821B6B24DE008DC439 /* topic_comment_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "topic_comment_icon@2x.png"; sourceTree = ""; }; @@ -1500,8 +3461,6 @@ 4E15C7CF1A26D2F000FB8DAD /* FolderToMoveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FolderToMoveViewController.m; sourceTree = ""; }; 4E15C7D41A271A6300FB8DAD /* EaseToolBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaseToolBar.h; sourceTree = ""; }; 4E15C7D51A271A6300FB8DAD /* EaseToolBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaseToolBar.m; sourceTree = ""; }; - 4E19E7051BCE03CD00C66DC6 /* UIActionSheet+Front.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet+Front.h"; sourceTree = ""; }; - 4E19E7061BCE03CD00C66DC6 /* UIActionSheet+Front.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet+Front.m"; sourceTree = ""; }; 4E1A22801AB1729700CFC14F /* ProjectInfoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectInfoCell.h; sourceTree = ""; }; 4E1A22811AB1729700CFC14F /* ProjectInfoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectInfoCell.m; sourceTree = ""; }; 4E1A22831AB172C400CFC14F /* ProjectItemsCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectItemsCell.h; sourceTree = ""; }; @@ -1511,9 +3470,7 @@ 4E1A22891AB1844F00CFC14F /* EaseGitButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaseGitButton.h; sourceTree = ""; }; 4E1A228A1AB1844F00CFC14F /* EaseGitButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaseGitButton.m; sourceTree = ""; }; 4E1D99121DCAE67D00BAE585 /* icon_file_folder_out@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_folder_out@2x.png"; sourceTree = ""; }; - 4E1D99131DCAE67D00BAE585 /* icon_file_folder_out@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_folder_out@3x.png"; sourceTree = ""; }; 4E1D99141DCAE67D00BAE585 /* icon_file_folder_share@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_folder_share@2x.png"; sourceTree = ""; }; - 4E1D99151DCAE67D00BAE585 /* icon_file_folder_share@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_folder_share@3x.png"; sourceTree = ""; }; 4E1D991A1DCAE69600BAE585 /* icon_file_share_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_share_logo@2x.png"; sourceTree = ""; }; 4E1D991B1DCAE69600BAE585 /* icon_file_share_logo@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_share_logo@3x.png"; sourceTree = ""; }; 4E217EF81A70EDC700F6DF88 /* SVModalWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVModalWebViewController.h; sourceTree = ""; }; @@ -1603,7 +3560,6 @@ 4E38CF5E1A7A28AF005536C0 /* CodeBranchTagButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CodeBranchTagButton.m; sourceTree = ""; }; 4E38CF601A7B7C99005536C0 /* CodeBranchOrTag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodeBranchOrTag.h; sourceTree = ""; }; 4E38CF611A7B7C99005536C0 /* CodeBranchOrTag.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CodeBranchOrTag.m; sourceTree = ""; }; - 4E38CF631A7B8DD4005536C0 /* icon_triangle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_triangle@2x.png"; sourceTree = ""; }; 4E3DB53A1BFDD0F40062BA52 /* task_activity_icon_add_watcher@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_add_watcher@2x.png"; sourceTree = ""; }; 4E3DB53B1BFDD0F40062BA52 /* task_activity_icon_MergeRequestBean@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_MergeRequestBean@2x.png"; sourceTree = ""; }; 4E44DCF81D81486600E7F9AF /* HelpViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpViewController.h; sourceTree = ""; }; @@ -1673,8 +3629,6 @@ 4E4D6AAE1B2047DE00FD2E49 /* CommitCommentCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommitCommentCell.m; sourceTree = ""; }; 4E4D6AB01B21A96100FD2E49 /* Commits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Commits.h; sourceTree = ""; }; 4E4D6AB11B21A96100FD2E49 /* Commits.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Commits.m; sourceTree = ""; }; - 4E4D6ABF1B252CD400FD2E49 /* icon_code_file@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_file@2x.png"; sourceTree = ""; }; - 4E4D6AC01B252CD400FD2E49 /* icon_code_tree@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_tree@2x.png"; sourceTree = ""; }; 4E4D6AC71B252F4800FD2E49 /* icon_add_comment@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_add_comment@2x.png"; sourceTree = ""; }; 4E4D6AC91B2571B100FD2E49 /* git_icon_stared@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "git_icon_stared@2x.png"; sourceTree = ""; }; 4E4D6ACA1B2571B100FD2E49 /* git_icon_watched@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "git_icon_watched@2x.png"; sourceTree = ""; }; @@ -1724,8 +3678,6 @@ 4E5F39041ACA958C0010515D /* TopicCommentCCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopicCommentCCell.m; sourceTree = ""; }; 4E5F39061ACBFDCD0010515D /* keyboard_photo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard_photo@2x.png"; sourceTree = ""; }; 4E62410A1B74D65400E1533C /* search_tweet_like@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "search_tweet_like@2x.png"; sourceTree = ""; }; - 4E63189A1BDA198000EFED97 /* MRListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MRListViewController.h; sourceTree = ""; }; - 4E63189B1BDA198000EFED97 /* MRListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MRListViewController.m; sourceTree = ""; }; 4E6318A01BDA261100EFED97 /* MRListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MRListView.h; sourceTree = ""; }; 4E6318A11BDA261100EFED97 /* MRListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MRListView.m; sourceTree = ""; }; 4E63839B1B3262D300D98648 /* taskPriority0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority0@2x.png"; sourceTree = ""; }; @@ -1743,7 +3695,6 @@ 4E6383B51B32640900D98648 /* messageSystem@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "messageSystem@2x.png"; sourceTree = ""; }; 4E6383B61B32640900D98648 /* private_message_send_fail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "private_message_send_fail@2x.png"; sourceTree = ""; }; 4E6383BE1B3265DC00D98648 /* mrpr_icon_accepted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_accepted@2x.png"; sourceTree = ""; }; - 4E6383BF1B3265DC00D98648 /* mrpr_icon_arrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_arrow@2x.png"; sourceTree = ""; }; 4E6383C21B3265DC00D98648 /* mrpr_icon_refaused@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_refaused@2x.png"; sourceTree = ""; }; 4E6383C91B32665700D98648 /* project_item_activity@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_activity@2x.png"; sourceTree = ""; }; 4E6383CA1B32665700D98648 /* project_item_code@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_code@2x.png"; sourceTree = ""; }; @@ -1777,10 +3728,6 @@ 4E66EE231A28226000DA1B3E /* button_file_denete_unable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_denete_unable@2x.png"; sourceTree = ""; }; 4E66EE241A28226000DA1B3E /* button_file_move_enable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_move_enable@2x.png"; sourceTree = ""; }; 4E66EE251A28226000DA1B3E /* button_file_upload_enable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_upload_enable@2x.png"; sourceTree = ""; }; - 4E6B070D1BA3D9B5007D6027 /* intro_page1_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip4@2x.png"; sourceTree = ""; }; - 4E6B070E1BA3D9B5007D6027 /* intro_page1_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip5@2x.png"; sourceTree = ""; }; - 4E6B070F1BA3D9B5007D6027 /* intro_page1_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip6@2x.png"; sourceTree = ""; }; - 4E6B07101BA3D9B5007D6027 /* intro_page1_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip6+@3x.png"; sourceTree = ""; }; 4E6B07151BA4045E007D6027 /* MIDAUTUMNIMAGE.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = MIDAUTUMNIMAGE.jpg; sourceTree = ""; }; 4E6BA2AA1A1EE6AF005FD721 /* AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworking.h; sourceTree = ""; }; 4E6BA2AD1A1EE6AF005FD721 /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperation.h; sourceTree = ""; }; @@ -1853,7 +3800,6 @@ 4E72F8321B15B811001B6CE6 /* gif_mark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gif_mark@2x.png"; sourceTree = ""; }; 4E743E6B1A88A3CC00DADDE5 /* EaseMarkdownTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaseMarkdownTextView.h; sourceTree = ""; }; 4E743E6C1A88A3CC00DADDE5 /* EaseMarkdownTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaseMarkdownTextView.m; sourceTree = ""; }; - 4E743E6E1A88ABF700DADDE5 /* blankpage_image_Hi@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Hi@2x.png"; sourceTree = ""; }; 4E74EBFF1C311B6300EC0E1B /* SettingPhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingPhoneViewController.h; sourceTree = ""; }; 4E74EC001C311B6300EC0E1B /* SettingPhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingPhoneViewController.m; sourceTree = ""; }; 4E753D421B8AFDEC003A00B9 /* FileEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileEditViewController.h; sourceTree = ""; }; @@ -1944,20 +3890,10 @@ 4E8D5D721B454D5000B70936 /* OTPAuthClock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTPAuthClock.m; sourceTree = ""; }; 4E8D5D7B1B462ADB00B70936 /* OTPTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTPTableViewCell.h; sourceTree = ""; }; 4E8D5D7C1B462ADB00B70936 /* OTPTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTPTableViewCell.m; sourceTree = ""; }; - 4E8F92DB1B67BE3C00033D8F /* icon_user_monkey_i6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey_i6@2x.png"; sourceTree = ""; }; - 4E8F92DC1B67BE3C00033D8F /* icon_user_monkey_i6p@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey_i6p@3x.png"; sourceTree = ""; }; - 4E90F8971AF709C100B44F03 /* bubble.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = bubble.html; path = webview/app/build/bubble.html; sourceTree = ""; }; - 4E90F8981AF709C100B44F03 /* code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = code.html; path = webview/app/build/code.html; sourceTree = ""; }; - 4E90F8991AF709C100B44F03 /* markdown.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = markdown.html; path = webview/app/build/markdown.html; sourceTree = ""; }; - 4E90F89A1AF709C100B44F03 /* topic-ios.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = "topic-ios.html"; path = "webview/app/build/topic-ios.html"; sourceTree = ""; }; 4E91139E1A1C426000AC9431 /* ASPopUpView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASPopUpView.h; sourceTree = ""; }; 4E91139F1A1C426000AC9431 /* ASPopUpView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASPopUpView.m; sourceTree = ""; }; 4E9113A01A1C426000AC9431 /* ASProgressPopUpView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASProgressPopUpView.h; sourceTree = ""; }; 4E9113A11A1C426000AC9431 /* ASProgressPopUpView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASProgressPopUpView.m; sourceTree = ""; }; - 4E9113A51A1CB19900AC9431 /* icon_file_state_download@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_state_download@2x.png"; sourceTree = ""; }; - 4E9113A61A1CB19900AC9431 /* icon_file_state_goon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_state_goon@2x.png"; sourceTree = ""; }; - 4E9113A71A1CB19900AC9431 /* icon_file_state_look@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_state_look@2x.png"; sourceTree = ""; }; - 4E9113A81A1CB19900AC9431 /* icon_file_state_pause@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_state_pause@2x.png"; sourceTree = ""; }; 4E93F2311B84243D00017916 /* KxMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KxMenu.h; sourceTree = ""; }; 4E93F2321B84243D00017916 /* KxMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KxMenu.m; sourceTree = ""; }; 4E93F2351B84356500017916 /* file_menu_icon_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_menu_icon_delete@2x.png"; sourceTree = ""; }; @@ -1968,6 +3904,34 @@ 4E93F2411B85C4C300017916 /* FileInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileInfoViewController.h; sourceTree = ""; }; 4E93F2421B85C4C300017916 /* FileInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileInfoViewController.m; sourceTree = ""; }; 4E93F2431B85C4C300017916 /* FileInfoViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FileInfoViewController.xib; sourceTree = ""; }; + 4E9423BE1E69401B0095F1CD /* blankpage_image_Activity@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Activity@2x.png"; sourceTree = ""; }; + 4E9423BF1E69401B0095F1CD /* blankpage_image_Activity@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Activity@3x.png"; sourceTree = ""; }; + 4E9423C01E69401B0095F1CD /* blankpage_image_Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Default@2x.png"; sourceTree = ""; }; + 4E9423C11E69401B0095F1CD /* blankpage_image_Default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Default@3x.png"; sourceTree = ""; }; + 4E9423C21E69401B0095F1CD /* blankpage_image_File@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_File@2x.png"; sourceTree = ""; }; + 4E9423C31E69401B0095F1CD /* blankpage_image_File@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_File@3x.png"; sourceTree = ""; }; + 4E9423C41E69401B0095F1CD /* blankpage_image_LoadFail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_LoadFail@2x.png"; sourceTree = ""; }; + 4E9423C51E69401B0095F1CD /* blankpage_image_LoadFail@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_LoadFail@3x.png"; sourceTree = ""; }; + 4E9423C61E69401B0095F1CD /* blankpage_image_MessageList@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_MessageList@2x.png"; sourceTree = ""; }; + 4E9423C71E69401B0095F1CD /* blankpage_image_MessageList@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_MessageList@3x.png"; sourceTree = ""; }; + 4E9423C81E69401B0095F1CD /* blankpage_image_Notice@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Notice@2x.png"; sourceTree = ""; }; + 4E9423C91E69401B0095F1CD /* blankpage_image_Notice@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Notice@3x.png"; sourceTree = ""; }; + 4E9423CA1E69401B0095F1CD /* blankpage_image_Project@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Project@2x.png"; sourceTree = ""; }; + 4E9423CB1E69401B0095F1CD /* blankpage_image_Project@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Project@3x.png"; sourceTree = ""; }; + 4E9423CC1E69401B0095F1CD /* blankpage_image_ShopOrder@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_ShopOrder@2x.png"; sourceTree = ""; }; + 4E9423CD1E69401B0095F1CD /* blankpage_image_ShopOrder@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_ShopOrder@3x.png"; sourceTree = ""; }; + 4E9423CE1E69401B0095F1CD /* blankpage_image_Task@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Task@2x.png"; sourceTree = ""; }; + 4E9423CF1E69401B0095F1CD /* blankpage_image_Task@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Task@3x.png"; sourceTree = ""; }; + 4E9423D01E69401B0095F1CD /* blankpage_image_Team@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Team@2x.png"; sourceTree = ""; }; + 4E9423D11E69401B0095F1CD /* blankpage_image_Team@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Team@3x.png"; sourceTree = ""; }; + 4E9423D21E69401B0095F1CD /* blankpage_image_Tip@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Tip@2x.png"; sourceTree = ""; }; + 4E9423D31E69401B0095F1CD /* blankpage_image_Tip@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Tip@3x.png"; sourceTree = ""; }; + 4E9423D41E69401B0095F1CD /* blankpage_image_Topic@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Topic@2x.png"; sourceTree = ""; }; + 4E9423D51E69401B0095F1CD /* blankpage_image_Topic@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Topic@3x.png"; sourceTree = ""; }; + 4E9423D61E69401B0095F1CD /* blankpage_image_Tweet@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Tweet@2x.png"; sourceTree = ""; }; + 4E9423D71E69401B0095F1CD /* blankpage_image_Tweet@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Tweet@3x.png"; sourceTree = ""; }; + 4E9423D81E69401B0095F1CD /* blankpage_image_Wiki@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Wiki@2x.png"; sourceTree = ""; }; + 4E9423D91E69401B0095F1CD /* blankpage_image_Wiki@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Wiki@3x.png"; sourceTree = ""; }; 4E94C4E51B4A6AC700EB668A /* ScanBGView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScanBGView.h; sourceTree = ""; }; 4E94C4E61B4A6AC700EB668A /* ScanBGView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScanBGView.m; sourceTree = ""; }; 4E94C4EC1B4A867A00EB668A /* scan_bg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "scan_bg@2x.png"; sourceTree = ""; }; @@ -2052,8 +4016,6 @@ 4EA679181A14BFA0001A0324 /* icon_file_folder_normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_folder_normal@2x.png"; sourceTree = ""; }; 4EA6791B1A15A943001A0324 /* FileListFolderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileListFolderCell.h; sourceTree = ""; }; 4EA6791C1A15A943001A0324 /* FileListFolderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileListFolderCell.m; sourceTree = ""; }; - 4EA6791E1A15AB9F001A0324 /* FileListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileListViewController.h; sourceTree = ""; }; - 4EA6791F1A15AB9F001A0324 /* FileListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileListViewController.m; sourceTree = ""; }; 4EA7F1391A6D192B00A046BD /* NSData+ImageContentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+ImageContentType.h"; sourceTree = ""; }; 4EA7F13A1A6D192B00A046BD /* NSData+ImageContentType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+ImageContentType.m"; sourceTree = ""; }; 4EA7F13B1A6D192B00A046BD /* SDImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageCache.h; sourceTree = ""; }; @@ -2085,6 +4047,38 @@ 4EA7F1551A6D192B00A046BD /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+WebCacheOperation.m"; sourceTree = ""; }; 4EA7F1571A6D192B00A046BD /* ODRefreshControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ODRefreshControl.h; sourceTree = ""; }; 4EA7F1581A6D192B00A046BD /* ODRefreshControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ODRefreshControl.m; sourceTree = ""; }; + 4EAAD0121E5306F3008AA957 /* MRPRListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MRPRListViewController.h; sourceTree = ""; }; + 4EAAD0131E5306F3008AA957 /* MRPRListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MRPRListViewController.m; sourceTree = ""; }; + 4EAAD0151E53EFF2008AA957 /* EAFliterMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EAFliterMenu.h; sourceTree = ""; }; + 4EAAD0161E53EFF2008AA957 /* EAFliterMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EAFliterMenu.m; sourceTree = ""; }; + 4EAAD0191E540551008AA957 /* mrpr_icon_status_accepted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_accepted@2x.png"; sourceTree = ""; }; + 4EAAD01A1E540551008AA957 /* mrpr_icon_status_accepted@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_accepted@3x.png"; sourceTree = ""; }; + 4EAAD01B1E540551008AA957 /* mrpr_icon_status_canmerge@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_canmerge@2x.png"; sourceTree = ""; }; + 4EAAD01C1E540551008AA957 /* mrpr_icon_status_canmerge@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_canmerge@3x.png"; sourceTree = ""; }; + 4EAAD01D1E540551008AA957 /* mrpr_icon_status_cannotmerge@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_cannotmerge@2x.png"; sourceTree = ""; }; + 4EAAD01E1E540551008AA957 /* mrpr_icon_status_cannotmerge@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_cannotmerge@3x.png"; sourceTree = ""; }; + 4EAAD01F1E540551008AA957 /* mrpr_icon_status_refused@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_refused@2x.png"; sourceTree = ""; }; + 4EAAD0201E540551008AA957 /* mrpr_icon_status_refused@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_refused@3x.png"; sourceTree = ""; }; + 4EAAD0291E5405B4008AA957 /* mrpr_icon_status_cancel@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_cancel@2x.png"; sourceTree = ""; }; + 4EAAD02A1E5405B4008AA957 /* mrpr_icon_status_cancel@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_status_cancel@3x.png"; sourceTree = ""; }; + 4EAAD0491E542B2D008AA957 /* icon_code_executable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_executable@2x.png"; sourceTree = ""; }; + 4EAAD04A1E542B2D008AA957 /* icon_code_executable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_executable@3x.png"; sourceTree = ""; }; + 4EAAD04B1E542B2D008AA957 /* icon_code_tree@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_tree@2x.png"; sourceTree = ""; }; + 4EAAD04C1E542B2D008AA957 /* icon_code_tree@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_tree@3x.png"; sourceTree = ""; }; + 4EAAD04D1E542B2D008AA957 /* icon_code_file@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_file@2x.png"; sourceTree = ""; }; + 4EAAD04E1E542B2D008AA957 /* icon_code_file@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_file@3x.png"; sourceTree = ""; }; + 4EAAD04F1E542B2D008AA957 /* icon_code_git_link@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_git_link@2x.png"; sourceTree = ""; }; + 4EAAD0501E542B2D008AA957 /* icon_code_git_link@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_git_link@3x.png"; sourceTree = ""; }; + 4EAAD0591E544006008AA957 /* icon_triangle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_triangle@2x.png"; sourceTree = ""; }; + 4EAAD05A1E544006008AA957 /* icon_triangle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_triangle@3x.png"; sourceTree = ""; }; + 4EAAD05D1E545516008AA957 /* ProjectCodeListSearchCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectCodeListSearchCell.h; sourceTree = ""; }; + 4EAAD05E1E545516008AA957 /* ProjectCodeListSearchCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectCodeListSearchCell.m; sourceTree = ""; }; + 4EAAD0801E55AC6E008AA957 /* icon_code_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_image@2x.png"; sourceTree = ""; }; + 4EAAD0811E55AC6E008AA957 /* icon_code_image@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_code_image@3x.png"; sourceTree = ""; }; + 4EAAD09B1E5D8558008AA957 /* mrpr_icon_arrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_arrow@2x.png"; sourceTree = ""; }; + 4EAAD09C1E5D8558008AA957 /* mrpr_icon_arrow@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_arrow@3x.png"; sourceTree = ""; }; + 4EAAD0A31E5D8D90008AA957 /* PR_plus@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_plus@2x.png"; sourceTree = ""; }; + 4EAAD0A41E5D8D90008AA957 /* PR_plus@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_plus@3x.png"; sourceTree = ""; }; 4EABD2521AD3CA7E005E515F /* UIMessageInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIMessageInputView.h; sourceTree = ""; }; 4EABD2531AD3CA7E005E515F /* UIMessageInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIMessageInputView.m; sourceTree = ""; }; 4EABD2551AD3CAAC005E515F /* UIMessageInputView_Add.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIMessageInputView_Add.h; sourceTree = ""; }; @@ -2120,7 +4114,6 @@ 4EAE06BD1B7B51AF00179F4B /* file_activity_icon_move_file@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_move_file@2x.png"; sourceTree = ""; }; 4EAE06BE1B7B51AF00179F4B /* file_activity_icon_update_file@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_update_file@2x.png"; sourceTree = ""; }; 4EAE06BF1B7B51AF00179F4B /* file_activity_icon_upload_file@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_upload_file@2x.png"; sourceTree = ""; }; - 4EAE06C41B7B587200179F4B /* button_file_comment@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_comment@2x.png"; sourceTree = ""; }; 4EAE06C61B7C9EFF00179F4B /* FileVersionCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileVersionCell.h; sourceTree = ""; }; 4EAE06C71B7C9EFF00179F4B /* FileVersionCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileVersionCell.m; sourceTree = ""; }; 4EAECBBC1C44CB860096CA74 /* member_cell_edit_alias@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "member_cell_edit_alias@2x.png"; sourceTree = ""; }; @@ -2131,10 +4124,6 @@ 4EAECBC11C44CB860096CA74 /* member_cell_edit_type@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "member_cell_edit_type@3x.png"; sourceTree = ""; }; 4EB0C1FE1A807ED00042FC4F /* NSURL+Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURL+Common.h"; sourceTree = ""; }; 4EB0C1FF1A807ED00042FC4F /* NSURL+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURL+Common.m"; sourceTree = ""; }; - 4EB119F41D953AE200A36341 /* intro_page2_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip4@2x.png"; sourceTree = ""; }; - 4EB119F51D953AE200A36341 /* intro_page2_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip5@2x.png"; sourceTree = ""; }; - 4EB119F61D953AE200A36341 /* intro_page2_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip6@2x.png"; sourceTree = ""; }; - 4EB119F71D953AE200A36341 /* intro_page2_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip6+@3x.png"; sourceTree = ""; }; 4EB52F0B1C74691B00B5EBEA /* password_look@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "password_look@2x.png"; sourceTree = ""; }; 4EB52F0C1C74691B00B5EBEA /* password_look@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "password_look@3x.png"; sourceTree = ""; }; 4EB52F0D1C74691B00B5EBEA /* password_unlook@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "password_unlook@2x.png"; sourceTree = ""; }; @@ -2154,7 +4143,6 @@ 4EB52F291C76ED7000B5EBEA /* TagColorDisplayCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TagColorDisplayCell.h; sourceTree = ""; }; 4EB52F2A1C76ED7000B5EBEA /* TagColorDisplayCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TagColorDisplayCell.m; sourceTree = ""; }; 4EB52F2C1C77138A00B5EBEA /* button_scan@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_scan@2x.png"; sourceTree = ""; }; - 4EB52F2D1C77138A00B5EBEA /* button_scan@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_scan@3x.png"; sourceTree = ""; }; 4EB52F361C7C38F600B5EBEA /* ResourceReference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceReference.h; sourceTree = ""; }; 4EB52F371C7C38F600B5EBEA /* ResourceReference.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ResourceReference.m; sourceTree = ""; }; 4EB52F391C7C45E700B5EBEA /* taskResourceReference@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskResourceReference@2x.png"; sourceTree = ""; }; @@ -2171,20 +4159,6 @@ 4EB52F591C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_resource_reference_ProjectTopic@3x.png"; sourceTree = ""; }; 4EB52F5A1C7C5C4F00B5EBEA /* task_resource_reference_Task@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_resource_reference_Task@2x.png"; sourceTree = ""; }; 4EB52F5B1C7C5C4F00B5EBEA /* task_resource_reference_Task@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_resource_reference_Task@3x.png"; sourceTree = ""; }; - 4EB5A9341BF1DB4600C23AC3 /* libSocialSinaSSO.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialSinaSSO.a; sourceTree = ""; }; - 4EB5A9351BF1DB4600C23AC3 /* libWeiboSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWeiboSDK.a; sourceTree = ""; }; - 4EB5A9361BF1DB4600C23AC3 /* UMSocialSinaSSOHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialSinaSSOHandler.h; sourceTree = ""; }; - 4EB5A9371BF1DB4600C23AC3 /* WBHttpRequest+WeiboGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WBHttpRequest+WeiboGame.h"; sourceTree = ""; }; - 4EB5A9381BF1DB4600C23AC3 /* WBHttpRequest+WeiboShare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WBHttpRequest+WeiboShare.h"; sourceTree = ""; }; - 4EB5A9391BF1DB4600C23AC3 /* WBHttpRequest+WeiboToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WBHttpRequest+WeiboToken.h"; sourceTree = ""; }; - 4EB5A93A1BF1DB4600C23AC3 /* WBHttpRequest+WeiboUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WBHttpRequest+WeiboUser.h"; sourceTree = ""; }; - 4EB5A93B1BF1DB4600C23AC3 /* WBHttpRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBHttpRequest.h; sourceTree = ""; }; - 4EB5A93C1BF1DB4600C23AC3 /* WBSDKBasicButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBSDKBasicButton.h; sourceTree = ""; }; - 4EB5A93D1BF1DB4600C23AC3 /* WBSDKCommentButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBSDKCommentButton.h; sourceTree = ""; }; - 4EB5A93E1BF1DB4600C23AC3 /* WBSDKRelationshipButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBSDKRelationshipButton.h; sourceTree = ""; }; - 4EB5A93F1BF1DB4600C23AC3 /* WeiboSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = WeiboSDK.bundle; sourceTree = ""; }; - 4EB5A9401BF1DB4600C23AC3 /* WeiboSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeiboSDK.h; sourceTree = ""; }; - 4EB5A9411BF1DB4600C23AC3 /* WeiboUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeiboUser.h; sourceTree = ""; }; 4EB862AC1CABB21E008074D1 /* tipIcon_TeamMember@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tipIcon_TeamMember@2x.png"; sourceTree = ""; }; 4EBB62481A6F526C0045DAEF /* NJKWebViewProgress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NJKWebViewProgress.h; sourceTree = ""; }; 4EBB62491A6F526C0045DAEF /* NJKWebViewProgress.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NJKWebViewProgress.m; sourceTree = ""; }; @@ -2196,8 +4170,6 @@ 4EBD7FB01CE482A400B3AF49 /* country_code.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = country_code.plist; sourceTree = ""; }; 4EBD7FB21CE4833D00B3AF49 /* CountryCodeCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountryCodeCell.h; sourceTree = ""; }; 4EBD7FB31CE4833D00B3AF49 /* CountryCodeCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CountryCodeCell.m; sourceTree = ""; }; - 4EBDA87A1A6640340035ED96 /* UIActionSheet+Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet+Common.h"; sourceTree = ""; }; - 4EBDA87B1A6640340035ED96 /* UIActionSheet+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet+Common.m"; sourceTree = ""; }; 4EBDC27A1BC501C00037EB66 /* tipIcon_ProjectPayment@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tipIcon_ProjectPayment@2x.png"; sourceTree = ""; }; 4EBED55A1D93C9F700E3684E /* Coding_iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Coding_iOS.entitlements; sourceTree = ""; }; 4EBFBD171AA85B8500E4B10E /* add_user_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "add_user_icon@2x.png"; sourceTree = ""; }; @@ -2283,8 +4255,6 @@ 4ECF702B1B1704C5000280FF /* NProjectItemCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NProjectItemCell.m; sourceTree = ""; }; 4ECF703E1B180740000280FF /* EaseGitButtonsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EaseGitButtonsView.h; sourceTree = ""; }; 4ECF703F1B180740000280FF /* EaseGitButtonsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EaseGitButtonsView.m; sourceTree = ""; }; - 4ECF70411B18514F000280FF /* PRListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PRListViewController.h; sourceTree = ""; }; - 4ECF70421B18514F000280FF /* PRListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PRListViewController.m; sourceTree = ""; }; 4ECF70441B18557E000280FF /* MRPRS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MRPRS.h; sourceTree = ""; }; 4ECF70451B18557E000280FF /* MRPRS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MRPRS.m; sourceTree = ""; }; 4ECF70471B185BCC000280FF /* MRPR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MRPR.h; sourceTree = ""; }; @@ -2365,8 +4335,6 @@ 4EE1A21C1B5D02CA004284F1 /* ProjectActivityListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectActivityListView.m; sourceTree = ""; }; 4EE1A21D1B5D02CA004284F1 /* ProjectCodeListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectCodeListView.h; sourceTree = ""; }; 4EE1A21E1B5D02CA004284F1 /* ProjectCodeListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectCodeListView.m; sourceTree = ""; }; - 4EE1A21F1B5D02CA004284F1 /* ProjectFolderListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectFolderListView.h; sourceTree = ""; }; - 4EE1A2201B5D02CA004284F1 /* ProjectFolderListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectFolderListView.m; sourceTree = ""; }; 4EE1A2211B5D02CA004284F1 /* ProjectListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectListView.h; sourceTree = ""; }; 4EE1A2221B5D02CA004284F1 /* ProjectListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectListView.m; sourceTree = ""; }; 4EE1A2231B5D02CA004284F1 /* ProjectTaskListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectTaskListView.h; sourceTree = ""; }; @@ -2392,36 +4360,6 @@ 4EED9DD01B53BBCF000E5827 /* twoFABtn_Nav@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "twoFABtn_Nav@2x.png"; sourceTree = ""; }; 4EF17E5D1B3AB10F003CDD2D /* IntroductionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntroductionViewController.h; sourceTree = ""; }; 4EF17E5E1B3AB10F003CDD2D /* IntroductionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IntroductionViewController.m; sourceTree = ""; }; - 4EF17EAD1B3C3112003CDD2D /* intro_dot_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_selected@2x.png"; sourceTree = ""; }; - 4EF17EAE1B3C3112003CDD2D /* intro_dot_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_selected@3x.png"; sourceTree = ""; }; - 4EF17EAF1B3C3112003CDD2D /* intro_dot_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_unselected@2x.png"; sourceTree = ""; }; - 4EF17EB01B3C3112003CDD2D /* intro_dot_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_unselected@3x.png"; sourceTree = ""; }; - 4EF17EB11B3C3112003CDD2D /* intro_icon_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_0@2x.png"; sourceTree = ""; }; - 4EF17EB21B3C3112003CDD2D /* intro_icon_0@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_0@3x.png"; sourceTree = ""; }; - 4EF17EB31B3C3112003CDD2D /* intro_icon_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_1@2x.png"; sourceTree = ""; }; - 4EF17EB41B3C3112003CDD2D /* intro_icon_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_1@3x.png"; sourceTree = ""; }; - 4EF17EB51B3C3112003CDD2D /* intro_icon_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_2@2x.png"; sourceTree = ""; }; - 4EF17EB61B3C3112003CDD2D /* intro_icon_2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_2@3x.png"; sourceTree = ""; }; - 4EF17EB71B3C3112003CDD2D /* intro_icon_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_3@2x.png"; sourceTree = ""; }; - 4EF17EB81B3C3112003CDD2D /* intro_icon_3@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_3@3x.png"; sourceTree = ""; }; - 4EF17EB91B3C3112003CDD2D /* intro_icon_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_4@2x.png"; sourceTree = ""; }; - 4EF17EBA1B3C3112003CDD2D /* intro_icon_4@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_4@3x.png"; sourceTree = ""; }; - 4EF17EBB1B3C3112003CDD2D /* intro_icon_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_5@2x.png"; sourceTree = ""; }; - 4EF17EBC1B3C3112003CDD2D /* intro_icon_5@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_5@3x.png"; sourceTree = ""; }; - 4EF17EBD1B3C3112003CDD2D /* intro_icon_6@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_6@3x.png"; sourceTree = ""; }; - 4EF17EBE1B3C3112003CDD2D /* intro_tip_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_0@2x.png"; sourceTree = ""; }; - 4EF17EBF1B3C3112003CDD2D /* intro_tip_0@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_0@3x.png"; sourceTree = ""; }; - 4EF17EC01B3C3112003CDD2D /* intro_tip_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_1@2x.png"; sourceTree = ""; }; - 4EF17EC11B3C3112003CDD2D /* intro_tip_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_1@3x.png"; sourceTree = ""; }; - 4EF17EC21B3C3112003CDD2D /* intro_tip_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_2@2x.png"; sourceTree = ""; }; - 4EF17EC31B3C3112003CDD2D /* intro_tip_2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_2@3x.png"; sourceTree = ""; }; - 4EF17EC41B3C3112003CDD2D /* intro_tip_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_3@2x.png"; sourceTree = ""; }; - 4EF17EC51B3C3112003CDD2D /* intro_tip_3@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_3@3x.png"; sourceTree = ""; }; - 4EF17EC61B3C3112003CDD2D /* intro_tip_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_4@2x.png"; sourceTree = ""; }; - 4EF17EC71B3C3112003CDD2D /* intro_tip_4@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_4@3x.png"; sourceTree = ""; }; - 4EF17EC81B3C3112003CDD2D /* intro_tip_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_5@2x.png"; sourceTree = ""; }; - 4EF17EC91B3C3112003CDD2D /* intro_tip_5@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_5@3x.png"; sourceTree = ""; }; - 4EF17ECA1B3C3112003CDD2D /* intro_icon_6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_6@2x.png"; sourceTree = ""; }; 4EF374141BB1254700DDA662 /* LocalFoldersViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalFoldersViewController.h; sourceTree = ""; }; 4EF374151BB1254700DDA662 /* LocalFoldersViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocalFoldersViewController.m; sourceTree = ""; }; 4EF374171BB1255E00DDA662 /* LocalFilesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalFilesViewController.h; sourceTree = ""; }; @@ -2443,6 +4381,9 @@ 4EFE8DAE1B3960E6004B7559 /* logo_coding_top@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo_coding_top@2x.png"; sourceTree = ""; }; 4EFE8DB81B3A5727004B7559 /* Launch Screen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "Launch Screen.xib"; sourceTree = ""; }; 4EFF5A761E0AE54800683D03 /* libresolv.9.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.9.tbd; path = usr/lib/libresolv.9.tbd; sourceTree = SDKROOT; }; + 59EA81AF0F8C7610F675E1EB /* Pods-Coding_iOS-Coding_Enterprise_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Coding_iOS-Coding_Enterprise_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Coding_iOS-Coding_Enterprise_iOS/Pods-Coding_iOS-Coding_Enterprise_iOS.debug.xcconfig"; sourceTree = ""; }; + 627CA7E44F0D5A025A49E2F0 /* libPods-Coding_iOS-Coding_Enterprise_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Coding_iOS-Coding_Enterprise_iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 645969FE6A8616A74543C249 /* libPods-Coding_iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Coding_iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 7E335D9A1B6F5E94003D0F3D /* keyboard_arrow_down@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard_arrow_down@2x.png"; sourceTree = ""; }; 7E335D9B1B6F5E94003D0F3D /* keyboard_voice_record@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard_voice_record@2x.png"; sourceTree = ""; }; 7E335D9C1B6F5E94003D0F3D /* keyboard_voice@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard_voice@2x.png"; sourceTree = ""; }; @@ -2522,9 +4463,6 @@ 8E477017198770E700997D05 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 8E477019198770E700997D05 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; 8E477031198770E700997D05 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 8E525C8219F7E3F800496B34 /* blankpage_button_reload@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_button_reload@2x.png"; sourceTree = ""; }; - 8E525C8319F7E3F800496B34 /* blankpage_image_loadFail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_loadFail@2x.png"; sourceTree = ""; }; - 8E525C8619F7E3F800496B34 /* blankpage_image_Sleep@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "blankpage_image_Sleep@2x.png"; sourceTree = ""; }; 8E59F0DD1A0098BA009A905F /* SVPullToRefresh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVPullToRefresh.h; sourceTree = ""; }; 8E59F0DE1A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+SVInfiniteScrolling.h"; sourceTree = ""; }; 8E59F0DF1A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+SVInfiniteScrolling.m"; sourceTree = ""; }; @@ -2546,27 +4484,6 @@ 8E59F10C1A02188D009A905F /* CodeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CodeViewController.m; sourceTree = ""; }; 8E61D27A19C028CC00C00414 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; 8E62ADD919E28DA800963870 /* tipIcon_User@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tipIcon_User@2x.png"; sourceTree = ""; }; - 8E64ED6619ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionCheckmarkView.h; sourceTree = ""; }; - 8E64ED6719ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionCheckmarkView.m; sourceTree = ""; }; - 8E64ED6819ED0CE3006E99DA /* QBAssetsCollectionFooterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionFooterView.h; sourceTree = ""; }; - 8E64ED6919ED0CE3006E99DA /* QBAssetsCollectionFooterView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionFooterView.m; sourceTree = ""; }; - 8E64ED6A19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionOverlayView.h; sourceTree = ""; }; - 8E64ED6B19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionOverlayView.m; sourceTree = ""; }; - 8E64ED6C19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionVideoIndicatorView.h; sourceTree = ""; }; - 8E64ED6D19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionVideoIndicatorView.m; sourceTree = ""; }; - 8E64ED6E19ED0CE3006E99DA /* QBAssetsCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionViewCell.h; sourceTree = ""; }; - 8E64ED6F19ED0CE3006E99DA /* QBAssetsCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionViewCell.m; sourceTree = ""; }; - 8E64ED7019ED0CE3006E99DA /* QBAssetsCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionViewController.h; sourceTree = ""; }; - 8E64ED7119ED0CE3006E99DA /* QBAssetsCollectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionViewController.m; sourceTree = ""; }; - 8E64ED7219ED0CE3006E99DA /* QBAssetsCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsCollectionViewLayout.h; sourceTree = ""; }; - 8E64ED7319ED0CE3006E99DA /* QBAssetsCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsCollectionViewLayout.m; sourceTree = ""; }; - 8E64ED7419ED0CE3006E99DA /* QBImagePickerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBImagePickerController.h; sourceTree = ""; }; - 8E64ED7519ED0CE3006E99DA /* QBImagePickerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBImagePickerController.m; sourceTree = ""; }; - 8E64ED7619ED0CE3006E99DA /* QBImagePickerController.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = QBImagePickerController.strings; sourceTree = ""; }; - 8E64ED7719ED0CE3006E99DA /* QBImagePickerGroupCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBImagePickerGroupCell.h; sourceTree = ""; }; - 8E64ED7819ED0CE3006E99DA /* QBImagePickerGroupCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBImagePickerGroupCell.m; sourceTree = ""; }; - 8E64ED7919ED0CE3006E99DA /* QBImagePickerThumbnailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBImagePickerThumbnailView.h; sourceTree = ""; }; - 8E64ED7A19ED0CE3006E99DA /* QBImagePickerThumbnailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBImagePickerThumbnailView.m; sourceTree = ""; }; 8E64ED8719EE484A006E99DA /* NSDate+Helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+Helper.h"; sourceTree = ""; }; 8E64ED8819EE484A006E99DA /* NSDate+Helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+Helper.m"; sourceTree = ""; }; 8E64ED8919EE484A006E99DA /* README.textile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.textile; sourceTree = ""; }; @@ -2577,10 +4494,8 @@ 8E8F7B2219EF6306006BA8BD /* btn_followed_both@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_followed_both@2x.png"; sourceTree = ""; }; 8E8F7B2319EF6306006BA8BD /* btn_followed_not@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_followed_not@2x.png"; sourceTree = ""; }; 8E8F7B2419EF6306006BA8BD /* btn_followed_yes@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_followed_yes@2x.png"; sourceTree = ""; }; - 8E8F7B2519EF6306006BA8BD /* btn_privateMsg_black@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_privateMsg_black@2x.png"; sourceTree = ""; }; 8E8F7B2619EF6306006BA8BD /* btn_privateMsg_friend@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_privateMsg_friend@2x.png"; sourceTree = ""; }; 8E8F7B2719EF6306006BA8BD /* btn_privateMsg_stranger@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_privateMsg_stranger@2x.png"; sourceTree = ""; }; - 8E8F7B2819EF6306006BA8BD /* btn_privateMsg_white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_privateMsg_white@2x.png"; sourceTree = ""; }; 8E8F7B2919EF6306006BA8BD /* btn_project_add@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_project_add@2x.png"; sourceTree = ""; }; 8E8F7B2A19EF6306006BA8BD /* btn_project_added@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_project_added@2x.png"; sourceTree = ""; }; 8E8F7B2B19EF6306006BA8BD /* btn_project_quit@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_project_quit@2x.png"; sourceTree = ""; }; @@ -2959,12 +4874,559 @@ 927AFF491BFF6DAD00AAE593 /* shop_exchange_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shop_exchange_icon@3x.png"; sourceTree = ""; }; 927AFF4A1BFF6DAD00AAE593 /* shop_nar_history_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shop_nar_history_icon@2x.png"; sourceTree = ""; }; 927AFF4B1BFF6DAD00AAE593 /* shop_nar_history_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shop_nar_history_icon@3x.png"; sourceTree = ""; }; - 927AFF4C1BFF6DAD00AAE593 /* shop_unexchange_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shop_unexchange_icon@2x.png"; sourceTree = ""; }; - 927AFF4D1BFF6DAD00AAE593 /* shop_unexchange_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shop_unexchange_icon@3x.png"; sourceTree = ""; }; 927AFF561BFF755200AAE593 /* ExchangeGoodsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExchangeGoodsViewController.h; sourceTree = ""; }; 927AFF571BFF755200AAE593 /* ExchangeGoodsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExchangeGoodsViewController.m; sourceTree = ""; }; 927AFF591BFF772A00AAE593 /* ShopOrderTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopOrderTextFieldCell.h; sourceTree = ""; }; 927AFF5A1BFF772A00AAE593 /* ShopOrderTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopOrderTextFieldCell.m; sourceTree = ""; }; + B10341272024633800853447 /* logo_coding@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo_coding@2x.png"; sourceTree = ""; }; + B10341282024633900853447 /* logo_coding@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo_coding@3x.png"; sourceTree = ""; }; + B11DC7BE20245727004E76A9 /* button_terminal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_terminal@2x.png"; sourceTree = ""; }; + B11DC7BF20245728004E76A9 /* button_terminal@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_terminal@3x.png"; sourceTree = ""; }; + B1280CE8200EFDC600DEDF78 /* file_changeType_RENAME@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_changeType_RENAME@3x.png"; sourceTree = ""; }; + B1280CE9200EFDC600DEDF78 /* file_changeType_ADD@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_changeType_ADD@3x.png"; sourceTree = ""; }; + B1280CEA200EFDC600DEDF78 /* file_changeType_COPY@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_changeType_COPY@3x.png"; sourceTree = ""; }; + B1280CEB200EFDC600DEDF78 /* file_changeType_DELETE@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_changeType_DELETE@3x.png"; sourceTree = ""; }; + B1280CEC200EFDC600DEDF78 /* file_changeType_MODIFY@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_changeType_MODIFY@3x.png"; sourceTree = ""; }; + B1280CF3200EFEA400DEDF78 /* PR_add_label@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_add_label@3x.png"; sourceTree = ""; }; + B1280CF4200EFEA400DEDF78 /* PR_add_watcher@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_add_watcher@2x.png"; sourceTree = ""; }; + B1280CF5200EFEA400DEDF78 /* PR_del_label@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_del_label@3x.png"; sourceTree = ""; }; + B1280CF6200EFEA400DEDF78 /* PR_del_watcher@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_del_watcher@2x.png"; sourceTree = ""; }; + B1280CF7200EFEA400DEDF78 /* PR_add_reviewer@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_add_reviewer@3x.png"; sourceTree = ""; }; + B1280CF8200EFEA400DEDF78 /* PR_add_reviewer@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_add_reviewer@2x.png"; sourceTree = ""; }; + B1280CF9200EFEA400DEDF78 /* PR_del_watcher@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_del_watcher@3x.png"; sourceTree = ""; }; + B1280CFA200EFEA400DEDF78 /* PR_del_label@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_del_label@2x.png"; sourceTree = ""; }; + B1280CFB200EFEA400DEDF78 /* PR_add_watcher@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_add_watcher@3x.png"; sourceTree = ""; }; + B1280CFC200EFEA400DEDF78 /* PR_add_label@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_add_label@2x.png"; sourceTree = ""; }; + B1280CFD200EFEA400DEDF78 /* PR_del_reviewer@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_del_reviewer@2x.png"; sourceTree = ""; }; + B1280CFE200EFEA400DEDF78 /* PR_del_reviewer@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PR_del_reviewer@3x.png"; sourceTree = ""; }; + B12B63F51FE8A77200ACFDCC /* WeiboSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = WeiboSDK.bundle; sourceTree = ""; }; + B12B63F71FE8FF0300ACFDCC /* MartFunctionTipView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MartFunctionTipView.h; sourceTree = ""; }; + B12B63F81FE8FF0300ACFDCC /* MartFunctionTipView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MartFunctionTipView.m; sourceTree = ""; }; + B12B63FB1FE900D400ACFDCC /* AMPopTip+Animation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AMPopTip+Animation.m"; sourceTree = ""; }; + B12B63FC1FE900D400ACFDCC /* AMPopTip+Entrance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AMPopTip+Entrance.h"; sourceTree = ""; }; + B12B63FD1FE900D400ACFDCC /* AMPopTip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AMPopTip.m; sourceTree = ""; }; + B12B63FE1FE900D400ACFDCC /* AMPopTipDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AMPopTipDefaults.h; sourceTree = ""; }; + B12B63FF1FE900D400ACFDCC /* AMPopTip+Draw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AMPopTip+Draw.h"; sourceTree = ""; }; + B12B64001FE900D400ACFDCC /* AMPopTip+Exit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AMPopTip+Exit.h"; sourceTree = ""; }; + B12B64011FE900D400ACFDCC /* AMPopTip+Animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AMPopTip+Animation.h"; sourceTree = ""; }; + B12B64021FE900D400ACFDCC /* AMPopTip+Entrance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AMPopTip+Entrance.m"; sourceTree = ""; }; + B12B64031FE900D400ACFDCC /* AMPopTip+Draw.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AMPopTip+Draw.m"; sourceTree = ""; }; + B12B64041FE900D400ACFDCC /* AMPopTip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AMPopTip.h; sourceTree = ""; }; + B12B64051FE900D400ACFDCC /* AMPopTip+Exit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "AMPopTip+Exit.m"; sourceTree = ""; }; + B12B640C1FECB58F00ACFDCC /* login_wechat@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "login_wechat@3x.png"; sourceTree = ""; }; + B12B640D1FECB58F00ACFDCC /* login_wechat@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "login_wechat@2x.png"; sourceTree = ""; }; + B12B64101FF0D54800ACFDCC /* SettingSkillsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SettingSkillsViewController.h; sourceTree = ""; }; + B12B64111FF0D54800ACFDCC /* SettingSkillsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SettingSkillsViewController.m; sourceTree = ""; }; + B12B64131FF0DE4800ACFDCC /* SkillCCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SkillCCell.h; sourceTree = ""; }; + B12B64141FF0DE4800ACFDCC /* SkillCCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SkillCCell.m; sourceTree = ""; }; + B12B64161FF0E4CA00ACFDCC /* skill_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "skill_delete@2x.png"; sourceTree = ""; }; + B12B64171FF0E4CA00ACFDCC /* skill_delete@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "skill_delete@3x.png"; sourceTree = ""; }; + B12B641A1FF0F5E300ACFDCC /* JDStatusBarLayoutMarginHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JDStatusBarLayoutMarginHelper.h; sourceTree = ""; }; + B12B641B1FF0F5E300ACFDCC /* JDStatusBarLayoutMarginHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JDStatusBarLayoutMarginHelper.m; sourceTree = ""; }; + B12B641D1FF2835800ACFDCC /* CodingVipTipManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CodingVipTipManager.h; sourceTree = ""; }; + B12B641E1FF2835800ACFDCC /* CodingVipTipManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CodingVipTipManager.m; sourceTree = ""; }; + B12B64201FF33DFE00ACFDCC /* button_red_close@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_red_close@3x.png"; sourceTree = ""; }; + B12B64211FF33DFF00ACFDCC /* button_red_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_red_close@2x.png"; sourceTree = ""; }; + B12B64221FF33DFF00ACFDCC /* button_tip_close@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_tip_close@3x.png"; sourceTree = ""; }; + B12B64231FF33DFF00ACFDCC /* upgrade_success@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "upgrade_success@2x.png"; sourceTree = ""; }; + B12B64241FF33E0000ACFDCC /* upgrade_success@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "upgrade_success@3x.png"; sourceTree = ""; }; + B12B64251FF33E0000ACFDCC /* button_tip_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_tip_close@2x.png"; sourceTree = ""; }; + B12B64571FFB61AD00ACFDCC /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + B12B64581FFB61AD00ACFDCC /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + B12B645B1FFB61AD00ACFDCC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/QBImagePicker.strings; sourceTree = ""; }; + B12B645C1FFB61AD00ACFDCC /* QBImagePickerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBImagePickerController.h; sourceTree = ""; }; + B12B645D1FFB61AD00ACFDCC /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/QBImagePicker.strings"; sourceTree = ""; }; + B12B645E1FFB61AD00ACFDCC /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/QBImagePicker.strings; sourceTree = ""; }; + B12B645F1FFB61AD00ACFDCC /* QBAssetsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetsViewController.h; sourceTree = ""; }; + B12B64601FFB61AD00ACFDCC /* QBAlbumsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAlbumsViewController.h; sourceTree = ""; }; + B12B64611FFB61AD00ACFDCC /* QBVideoIconView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBVideoIconView.m; sourceTree = ""; }; + B12B64621FFB61AD00ACFDCC /* QBVideoIndicatorView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBVideoIndicatorView.m; sourceTree = ""; }; + B12B64631FFB61AD00ACFDCC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/QBImagePicker.strings; sourceTree = ""; }; + B12B64641FFB61AD00ACFDCC /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/QBImagePicker.strings; sourceTree = ""; }; + B12B64651FFB61AD00ACFDCC /* QBCheckmarkView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBCheckmarkView.h; sourceTree = ""; }; + B12B64661FFB61AD00ACFDCC /* QBAssetCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAssetCell.h; sourceTree = ""; }; + B12B64671FFB61AD00ACFDCC /* QBSlomoIconView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBSlomoIconView.h; sourceTree = ""; }; + B12B64681FFB61AD00ACFDCC /* QBAlbumCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAlbumCell.m; sourceTree = ""; }; + B12B64691FFB61AD00ACFDCC /* QBImagePicker.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = QBImagePicker.storyboard; sourceTree = ""; }; + B12B646A1FFB61AD00ACFDCC /* QBVideoIndicatorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBVideoIndicatorView.h; sourceTree = ""; }; + B12B646B1FFB61AD00ACFDCC /* QBAlbumsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAlbumsViewController.m; sourceTree = ""; }; + B12B646C1FFB61AD00ACFDCC /* QBVideoIconView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBVideoIconView.h; sourceTree = ""; }; + B12B646D1FFB61AD00ACFDCC /* QBAssetsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetsViewController.m; sourceTree = ""; }; + B12B646E1FFB61AD00ACFDCC /* QBImagePickerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBImagePickerController.m; sourceTree = ""; }; + B12B646F1FFB61AD00ACFDCC /* QBCheckmarkView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBCheckmarkView.m; sourceTree = ""; }; + B12B64701FFB61AD00ACFDCC /* QBAlbumCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QBAlbumCell.h; sourceTree = ""; }; + B12B64711FFB61AD00ACFDCC /* QBSlomoIconView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBSlomoIconView.m; sourceTree = ""; }; + B12B64721FFB61AD00ACFDCC /* QBAssetCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QBAssetCell.m; sourceTree = ""; }; + B12B64801FFC73A900ACFDCC /* PHAsset+Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PHAsset+Common.h"; sourceTree = ""; }; + B12B64811FFC73A900ACFDCC /* PHAsset+Common.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PHAsset+Common.m"; sourceTree = ""; }; + B131E20F2074D2ED00D84FAA /* project_item_reading@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_reading@3x.png"; sourceTree = ""; }; + B131E2102074D2EE00D84FAA /* project_item_reading@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_reading@2x.png"; sourceTree = ""; }; + B14689A41EE100B200B01371 /* vip_3_30@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_30@2x.png"; sourceTree = ""; }; + B14689A51EE100B200B01371 /* vip_3_30@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_30@3x.png"; sourceTree = ""; }; + B14689A61EE100B200B01371 /* vip_3_40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_40@2x.png"; sourceTree = ""; }; + B14689A71EE100B200B01371 /* vip_3_40@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_40@3x.png"; sourceTree = ""; }; + B14689A81EE100B200B01371 /* vip_3_45@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_45@2x.png"; sourceTree = ""; }; + B14689A91EE100B200B01371 /* vip_3_45@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_45@3x.png"; sourceTree = ""; }; + B14689AA1EE100B200B01371 /* vip_3_75@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_75@2x.png"; sourceTree = ""; }; + B14689AB1EE100B200B01371 /* vip_3_75@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_3_75@3x.png"; sourceTree = ""; }; + B14689AC1EE100B200B01371 /* vip_4_30@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_30@2x.png"; sourceTree = ""; }; + B14689AD1EE100B200B01371 /* vip_4_30@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_30@3x.png"; sourceTree = ""; }; + B14689AE1EE100B200B01371 /* vip_4_40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_40@2x.png"; sourceTree = ""; }; + B14689AF1EE100B200B01371 /* vip_4_40@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_40@3x.png"; sourceTree = ""; }; + B14689B01EE100B200B01371 /* vip_4_45@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_45@2x.png"; sourceTree = ""; }; + B14689B11EE100B200B01371 /* vip_4_45@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_45@3x.png"; sourceTree = ""; }; + B14689B21EE100B200B01371 /* vip_4_75@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_75@2x.png"; sourceTree = ""; }; + B14689B31EE100B200B01371 /* vip_4_75@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "vip_4_75@3x.png"; sourceTree = ""; }; + B14DE6DC20C914E60072ECEA /* AnimatedGIFImageSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimatedGIFImageSerialization.h; sourceTree = ""; }; + B14DE6DD20C914E60072ECEA /* AnimatedGIFImageSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimatedGIFImageSerialization.m; sourceTree = ""; }; + B152ED4C2090B223004A6E8A /* ProjectSettingEntranceController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectSettingEntranceController.h; sourceTree = ""; }; + B152ED4D2090B223004A6E8A /* ProjectSettingEntranceController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ProjectSettingEntranceController.m; sourceTree = ""; }; + B152ED522091B7CB004A6E8A /* ProjectArchiveViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectArchiveViewController.h; sourceTree = ""; }; + B152ED532091B7CB004A6E8A /* ProjectArchiveViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ProjectArchiveViewController.m; sourceTree = ""; }; + B152ED582092BF46004A6E8A /* EABoardTaskList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EABoardTaskList.h; sourceTree = ""; }; + B152ED592092BF46004A6E8A /* EABoardTaskList.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EABoardTaskList.m; sourceTree = ""; }; + B152ED5B2092D51E004A6E8A /* EATaskBoardListTaskCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EATaskBoardListTaskCell.h; sourceTree = ""; }; + B152ED5C2092D51E004A6E8A /* EATaskBoardListTaskCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EATaskBoardListTaskCell.m; sourceTree = ""; }; + B152ED5E2093018A004A6E8A /* EABoardTaskListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EABoardTaskListView.h; sourceTree = ""; }; + B152ED5F2093018A004A6E8A /* EABoardTaskListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EABoardTaskListView.m; sourceTree = ""; }; + B152ED6120935524004A6E8A /* EABoardTaskListBlankView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EABoardTaskListBlankView.h; sourceTree = ""; }; + B152ED6220935524004A6E8A /* EABoardTaskListBlankView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EABoardTaskListBlankView.m; sourceTree = ""; }; + B152ED6420935594004A6E8A /* EABoardTaskListBlankView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EABoardTaskListBlankView.xib; sourceTree = ""; }; + B152ED66209420CD004A6E8A /* RATaskBoardListListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RATaskBoardListListViewController.h; sourceTree = ""; }; + B152ED67209420CD004A6E8A /* RATaskBoardListListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RATaskBoardListListViewController.m; sourceTree = ""; }; + B152ED7A20945377004A6E8A /* project_item_taskboard@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_taskboard@2x.png"; sourceTree = ""; }; + B152ED7B20945377004A6E8A /* project_item_taskboard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_taskboard@3x.png"; sourceTree = ""; }; + B152ED7E209453E6004A6E8A /* taskBoardList@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskBoardList@3x.png"; sourceTree = ""; }; + B152ED7F209453E7004A6E8A /* taskboard_blankpage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_blankpage@2x.png"; sourceTree = ""; }; + B152ED80209453E7004A6E8A /* taskBoardList@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskBoardList@2x.png"; sourceTree = ""; }; + B152ED81209453E8004A6E8A /* taskboard_blankpage@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_blankpage@3x.png"; sourceTree = ""; }; + B152ED87209453F2004A6E8A /* taskboard_normal_page_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_normal_page_selected@3x.png"; sourceTree = ""; }; + B152ED88209453F2004A6E8A /* taskboard_normal_page_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_normal_page_selected@2x.png"; sourceTree = ""; }; + B152ED89209453F2004A6E8A /* taskboard_add_page_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_add_page_unselected@2x.png"; sourceTree = ""; }; + B152ED8A209453F2004A6E8A /* taskboard_add_page_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_add_page_selected@2x.png"; sourceTree = ""; }; + B152ED8B209453F2004A6E8A /* taskboard_add_page_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_add_page_selected@3x.png"; sourceTree = ""; }; + B152ED8C209453F2004A6E8A /* taskboard_add_page_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_add_page_unselected@3x.png"; sourceTree = ""; }; + B152ED8D209453F2004A6E8A /* taskboard_normal_page_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_normal_page_unselected@3x.png"; sourceTree = ""; }; + B152ED8E209453F2004A6E8A /* taskboard_normal_page_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskboard_normal_page_unselected@2x.png"; sourceTree = ""; }; + B15C98AE20D39CA100DDA425 /* project_icon_edit@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_icon_edit@2x.png"; sourceTree = ""; }; + B15C98AF20D39CA200DDA425 /* project_icon_edit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_icon_edit@3x.png"; sourceTree = ""; }; + B16E6C9F20C0FDB50076026D /* logo_coding_top@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo_coding_top@3x.png"; sourceTree = ""; }; + B16E6CA220C0FFFF0076026D /* Coding_Enterprise_iOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Coding_Enterprise_iOS.entitlements; sourceTree = ""; }; + B16E6CA420C13BA10076026D /* btn_dismiss@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_dismiss@3x.png"; sourceTree = ""; }; + B16E6CA520C13BA10076026D /* btn_dismiss@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_dismiss@2x.png"; sourceTree = ""; }; + B16E6CAB20C13BF40076026D /* btn_next_unable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_next_unable@2x.png"; sourceTree = ""; }; + B16E6CAC20C13BF40076026D /* btn_next_unable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_next_unable@3x.png"; sourceTree = ""; }; + B16E6CAD20C13BF40076026D /* btn_next_enable@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_next_enable@2x.png"; sourceTree = ""; }; + B16E6CAE20C13BF40076026D /* btn_next_enable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_next_enable@3x.png"; sourceTree = ""; }; + B16E6CB820C13F5E0076026D /* btn_project_add@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_project_add@3x.png"; sourceTree = ""; }; + B16E6CB920C13F5E0076026D /* btn_project_added@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_project_added@3x.png"; sourceTree = ""; }; + B16E6CBA20C13F5E0076026D /* btn_project_quit@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_project_quit@3x.png"; sourceTree = ""; }; + B16E6CBB20C13F5E0076026D /* btn_privateMsg_stranger@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_privateMsg_stranger@3x.png"; sourceTree = ""; }; + B16E6CC620C144910076026D /* done_Nav@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "done_Nav@2x.png"; sourceTree = ""; }; + B16E6CC720C144920076026D /* done_Nav@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "done_Nav@3x.png"; sourceTree = ""; }; + B16E6CC820C144920076026D /* done_un_Nav@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "done_un_Nav@2x.png"; sourceTree = ""; }; + B16E6CC920C144920076026D /* done_un_Nav@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "done_un_Nav@3x.png"; sourceTree = ""; }; + B16E6CD320C145BE0076026D /* quick_menu_icon_message@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_message@2x.png"; sourceTree = ""; }; + B16E6CD420C145BE0076026D /* quick_menu_icon_message@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_message@3x.png"; sourceTree = ""; }; + B16E6CD520C145BE0076026D /* quick_menu_icon_task@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_task@3x.png"; sourceTree = ""; }; + B16E6CD620C145BE0076026D /* quick_menu_icon_task@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_task@2x.png"; sourceTree = ""; }; + B16E6CD720C145BE0076026D /* quick_menu_icon_project@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_project@3x.png"; sourceTree = ""; }; + B16E6CD820C145BE0076026D /* quick_menu_icon_2fa@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_2fa@3x.png"; sourceTree = ""; }; + B16E6CD920C145BE0076026D /* quick_menu_icon_2fa@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_2fa@2x.png"; sourceTree = ""; }; + B16E6CDA20C145BE0076026D /* quick_menu_icon_project@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "quick_menu_icon_project@2x.png"; sourceTree = ""; }; + B16E6CEB20C147480076026D /* team_bg@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_bg@3x.png"; sourceTree = ""; }; + B16E6CEC20C147490076026D /* team_bg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_bg@2x.png"; sourceTree = ""; }; + B16E6CF220C147760076026D /* team_info_pro@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_pro@3x.png"; sourceTree = ""; }; + B16E6CF320C147760076026D /* team_info_pro@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_pro@2x.png"; sourceTree = ""; }; + B16E6CF420C147760076026D /* team_info_order@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_order@2x.png"; sourceTree = ""; }; + B16E6CF520C147760076026D /* team_info_order@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_order@3x.png"; sourceTree = ""; }; + B16E6CF620C147760076026D /* team_info_sup@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_sup@2x.png"; sourceTree = ""; }; + B16E6CF720C147760076026D /* team_info_mem@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_mem@3x.png"; sourceTree = ""; }; + B16E6CF820C147760076026D /* team_info_mem@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_mem@2x.png"; sourceTree = ""; }; + B16E6CF920C147760076026D /* team_info_sup@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_info_sup@3x.png"; sourceTree = ""; }; + B16E6CFB20C147760076026D /* team_cell_edit_team@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_cell_edit_team@3x.png"; sourceTree = ""; }; + B16E6CFC20C147760076026D /* team_cell_edit_team@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_cell_edit_team@2x.png"; sourceTree = ""; }; + B16E6CFD20C147760076026D /* team_cell_edit_delete@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_cell_edit_delete@3x.png"; sourceTree = ""; }; + B16E6CFE20C147760076026D /* team_cell_edit_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_cell_edit_delete@2x.png"; sourceTree = ""; }; + B16E6CFF20C147760076026D /* team_cell_edit_pro@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_cell_edit_pro@3x.png"; sourceTree = ""; }; + B16E6D0020C147760076026D /* team_cell_edit_pro@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "team_cell_edit_pro@2x.png"; sourceTree = ""; }; + B16E6D2020C148E50076026D /* intro_icon_4@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_4@3x.png"; sourceTree = ""; }; + B16E6D2120C148E50076026D /* intro_tip_2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_2@3x.png"; sourceTree = ""; }; + B16E6D2220C148E50076026D /* intro_icon_6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_6@2x.png"; sourceTree = ""; }; + B16E6D2320C148E50076026D /* intro_tip_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_0@2x.png"; sourceTree = ""; }; + B16E6D2420C148E50076026D /* intro_tip_0@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_0@3x.png"; sourceTree = ""; }; + B16E6D2520C148E50076026D /* intro_icon_6@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_6@3x.png"; sourceTree = ""; }; + B16E6D2620C148E50076026D /* intro_tip_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_2@2x.png"; sourceTree = ""; }; + B16E6D2720C148E50076026D /* intro_icon_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_4@2x.png"; sourceTree = ""; }; + B16E6D2820C148E50076026D /* intro_icon_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_0@2x.png"; sourceTree = ""; }; + B16E6D2920C148E50076026D /* intro_icon_2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_2@3x.png"; sourceTree = ""; }; + B16E6D2A20C148E50076026D /* intro_tip_4@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_4@3x.png"; sourceTree = ""; }; + B16E6D2B20C148E50076026D /* intro_tip_4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_4@2x.png"; sourceTree = ""; }; + B16E6D2C20C148E50076026D /* intro_icon_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_2@2x.png"; sourceTree = ""; }; + B16E6D2D20C148E50076026D /* intro_icon_0@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_0@3x.png"; sourceTree = ""; }; + B16E6D2E20C148E50076026D /* intro_tip_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_1@2x.png"; sourceTree = ""; }; + B16E6D2F20C148E50076026D /* intro_icon_5@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_5@3x.png"; sourceTree = ""; }; + B16E6D3020C148E50076026D /* intro_dot_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_unselected@2x.png"; sourceTree = ""; }; + B16E6D3120C148E50076026D /* intro_tip_3@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_3@3x.png"; sourceTree = ""; }; + B16E6D3220C148E50076026D /* intro_tip_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_3@2x.png"; sourceTree = ""; }; + B16E6D3320C148E50076026D /* intro_icon_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_5@2x.png"; sourceTree = ""; }; + B16E6D3420C148E50076026D /* intro_dot_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_unselected@3x.png"; sourceTree = ""; }; + B16E6D3520C148E50076026D /* intro_tip_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_1@3x.png"; sourceTree = ""; }; + B16E6D3620C148E50076026D /* intro_icon_3@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_3@3x.png"; sourceTree = ""; }; + B16E6D3720C148E50076026D /* intro_tip_5@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_5@3x.png"; sourceTree = ""; }; + B16E6D3820C148E50076026D /* intro_icon_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_1@2x.png"; sourceTree = ""; }; + B16E6D3920C148E50076026D /* intro_dot_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_selected@2x.png"; sourceTree = ""; }; + B16E6D3A20C148E50076026D /* intro_dot_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_selected@3x.png"; sourceTree = ""; }; + B16E6D3B20C148E50076026D /* intro_icon_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_1@3x.png"; sourceTree = ""; }; + B16E6D3C20C148E50076026D /* intro_tip_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_tip_5@2x.png"; sourceTree = ""; }; + B16E6D3D20C148E50076026D /* intro_icon_3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_icon_3@2x.png"; sourceTree = ""; }; + B16E6D3F20C148E50076026D /* intro_page0_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip5@2x.png"; sourceTree = ""; }; + B16E6D4020C148E50076026D /* intro_page_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_selected@2x.png"; sourceTree = ""; }; + B16E6D4120C148E50076026D /* intro_page_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_unselected@2x.png"; sourceTree = ""; }; + B16E6D4220C148E50076026D /* intro_page0_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip4@2x.png"; sourceTree = ""; }; + B16E6D4320C148E50076026D /* intro_page_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_unselected@3x.png"; sourceTree = ""; }; + B16E6D4420C148E50076026D /* intro_page_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_selected@3x.png"; sourceTree = ""; }; + B16E6D4520C148E50076026D /* intro_page0_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip6@2x.png"; sourceTree = ""; }; + B16E6D4620C148E50076026D /* intro_page0_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip6+@3x.png"; sourceTree = ""; }; + B16E6D4720C148E50076026D /* intro_page0_ipX@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ipX@3x.png"; sourceTree = ""; }; + B16E6D4920C148E50076026D /* icon_user_monkey_i6p@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey_i6p@3x.png"; sourceTree = ""; }; + B16E6D4A20C148E50076026D /* icon_user_monkey_i6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey_i6@2x.png"; sourceTree = ""; }; + B16E6D4B20C148E50076026D /* icon_user_monkey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey@2x.png"; sourceTree = ""; }; + B16E6D4F20C148E50076026D /* intro_dot_light_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_light_unselected@2x.png"; sourceTree = ""; }; + B16E6D5020C148E50076026D /* intro_dot_light_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_light_unselected@3x.png"; sourceTree = ""; }; + B16E6D5120C148E50076026D /* intro_dot_light_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_light_selected@3x.png"; sourceTree = ""; }; + B16E6D5220C148E50076026D /* intro_dot_light_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_light_selected@2x.png"; sourceTree = ""; }; + B16E6D5320C148E50076026D /* intro_icon_wiki_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_wiki_down.gif; sourceTree = ""; }; + B16E6D5520C148E50076026D /* intro_dot_dark_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_dark_unselected@3x.png"; sourceTree = ""; }; + B16E6D5620C148E50076026D /* intro_dot_dark_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_dark_selected@3x.png"; sourceTree = ""; }; + B16E6D5720C148E50076026D /* intro_dot_dark_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_dark_selected@2x.png"; sourceTree = ""; }; + B16E6D5820C148E50076026D /* intro_dot_dark_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_dot_dark_unselected@2x.png"; sourceTree = ""; }; + B16E6D5920C148E50076026D /* intro_icon_wiki_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_wiki_up.gif; sourceTree = ""; }; + B16E6D5A20C148E50076026D /* intro_icon_file_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_file_up.gif; sourceTree = ""; }; + B16E6D5B20C148E50076026D /* intro_icon_code_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_code_up.gif; sourceTree = ""; }; + B16E6D5C20C148E50076026D /* intro_icon_task_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_task_up.gif; sourceTree = ""; }; + B16E6D5D20C148E50076026D /* intro_icon_file_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_file_down.gif; sourceTree = ""; }; + B16E6D5E20C148E50076026D /* intro_icon_task_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_task_down.gif; sourceTree = ""; }; + B16E6D5F20C148E50076026D /* intro_icon_code_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = intro_icon_code_down.gif; sourceTree = ""; }; + B16E6D6120C148E50076026D /* intro_page0_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip5@2x.png"; sourceTree = ""; }; + B16E6D6220C148E50076026D /* intro_page2_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip6+@3x.png"; sourceTree = ""; }; + B16E6D6320C148E50076026D /* intro_page1_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip6@2x.png"; sourceTree = ""; }; + B16E6D6420C148E50076026D /* intro_page1_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip4@2x.png"; sourceTree = ""; }; + B16E6D6520C148E50076026D /* intro_page2_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip5@2x.png"; sourceTree = ""; }; + B16E6D6620C148E50076026D /* intro_page1_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip6+@3x.png"; sourceTree = ""; }; + B16E6D6720C148E50076026D /* intro_page_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_selected@2x.png"; sourceTree = ""; }; + B16E6D6820C148E50076026D /* intro_page_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_unselected@2x.png"; sourceTree = ""; }; + B16E6D6920C148E50076026D /* intro_page0_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip4@2x.png"; sourceTree = ""; }; + B16E6D6A20C148E50076026D /* intro_page1_ip5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page1_ip5@2x.png"; sourceTree = ""; }; + B16E6D6B20C148E50076026D /* intro_page_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_unselected@3x.png"; sourceTree = ""; }; + B16E6D6C20C148E50076026D /* intro_page_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page_selected@3x.png"; sourceTree = ""; }; + B16E6D6D20C148E50076026D /* intro_page0_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip6@2x.png"; sourceTree = ""; }; + B16E6D6E20C148E50076026D /* intro_page2_ip4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip4@2x.png"; sourceTree = ""; }; + B16E6D6F20C148E50076026D /* intro_page0_ip6+@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page0_ip6+@3x.png"; sourceTree = ""; }; + B16E6D7020C148E50076026D /* intro_page2_ip6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "intro_page2_ip6@2x.png"; sourceTree = ""; }; + B16E6D7220C148E50076026D /* icon_user_monkey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey@2x.png"; sourceTree = ""; }; + B16E6D7320C148E50076026D /* icon_user_monkey@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_user_monkey@3x.png"; sourceTree = ""; }; + B16EEF06208DDBB5005ABFD5 /* timeline_icon_read@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "timeline_icon_read@3x.png"; sourceTree = ""; }; + B16EEF07208DDBB6005ABFD5 /* timeline_icon_unread@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "timeline_icon_unread@3x.png"; sourceTree = ""; }; + B16EEF11209080D7005ABFD5 /* TaskBoardsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TaskBoardsViewController.h; sourceTree = ""; }; + B16EEF12209080D7005ABFD5 /* TaskBoardsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TaskBoardsViewController.m; sourceTree = ""; }; + B177F5C02060E6B1006709C2 /* wiki.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = wiki.html; sourceTree = ""; }; + B177F5C12060E6B1006709C2 /* bubble.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = bubble.html; sourceTree = ""; }; + B177F5C22060E6B1006709C2 /* markdown.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = markdown.html; sourceTree = ""; }; + B177F5C32060E6B1006709C2 /* topic-ios.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "topic-ios.html"; sourceTree = ""; }; + B177F5C42060E6B1006709C2 /* code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = code.html; sourceTree = ""; }; + B17CC31220731E900077C956 /* icon_release_tag_blue@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_release_tag_blue@3x.png"; sourceTree = ""; }; + B17CC31320731E910077C956 /* icon_release_tag_blue@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_release_tag_blue@2x.png"; sourceTree = ""; }; + B17CC31720731FF10077C956 /* code_release_resource_Zip@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_Zip@2x.png"; sourceTree = ""; }; + B17CC31820731FF10077C956 /* code_release_resource_Zip@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_Zip@3x.png"; sourceTree = ""; }; + B17CC31920731FF10077C956 /* code_release_resource_Default@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_Default@3x.png"; sourceTree = ""; }; + B17CC31A20731FF10077C956 /* code_release_resource__Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource__Default@2x.png"; sourceTree = ""; }; + B17CC31B20731FF10077C956 /* code_release_resource_Task@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_Task@2x.png"; sourceTree = ""; }; + B17CC31C20731FF10077C956 /* code_release_resource_Task@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_Task@3x.png"; sourceTree = ""; }; + B17CC3232073212D0077C956 /* code_release_resource_ProjectFile@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_ProjectFile@3x.png"; sourceTree = ""; }; + B17CC3242073212D0077C956 /* code_release_resource_MergeRequestBean@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_MergeRequestBean@3x.png"; sourceTree = ""; }; + B17CC3252073212D0077C956 /* code_release_resource_ProjectFile@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_ProjectFile@2x.png"; sourceTree = ""; }; + B17CC3262073212D0077C956 /* code_release_resource_ProjectTopic@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_ProjectTopic@3x.png"; sourceTree = ""; }; + B17CC3272073212E0077C956 /* code_release_resource_MergeRequestBean@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_MergeRequestBean@2x.png"; sourceTree = ""; }; + B17CC3282073212E0077C956 /* code_release_resource_ProjectTopic@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "code_release_resource_ProjectTopic@2x.png"; sourceTree = ""; }; + B1816061202063440022B4C6 /* EATerminalViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EATerminalViewController.h; sourceTree = ""; }; + B1816062202063440022B4C6 /* EATerminalViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EATerminalViewController.m; sourceTree = ""; }; + B1817EB42063899400E9BAD1 /* EACodeBranchListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeBranchListViewController.h; sourceTree = ""; }; + B1817EB52063899400E9BAD1 /* EACodeBranchListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeBranchListViewController.m; sourceTree = ""; }; + B1817EB7206389F500E9BAD1 /* EACodeReleaseListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleaseListViewController.h; sourceTree = ""; }; + B1817EB8206389F500E9BAD1 /* EACodeReleaseListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleaseListViewController.m; sourceTree = ""; }; + B1817EBA2063936100E9BAD1 /* EACodeBranches.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeBranches.h; sourceTree = ""; }; + B1817EBB2063936100E9BAD1 /* EACodeBranches.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeBranches.m; sourceTree = ""; }; + B1817EBD2063951000E9BAD1 /* EABasePageModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EABasePageModel.h; sourceTree = ""; }; + B1817EBE2063951000E9BAD1 /* EABasePageModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EABasePageModel.m; sourceTree = ""; }; + B1817EC2206397E000E9BAD1 /* EACodeRelease.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeRelease.h; sourceTree = ""; }; + B1817EC3206397E000E9BAD1 /* EACodeRelease.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeRelease.m; sourceTree = ""; }; + B1817EC5206397F500E9BAD1 /* EACodeReleases.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleases.h; sourceTree = ""; }; + B1817EC6206397F500E9BAD1 /* EACodeReleases.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleases.m; sourceTree = ""; }; + B1817EC820639E9500E9BAD1 /* EACodeReleaseListCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleaseListCell.h; sourceTree = ""; }; + B1817EC920639E9500E9BAD1 /* EACodeReleaseListCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleaseListCell.m; sourceTree = ""; }; + B1817ECB20639F0A00E9BAD1 /* EACodeBranchListCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeBranchListCell.h; sourceTree = ""; }; + B1817ECC20639F0A00E9BAD1 /* EACodeBranchListCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeBranchListCell.m; sourceTree = ""; }; + B1817EE22064F92C00E9BAD1 /* EACodeReleaseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleaseViewController.h; sourceTree = ""; }; + B1817EE32064F92C00E9BAD1 /* EACodeReleaseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleaseViewController.m; sourceTree = ""; }; + B1817EE52064FC6100E9BAD1 /* EACodeReleaseTopCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleaseTopCell.h; sourceTree = ""; }; + B1817EE62064FC6100E9BAD1 /* EACodeReleaseTopCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleaseTopCell.m; sourceTree = ""; }; + B1817EE82064FC7300E9BAD1 /* EACodeReleaseBodyCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleaseBodyCell.h; sourceTree = ""; }; + B1817EE92064FC7300E9BAD1 /* EACodeReleaseBodyCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleaseBodyCell.m; sourceTree = ""; }; + B1817EEB2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EACodeReleaseAttachmentsOrReferencesCell.h; sourceTree = ""; }; + B1817EEC2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EACodeReleaseAttachmentsOrReferencesCell.m; sourceTree = ""; }; + B1817EEE2068C7A100E9BAD1 /* EACodeBranchListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EACodeBranchListCell.xib; sourceTree = ""; }; + B1817EF02068F4B400E9BAD1 /* EACodeReleaseListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EACodeReleaseListCell.xib; sourceTree = ""; }; + B1817EF22069186C00E9BAD1 /* project_item_tag@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_tag@2x.png"; sourceTree = ""; }; + B1817EF32069186C00E9BAD1 /* project_item_branch@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_branch@2x.png"; sourceTree = ""; }; + B1817EF42069186D00E9BAD1 /* project_item_branch@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_branch@3x.png"; sourceTree = ""; }; + B1817EF52069186E00E9BAD1 /* project_item_tag@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_tag@3x.png"; sourceTree = ""; }; + B1817EFA206918D100E9BAD1 /* icon_branch_protected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_branch_protected@3x.png"; sourceTree = ""; }; + B1817EFB206918D200E9BAD1 /* icon_branch_protected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_branch_protected@2x.png"; sourceTree = ""; }; + B1817EFE2069197C00E9BAD1 /* icon_release_tag@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_release_tag@3x.png"; sourceTree = ""; }; + B1817EFF2069197C00E9BAD1 /* icon_release_tag@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_release_tag@2x.png"; sourceTree = ""; }; + B1817F0220691B2700E9BAD1 /* EACodeReleaseTopCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EACodeReleaseTopCell.xib; sourceTree = ""; }; + B1817F042069F67700E9BAD1 /* EAEditCodeReleaseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EAEditCodeReleaseViewController.h; sourceTree = ""; }; + B1817F052069F67700E9BAD1 /* EAEditCodeReleaseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EAEditCodeReleaseViewController.m; sourceTree = ""; }; + B184166720513CA000207666 /* topic_add_watcher_btn@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "topic_add_watcher_btn@3x.png"; sourceTree = ""; }; + B184166820513CA000207666 /* tweet_comment_btn@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tweet_comment_btn@3x.png"; sourceTree = ""; }; + B186AEAE20F462F600A6AF35 /* UIAlertController+Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIAlertController+Common.h"; sourceTree = ""; }; + B186AEAF20F462F600A6AF35 /* UIAlertController+Common.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIAlertController+Common.m"; sourceTree = ""; }; + B1890C1E2015D82600F52ABA /* wiki_menu_0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_0@2x.png"; sourceTree = ""; }; + B1890C1F2015D82600F52ABA /* wiki_menu_2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_2@3x.png"; sourceTree = ""; }; + B1890C202015D82600F52ABA /* wiki_menu_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_2@2x.png"; sourceTree = ""; }; + B1890C212015D82600F52ABA /* wiki_menu_0@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_0@3x.png"; sourceTree = ""; }; + B1890C222015D82600F52ABA /* wiki_revert@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_revert@3x.png"; sourceTree = ""; }; + B1890C232015D82600F52ABA /* wiki_revert@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_revert@2x.png"; sourceTree = ""; }; + B1890C242015D82600F52ABA /* wiki_menu_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_1@2x.png"; sourceTree = ""; }; + B1890C252015D82600F52ABA /* wiki_menu_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_1@3x.png"; sourceTree = ""; }; + B1890C272015D82600F52ABA /* wiki_menu_icon_share@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_icon_share@2x.png"; sourceTree = ""; }; + B1890C282015D82600F52ABA /* wiki_menu_icon_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wiki_menu_icon_delete@2x.png"; sourceTree = ""; }; + B1890C332015D87800F52ABA /* EAWiki.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EAWiki.h; sourceTree = ""; }; + B1890C342015D87800F52ABA /* EAWiki.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EAWiki.m; sourceTree = ""; }; + B1890C362015D89A00F52ABA /* WikiMenuListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiMenuListView.m; sourceTree = ""; }; + B1890C372015D89A00F52ABA /* WikiMenuListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiMenuListView.h; sourceTree = ""; }; + B1890C392015D8C800F52ABA /* WikiMenuListCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiMenuListCell.h; sourceTree = ""; }; + B1890C3A2015D8C800F52ABA /* WikiMenuListCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiMenuListCell.m; sourceTree = ""; }; + B1890C3B2015D8C800F52ABA /* WikiHistoryCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiHistoryCell.m; sourceTree = ""; }; + B1890C3C2015D8C800F52ABA /* WikiHistoryCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiHistoryCell.h; sourceTree = ""; }; + B1890C3F2015D8F700F52ABA /* WikiHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiHeaderView.h; sourceTree = ""; }; + B1890C402015D8F700F52ABA /* WikiHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiHeaderView.m; sourceTree = ""; }; + B1890C422015D92500F52ABA /* WikiHistoryListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiHistoryListViewController.h; sourceTree = ""; }; + B1890C432015D92500F52ABA /* WikiEditViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiEditViewController.m; sourceTree = ""; }; + B1890C442015D92500F52ABA /* WikiHistoryListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiHistoryListViewController.m; sourceTree = ""; }; + B1890C452015D92600F52ABA /* WikiViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiViewController.h; sourceTree = ""; }; + B1890C462015D92600F52ABA /* WikiEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WikiEditViewController.h; sourceTree = ""; }; + B1890C472015D92600F52ABA /* WikiViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WikiViewController.m; sourceTree = ""; }; + B1890C4B2019B29800F52ABA /* UINavigationBar+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UINavigationBar+Common.m"; sourceTree = ""; }; + B1890C4C2019B29800F52ABA /* UINavigationBar+Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UINavigationBar+Common.h"; sourceTree = ""; }; + B1944142206BB87F00147158 /* EALocalCodeListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EALocalCodeListViewController.h; sourceTree = ""; }; + B1944143206BB87F00147158 /* EALocalCodeListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EALocalCodeListViewController.m; sourceTree = ""; }; + B1944145206BB89100147158 /* EALocalCodeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EALocalCodeViewController.h; sourceTree = ""; }; + B1944146206BB89100147158 /* EALocalCodeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EALocalCodeViewController.m; sourceTree = ""; }; + B1944148206BB8BB00147158 /* EALocalCodeListCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EALocalCodeListCell.h; sourceTree = ""; }; + B1944149206BB8BB00147158 /* EALocalCodeListCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EALocalCodeListCell.m; sourceTree = ""; }; + B1944153206CBE8C00147158 /* code_lang.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = code_lang.plist; sourceTree = ""; }; + B19D4EDF1F690F5E00C598F3 /* file_activity_icon_rename@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_rename@2x.png"; sourceTree = ""; }; + B19D4EE01F690F5E00C598F3 /* file_activity_icon_rename@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_rename@3x.png"; sourceTree = ""; }; + B19D4EE71F6FAA6000C598F3 /* AboutPointViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutPointViewController.h; sourceTree = ""; }; + B19D4EE81F6FAA6000C598F3 /* AboutPointViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutPointViewController.m; sourceTree = ""; }; + B19D4EE91F6FAA6000C598F3 /* AboutPointViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AboutPointViewController.xib; sourceTree = ""; }; + B19D4EEC1F6FCEAC00C598F3 /* CodingSkill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodingSkill.h; sourceTree = ""; }; + B19D4EED1F6FCEAC00C598F3 /* CodingSkill.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CodingSkill.m; sourceTree = ""; }; + B19D4EEF1F710EF900C598F3 /* ShopSwitchCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopSwitchCell.h; sourceTree = ""; }; + B19D4EF01F710EF900C598F3 /* ShopSwitchCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopSwitchCell.m; sourceTree = ""; }; + B19D4EF11F710EF900C598F3 /* ShopSwitchCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShopSwitchCell.xib; sourceTree = ""; }; + B19D4EF41F7210C300C598F3 /* user_info_shop@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "user_info_shop@2x.png"; sourceTree = ""; }; + B19D4EF51F7210C300C598F3 /* user_info_shop@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "user_info_shop@3x.png"; sourceTree = ""; }; + B19D4EF91F7247BA00C598F3 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = ""; }; + B19D4EFA1F7247BA00C598F3 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = ""; }; + B19D4EFD1F724CDC00C598F3 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; }; + B1AB5C90202953E40075A669 /* terminal_tail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_tail@2x.png"; sourceTree = ""; }; + B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_unselected@2x.png"; sourceTree = ""; }; + B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_unselected@3x.png"; sourceTree = ""; }; + B1AB5C93202953E40075A669 /* terminal_tail@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_tail@3x.png"; sourceTree = ""; }; + B1AB5C94202953E40075A669 /* terminal_more@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_more@3x.png"; sourceTree = ""; }; + B1AB5C95202953E40075A669 /* terminal_more@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_more@2x.png"; sourceTree = ""; }; + B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_triangle@3x.png"; sourceTree = ""; }; + B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_selected@3x.png"; sourceTree = ""; }; + B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_triangle@2x.png"; sourceTree = ""; }; + B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_selected@2x.png"; sourceTree = ""; }; + B1AB5CA6202D7D4D0075A669 /* button_file_createFolder_enable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_createFolder_enable@3x.png"; sourceTree = ""; }; + B1AB5CA7202D7D4E0075A669 /* button_file_denete_enable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_denete_enable@3x.png"; sourceTree = ""; }; + B1AB5CA8202D7D4E0075A669 /* button_file_download_enable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_download_enable@3x.png"; sourceTree = ""; }; + B1AB5CA9202D7D4E0075A669 /* button_file_upload_enable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_upload_enable@3x.png"; sourceTree = ""; }; + B1AB5CAA202D7D4E0075A669 /* button_file_history@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_history@3x.png"; sourceTree = ""; }; + B1AB5CAB202D7D4F0075A669 /* button_file_activity@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_activity@3x.png"; sourceTree = ""; }; + B1AB5CAC202D7D4F0075A669 /* button_file_denete_unable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_denete_unable@3x.png"; sourceTree = ""; }; + B1AB5CAD202D7D4F0075A669 /* button_file_download_unable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_download_unable@3x.png"; sourceTree = ""; }; + B1AB5CAE202D7D4F0075A669 /* button_file_move_enable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_move_enable@3x.png"; sourceTree = ""; }; + B1AB5CAF202D7D4F0075A669 /* button_file_move_unable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_move_unable@3x.png"; sourceTree = ""; }; + B1AB5CB0202D7D500075A669 /* button_file_createFolder_unable@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_file_createFolder_unable@3x.png"; sourceTree = ""; }; + B1ACFE0B20A975E2000BC41E /* EAMilestone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EAMilestone.h; sourceTree = ""; }; + B1ACFE0C20A975E2000BC41E /* EAMilestone.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EAMilestone.m; sourceTree = ""; }; + B1B2BDB01F79E74000645EAD /* net_route.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = net_route.h; sourceTree = ""; }; + B1BCB8701FCD006A0098B87B /* icon_file_doc_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_doc_big@2x.png"; sourceTree = ""; }; + B1BCB8711FCD006B0098B87B /* icon_file_zip_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_zip_big@2x.png"; sourceTree = ""; }; + B1BCB8721FCD006B0098B87B /* icon_file_pdf_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_pdf_big@2x.png"; sourceTree = ""; }; + B1BCB8731FCD006B0098B87B /* icon_file_psd_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_psd_big@2x.png"; sourceTree = ""; }; + B1BCB8741FCD006B0098B87B /* icon_file_unknown_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_unknown_big@2x.png"; sourceTree = ""; }; + B1BCB8751FCD006B0098B87B /* icon_file_movie_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_movie_big@2x.png"; sourceTree = ""; }; + B1BCB8761FCD006B0098B87B /* icon_file_md_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_md_big@2x.png"; sourceTree = ""; }; + B1BCB8771FCD006B0098B87B /* icon_file_apk_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_apk_big@2x.png"; sourceTree = ""; }; + B1BCB8781FCD006C0098B87B /* icon_file_code_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_code_big@2x.png"; sourceTree = ""; }; + B1BCB8791FCD006C0098B87B /* icon_file_txt_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_txt_big@2x.png"; sourceTree = ""; }; + B1BCB87A1FCD006C0098B87B /* icon_file_music_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_music_big@2x.png"; sourceTree = ""; }; + B1BCB87B1FCD006C0098B87B /* icon_file_ai_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_ai_big@2x.png"; sourceTree = ""; }; + B1BCB87C1FCD006C0098B87B /* icon_file_ppt_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_ppt_big@2x.png"; sourceTree = ""; }; + B1BCB88A1FCD0A6D0098B87B /* icon_file_xls_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_xls_big@2x.png"; sourceTree = ""; }; + B1BCB88C1FCE61D60098B87B /* EAPayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EAPayViewController.h; sourceTree = ""; }; + B1BCB88D1FCE61D60098B87B /* EAPayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EAPayViewController.m; sourceTree = ""; }; + B1BCB88E1FCE61D60098B87B /* EAPayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EAPayViewController.xib; sourceTree = ""; }; + B1BCB8911FCE662A0098B87B /* NSLayoutConstraintLine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSLayoutConstraintLine.m; sourceTree = ""; }; + B1BCB8921FCE662A0098B87B /* NSLayoutConstraintLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSLayoutConstraintLine.h; sourceTree = ""; }; + B1BCB8951FCE93830098B87B /* alipay@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "alipay@2x.png"; sourceTree = ""; }; + B1BCB8961FCE93830098B87B /* alipay@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "alipay@3x.png"; sourceTree = ""; }; + B1BCB8971FCE93830098B87B /* wechat@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wechat@2x.png"; sourceTree = ""; }; + B1BCB8981FCE93830098B87B /* wechat@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wechat@3x.png"; sourceTree = ""; }; + B1BFC4B420B2ACED009427FC /* editBoardList@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "editBoardList@3x.png"; sourceTree = ""; }; + B1BFC4B520B2ACEE009427FC /* editBoardList@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "editBoardList@2x.png"; sourceTree = ""; }; + B1BFC4C020B2B24E009427FC /* task_activity_icon_add_milestone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_add_milestone@2x.png"; sourceTree = ""; }; + B1BFC4C120B2B24E009427FC /* task_activity_icon_add_milestone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_add_milestone@3x.png"; sourceTree = ""; }; + B1BFC4C220B2B24F009427FC /* task_activity_icon_remove_milestone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_remove_milestone@3x.png"; sourceTree = ""; }; + B1BFC4C320B2B250009427FC /* task_activity_icon_remove_milestone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_remove_milestone@2x.png"; sourceTree = ""; }; + B1C60C7820BFA2150073D3CA /* NProjectFileListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NProjectFileListView.h; sourceTree = ""; }; + B1C60C7920BFA2150073D3CA /* NProjectFileListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NProjectFileListView.m; sourceTree = ""; }; + B1C60C7C20BFCDBD0073D3CA /* EditMemberTypeProjectListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditMemberTypeProjectListViewController.h; sourceTree = ""; }; + B1C60C7D20BFCDBD0073D3CA /* EditMemberTypeProjectListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EditMemberTypeProjectListViewController.m; sourceTree = ""; }; + B1C60C8020BFCEFD0073D3CA /* NFileListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NFileListViewController.m; sourceTree = ""; }; + B1C60C8120BFCEFD0073D3CA /* NFileListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NFileListViewController.h; sourceTree = ""; }; + B1C60C8B20BFF7940073D3CA /* ProjectTypeExplanationViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ProjectTypeExplanationViewController.xib; sourceTree = ""; }; + B1C60C8C20BFF7950073D3CA /* ProjectTypeExplanationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectTypeExplanationViewController.h; sourceTree = ""; }; + B1C60C8D20BFF7950073D3CA /* ProjectTypeExplanationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectTypeExplanationViewController.m; sourceTree = ""; }; + B1C60C9220C004C70073D3CA /* TeamPurchaseBillingCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseBillingCell.h; sourceTree = ""; }; + B1C60C9320C004C70073D3CA /* TeamPurchaseTopCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseTopCell.m; sourceTree = ""; }; + B1C60C9420C004C70073D3CA /* TeamPurchaseBillingCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseBillingCell.m; sourceTree = ""; }; + B1C60C9520C004C80073D3CA /* TeamPurchaseOrderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseOrderCell.h; sourceTree = ""; }; + B1C60C9620C004C80073D3CA /* TeamPurchaseOrderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseOrderCell.m; sourceTree = ""; }; + B1C60C9720C004C80073D3CA /* TeamPurchaseTopCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseTopCell.h; sourceTree = ""; }; + B1C60C9E20C0DDF30073D3CA /* TeamSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamSettingViewController.h; sourceTree = ""; }; + B1C60C9F20C0DDF40073D3CA /* TeamPurchaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseViewController.h; sourceTree = ""; }; + B1C60CA020C0DDF40073D3CA /* TeamSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamSettingViewController.m; sourceTree = ""; }; + B1C60CA120C0DDF40073D3CA /* TeamPurchaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseViewController.m; sourceTree = ""; }; + B1C60CA220C0DDF50073D3CA /* TeamSupportViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamSupportViewController.h; sourceTree = ""; }; + B1C60CA320C0DDF50073D3CA /* TeamSupportViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamSupportViewController.m; sourceTree = ""; }; + B1C60CAA20C0FC750073D3CA /* Launch Screen_E.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "Launch Screen_E.xib"; sourceTree = ""; }; + B1C871121EADAEE1003DACF0 /* loading_monkey@2x.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "loading_monkey@2x.gif"; sourceTree = ""; }; + B1C871141EADF0B1003DACF0 /* messageAT@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "messageAT@3x.png"; sourceTree = ""; }; + B1C871151EADF0B1003DACF0 /* messageComment@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "messageComment@3x.png"; sourceTree = ""; }; + B1C871161EADF0B1003DACF0 /* messageProjectFollows@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "messageProjectFollows@3x.png"; sourceTree = ""; }; + B1C871171EADF0B1003DACF0 /* messageSystem@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "messageSystem@3x.png"; sourceTree = ""; }; + B1C8711C1EADF0FF003DACF0 /* addBtn_Artboard@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "addBtn_Artboard@2x.png"; sourceTree = ""; }; + B1C8711D1EADF0FF003DACF0 /* addBtn_Artboard@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "addBtn_Artboard@3x.png"; sourceTree = ""; }; + B1C8711E1EADF0FF003DACF0 /* back_green_Nav@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_green_Nav@2x.png"; sourceTree = ""; }; + B1C8711F1EADF0FF003DACF0 /* back_green_Nav@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_green_Nav@3x.png"; sourceTree = ""; }; + B1C871201EADF0FF003DACF0 /* back_T_Nav@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_T_Nav@2x.png"; sourceTree = ""; }; + B1C871211EADF0FF003DACF0 /* back_T_Nav@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "back_T_Nav@3x.png"; sourceTree = ""; }; + B1C871221EADF0FF003DACF0 /* settingBtn_Nav@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "settingBtn_Nav@2x.png"; sourceTree = ""; }; + B1C871231EADF0FF003DACF0 /* settingBtn_Nav@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "settingBtn_Nav@3x.png"; sourceTree = ""; }; + B1C8712C1EADF155003DACF0 /* project_item_activity@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_activity@3x.png"; sourceTree = ""; }; + B1C8712D1EADF155003DACF0 /* project_item_code@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_code@3x.png"; sourceTree = ""; }; + B1C8712E1EADF155003DACF0 /* project_item_file@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_file@3x.png"; sourceTree = ""; }; + B1C8712F1EADF155003DACF0 /* project_item_member@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_member@3x.png"; sourceTree = ""; }; + B1C871301EADF155003DACF0 /* project_item_mr_pr@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_mr_pr@3x.png"; sourceTree = ""; }; + B1C871311EADF155003DACF0 /* project_item_readme@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_readme@3x.png"; sourceTree = ""; }; + B1C871321EADF155003DACF0 /* project_item_task@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_task@3x.png"; sourceTree = ""; }; + B1C871331EADF155003DACF0 /* project_item_wiki@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_wiki@2x.png"; sourceTree = ""; }; + B1C871341EADF155003DACF0 /* project_item_wiki@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_wiki@3x.png"; sourceTree = ""; }; + B1C8713E1EADF1C1003DACF0 /* taskDeadline@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskDeadline@3x.png"; sourceTree = ""; }; + B1C8713F1EADF1C1003DACF0 /* taskOwner@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskOwner@3x.png"; sourceTree = ""; }; + B1C871401EADF1C1003DACF0 /* taskPriority@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority@3x.png"; sourceTree = ""; }; + B1C871411EADF1C1003DACF0 /* taskProgress@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskProgress@3x.png"; sourceTree = ""; }; + B1C871421EADF1C1003DACF0 /* taskProject@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskProject@3x.png"; sourceTree = ""; }; + B1C871481EADF217003DACF0 /* user_info_company@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "user_info_company@2x.png"; sourceTree = ""; }; + B1C871491EADF217003DACF0 /* user_info_company@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "user_info_company@3x.png"; sourceTree = ""; }; + B1C8714C1EADF3AC003DACF0 /* mrpr_icon_fileChange@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "mrpr_icon_fileChange@3x.png"; sourceTree = ""; }; + B1C8714E1EADF48B003DACF0 /* cell_arrow_left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cell_arrow_left@2x.png"; sourceTree = ""; }; + B1C8714F1EADF48B003DACF0 /* cell_arrow_left@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cell_arrow_left@3x.png"; sourceTree = ""; }; + B1C871521EADF4D4003DACF0 /* UITableViewCell+Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITableViewCell+Common.h"; sourceTree = ""; }; + B1C871531EADF4D4003DACF0 /* UITableViewCell+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableViewCell+Common.m"; sourceTree = ""; }; + B1C871551EAE003A003DACF0 /* project_item_topic@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_item_topic@3x.png"; sourceTree = ""; }; + B1C871571EB0884A003DACF0 /* little_phone_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "little_phone_icon@3x.png"; sourceTree = ""; }; + B1C871591EB182C7003DACF0 /* checkbox_checked@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "checkbox_checked@3x.png"; sourceTree = ""; }; + B1C8715A1EB182C7003DACF0 /* checkbox_unchecked@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "checkbox_unchecked@3x.png"; sourceTree = ""; }; + B1C8715B1EB182C7003DACF0 /* taskPriority0_small@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority0_small@3x.png"; sourceTree = ""; }; + B1C8715C1EB182C7003DACF0 /* taskPriority0@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority0@3x.png"; sourceTree = ""; }; + B1C8715D1EB182C7003DACF0 /* taskPriority1_small@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority1_small@3x.png"; sourceTree = ""; }; + B1C8715E1EB182C7003DACF0 /* taskPriority1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority1@3x.png"; sourceTree = ""; }; + B1C8715F1EB182C7003DACF0 /* taskPriority2_small@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority2_small@3x.png"; sourceTree = ""; }; + B1C871601EB182C7003DACF0 /* taskPriority2@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority2@3x.png"; sourceTree = ""; }; + B1C871611EB182C7003DACF0 /* taskPriority3_small@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority3_small@3x.png"; sourceTree = ""; }; + B1C871621EB182C7003DACF0 /* taskPriority3@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "taskPriority3@3x.png"; sourceTree = ""; }; + B1C8716D1EB1832B003DACF0 /* task_description_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_description_icon@3x.png"; sourceTree = ""; }; + B1C8716E1EB1832B003DACF0 /* topic_comment_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "topic_comment_icon@3x.png"; sourceTree = ""; }; + B1C8716F1EB1832B003DACF0 /* time_clock_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "time_clock_icon@3x.png"; sourceTree = ""; }; + B1C871731EB18599003DACF0 /* calendar_0x59A2FF@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0x59A2FF@2x.png"; sourceTree = ""; }; + B1C871741EB18599003DACF0 /* calendar_0x59A2FF@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0x59A2FF@3x.png"; sourceTree = ""; }; + B1C871751EB18599003DACF0 /* calendar_0xA1CF64@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xA1CF64@2x.png"; sourceTree = ""; }; + B1C871761EB18599003DACF0 /* calendar_0xA1CF64@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xA1CF64@3x.png"; sourceTree = ""; }; + B1C871771EB18599003DACF0 /* calendar_0xA9B3BE@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xA9B3BE@2x.png"; sourceTree = ""; }; + B1C871781EB18599003DACF0 /* calendar_0xA9B3BE@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xA9B3BE@3x.png"; sourceTree = ""; }; + B1C871791EB18599003DACF0 /* calendar_0xF56061@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xF56061@2x.png"; sourceTree = ""; }; + B1C8717A1EB18599003DACF0 /* calendar_0xF56061@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xF56061@3x.png"; sourceTree = ""; }; + B1C8717B1EB18599003DACF0 /* calendar_0xF68435@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xF68435@2x.png"; sourceTree = ""; }; + B1C8717C1EB18599003DACF0 /* calendar_0xF68435@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "calendar_0xF68435@3x.png"; sourceTree = ""; }; + B1C871871EB1E608003DACF0 /* btn_setFrequent@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_setFrequent@3x.png"; sourceTree = ""; }; + B1C871881EB1E608003DACF0 /* cell_checkmark@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cell_checkmark@3x.png"; sourceTree = ""; }; + B1C871891EB1E608003DACF0 /* icon_add_comment@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_add_comment@3x.png"; sourceTree = ""; }; + B1C8718A1EB1E608003DACF0 /* nav_page_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nav_page_selected@3x.png"; sourceTree = ""; }; + B1C8718B1EB1E608003DACF0 /* nav_page_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nav_page_unselected@3x.png"; sourceTree = ""; }; + B1C8718C1EB1E608003DACF0 /* tasks_all@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tasks_all@3x.png"; sourceTree = ""; }; + B1C871931EB2D9E6003DACF0 /* task_activity_icon_add_watcher@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_add_watcher@3x.png"; sourceTree = ""; }; + B1C871941EB2D9E6003DACF0 /* task_activity_icon_commit_refer@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_commit_refer@3x.png"; sourceTree = ""; }; + B1C871951EB2D9E6003DACF0 /* task_activity_icon_create@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_create@3x.png"; sourceTree = ""; }; + B1C871961EB2D9E6003DACF0 /* task_activity_icon_finish@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_finish@3x.png"; sourceTree = ""; }; + B1C871971EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_MergeRequestBean@3x.png"; sourceTree = ""; }; + B1C871981EB2D9E6003DACF0 /* task_activity_icon_reassign@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_reassign@3x.png"; sourceTree = ""; }; + B1C871991EB2D9E6003DACF0 /* task_activity_icon_remove_watcher@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_remove_watcher@3x.png"; sourceTree = ""; }; + B1C8719A1EB2D9E6003DACF0 /* task_activity_icon_restore@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_restore@3x.png"; sourceTree = ""; }; + B1C8719B1EB2D9E6003DACF0 /* task_activity_icon_update_deadline@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_update_deadline@3x.png"; sourceTree = ""; }; + B1C8719C1EB2D9E6003DACF0 /* task_activity_icon_update_description@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_update_description@3x.png"; sourceTree = ""; }; + B1C8719D1EB2D9E6003DACF0 /* task_activity_icon_update_label@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_update_label@3x.png"; sourceTree = ""; }; + B1C8719E1EB2D9E6003DACF0 /* task_activity_icon_update_priority@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_update_priority@3x.png"; sourceTree = ""; }; + B1C8719F1EB2D9E6003DACF0 /* task_activity_icon_update@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_activity_icon_update@3x.png"; sourceTree = ""; }; + B1C871AD1EB2D9F0003DACF0 /* file_activity_icon_create@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_create@3x.png"; sourceTree = ""; }; + B1C871AE1EB2D9F0003DACF0 /* file_activity_icon_delete_history@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_delete_history@3x.png"; sourceTree = ""; }; + B1C871AF1EB2D9F0003DACF0 /* file_activity_icon_move_file@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_move_file@3x.png"; sourceTree = ""; }; + B1C871B01EB2D9F0003DACF0 /* file_activity_icon_update_file@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_update_file@3x.png"; sourceTree = ""; }; + B1C871B11EB2D9F0003DACF0 /* file_activity_icon_upload_file@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "file_activity_icon_upload_file@3x.png"; sourceTree = ""; }; + B1C871B71EB338FD003DACF0 /* comment_bg@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "comment_bg@3x.png"; sourceTree = ""; }; + B1C871B81EB338FD003DACF0 /* project_tag_btn@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_tag_btn@3x.png"; sourceTree = ""; }; + B1C871B91EB338FD003DACF0 /* project_tag_icon@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "project_tag_icon@3x.png"; sourceTree = ""; }; + B1C871BD1EB33B37003DACF0 /* task_icon_arrow@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "task_icon_arrow@3x.png"; sourceTree = ""; }; + B1CB8DD02047F1D000872197 /* button_tip_notice@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_tip_notice@2x.png"; sourceTree = ""; }; + B1CB8DD12047F1D100872197 /* button_tip_notice@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_tip_notice@3x.png"; sourceTree = ""; }; + B1D5F20220BC06CB00983FB6 /* Coding_Enterprise_iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Coding_Enterprise_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B1D5F20620BCF5F800983FB6 /* Coding_Enterprise_iOS-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Coding_Enterprise_iOS-Info.plist"; sourceTree = ""; }; + B1D5F20B20BCF72300983FB6 /* Coding_Enterprise_iOS-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Coding_Enterprise_iOS-Prefix.pch"; sourceTree = ""; }; + B1D5F20C20BD3BF300983FB6 /* UINavigationController+FullscreenPopGesture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UINavigationController+FullscreenPopGesture.h"; sourceTree = ""; }; + B1D5F20D20BD3BF300983FB6 /* UINavigationController+FullscreenPopGesture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UINavigationController+FullscreenPopGesture.m"; sourceTree = ""; }; + B1D5F21020BD485A00983FB6 /* TeamPurchaseOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseOrder.h; sourceTree = ""; }; + B1D5F21120BD485A00983FB6 /* TeamPurchaseBillingDetail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseBillingDetail.h; sourceTree = ""; }; + B1D5F21220BD485B00983FB6 /* TeamPurchaseOrder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseOrder.m; sourceTree = ""; }; + B1D5F21320BD485B00983FB6 /* TeamPurchaseBilling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseBilling.m; sourceTree = ""; }; + B1D5F21420BD485C00983FB6 /* TeamPurchaseBilling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamPurchaseBilling.h; sourceTree = ""; }; + B1D5F21520BD485C00983FB6 /* TeamPurchaseBillingDetail.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamPurchaseBillingDetail.m; sourceTree = ""; }; + B1D5F21C20BD50D000983FB6 /* ProjectRole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectRole.h; sourceTree = ""; }; + B1D5F21D20BD50D000983FB6 /* ProjectRole.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectRole.m; sourceTree = ""; }; + B1D5F22020BEA37500983FB6 /* MeRootCompanyCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeRootCompanyCell.h; sourceTree = ""; }; + B1D5F22120BEA37500983FB6 /* MeRootCompanyCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MeRootCompanyCell.m; sourceTree = ""; }; + B1D5F23020BEADD100983FB6 /* TeamSupportCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamSupportCell.m; sourceTree = ""; }; + B1D5F23120BEADD200983FB6 /* TeamSupportCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamSupportCell.h; sourceTree = ""; }; + B1DFD09D20C67D3D00F75F2F /* btn_followed_yes@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_followed_yes@3x.png"; sourceTree = ""; }; + B1DFD09E20C67D3E00F75F2F /* btn_followed_not@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_followed_not@3x.png"; sourceTree = ""; }; + B1DFD09F20C67D3E00F75F2F /* btn_followed_both@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_followed_both@3x.png"; sourceTree = ""; }; + B1DFD0A020C67D3E00F75F2F /* btn_privateMsg_friend@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "btn_privateMsg_friend@3x.png"; sourceTree = ""; }; B93D90491ACBA3110057A6EE /* ProjectDeleteAlertControllerVisualStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectDeleteAlertControllerVisualStyle.h; sourceTree = ""; }; B93D904A1ACBA3110057A6EE /* ProjectDeleteAlertControllerVisualStyle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectDeleteAlertControllerVisualStyle.m; sourceTree = ""; }; B94C1B671AC945D30000C271 /* NewProjectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NewProjectViewController.h; sourceTree = ""; }; @@ -2977,6 +5439,7 @@ B9A00D811ACA3A17008BA008 /* ProjectSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectSettingViewController.m; sourceTree = ""; }; B9A00D831ACA3A55008BA008 /* ProjectAdvancedSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectAdvancedSettingViewController.h; sourceTree = ""; }; B9A00D841ACA3A55008BA008 /* ProjectAdvancedSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProjectAdvancedSettingViewController.m; sourceTree = ""; }; + BA1AE837BA26B375F43A9343 /* Pods-Coding_iOS-CodingEnterprise_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Coding_iOS-CodingEnterprise_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Coding_iOS-CodingEnterprise_iOS/Pods-Coding_iOS-CodingEnterprise_iOS.release.xcconfig"; sourceTree = ""; }; D000E0481BFC45CF00A33C2B /* CategorySearchBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CategorySearchBar.h; sourceTree = ""; }; D000E0491BFC45CF00A33C2B /* CategorySearchBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CategorySearchBar.m; sourceTree = ""; }; D02BE0AD1C0434DB008374C0 /* PRMRSearchCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PRMRSearchCell.h; sourceTree = ""; }; @@ -3070,9 +5533,6 @@ D0C448171C03187100DC1C4B /* TaskSearchCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TaskSearchCell.m; sourceTree = ""; }; D0C448191C034C3F00DC1C4B /* TopicSearchCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopicSearchCell.h; sourceTree = ""; }; D0C4481A1C034C3F00DC1C4B /* TopicSearchCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopicSearchCell.m; sourceTree = ""; }; - D0FE4DB51C103FA0006E5A76 /* git_icon_fork_old@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "git_icon_fork_old@2x.png"; sourceTree = ""; }; - D0FE4DB61C103FA0006E5A76 /* git_icon_star_old@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "git_icon_star_old@2x.png"; sourceTree = ""; }; - D0FE4DB71C103FA0006E5A76 /* git_icon_watch_old@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "git_icon_watch_old@2x.png"; sourceTree = ""; }; E7A0469E1A47279E00528C12 /* Helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Helper.h; sourceTree = ""; }; E7A0469F1A47279E00528C12 /* Helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Helper.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -3082,6 +5542,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B19D4EFE1F724CDC00C598F3 /* CoreMotion.framework in Frameworks */, 4EFF5A771E0AE54800683D03 /* libresolv.9.tbd in Frameworks */, 4EDBECEB1B709EB3003E87C3 /* AVFoundation.framework in Frameworks */, 0AB591AD1AB6D51C0076C454 /* MapKit.framework in Frameworks */, @@ -3090,12 +5551,11 @@ 4EDD8F5A1A36F4FA00E9E232 /* Security.framework in Frameworks */, 4EDD8F581A36F4CA00E9E232 /* CoreTelephony.framework in Frameworks */, 4EDD8F561A36F4BD00E9E232 /* SystemConfiguration.framework in Frameworks */, + B19D4EFC1F7247BA00C598F3 /* AlipaySDK.framework in Frameworks */, 4EDD8F541A36F4AC00E9E232 /* CFNetwork.framework in Frameworks */, 4E96E7C81A1B46740037C098 /* QuickLook.framework in Frameworks */, 8E03D4A419F696970092F8C8 /* libz.dylib in Frameworks */, - 4EB5A9431BF1DB4600C23AC3 /* libWeiboSDK.a in Frameworks */, 8EF5E74519C68CC7009346D5 /* libicucore.dylib in Frameworks */, - 4EB5A9421BF1DB4600C23AC3 /* libSocialSinaSSO.a in Frameworks */, 4EDD8F511A36F42200E9E232 /* libXG-SDK.a in Frameworks */, 7EB02FE81B6D0F3E00D2166C /* libopencore-amrnb.a in Frameworks */, 8E61D27B19C028CC00C00414 /* AssetsLibrary.framework in Frameworks */, @@ -3107,7 +5567,41 @@ 8E477018198770E700997D05 /* UIKit.framework in Frameworks */, 8E477014198770E700997D05 /* Foundation.framework in Frameworks */, 4EF818241B09D8D8005F974B /* WebP.framework in Frameworks */, - 4127E2D4A3B12C8C8BE5E69A /* libPods-Coding_iOS.a in Frameworks */, + 7FD0104CFC28ED5705E0D5E8 /* libPods-Coding_iOS.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B1D5EE5A20BC06CB00983FB6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B1D5EE5B20BC06CB00983FB6 /* CoreMotion.framework in Frameworks */, + B1D5EE5C20BC06CB00983FB6 /* libresolv.9.tbd in Frameworks */, + B1D5EE5D20BC06CB00983FB6 /* AVFoundation.framework in Frameworks */, + B1D5EE5E20BC06CB00983FB6 /* MapKit.framework in Frameworks */, + B1D5EE5F20BC06CB00983FB6 /* CoreLocation.framework in Frameworks */, + B1D5EE6020BC06CB00983FB6 /* libsqlite3.0.dylib in Frameworks */, + B1D5EE6120BC06CB00983FB6 /* Security.framework in Frameworks */, + B1D5EE6220BC06CB00983FB6 /* CoreTelephony.framework in Frameworks */, + B1D5EE6320BC06CB00983FB6 /* SystemConfiguration.framework in Frameworks */, + B1D5EE6420BC06CB00983FB6 /* AlipaySDK.framework in Frameworks */, + B1D5EE6520BC06CB00983FB6 /* CFNetwork.framework in Frameworks */, + B1D5EE6620BC06CB00983FB6 /* QuickLook.framework in Frameworks */, + B1D5EE6720BC06CB00983FB6 /* libz.dylib in Frameworks */, + B1D5EE6820BC06CB00983FB6 /* libicucore.dylib in Frameworks */, + B1D5EE6920BC06CB00983FB6 /* libXG-SDK.a in Frameworks */, + B1D5EE6A20BC06CB00983FB6 /* libopencore-amrnb.a in Frameworks */, + B1D5EE6B20BC06CB00983FB6 /* AssetsLibrary.framework in Frameworks */, + B1D5EE6C20BC06CB00983FB6 /* libxml2.2.dylib in Frameworks */, + B1D5EE6D20BC06CB00983FB6 /* CoreText.framework in Frameworks */, + B1D5EE6E20BC06CB00983FB6 /* CoreGraphics.framework in Frameworks */, + B1D5EE6F20BC06CB00983FB6 /* libopencore-amrwb.a in Frameworks */, + B1D5EE7020BC06CB00983FB6 /* CoreData.framework in Frameworks */, + B1D5EE7120BC06CB00983FB6 /* UIKit.framework in Frameworks */, + B1D5EE7220BC06CB00983FB6 /* Foundation.framework in Frameworks */, + B1D5EE7320BC06CB00983FB6 /* WebP.framework in Frameworks */, + B1D5EE7420BC06CB00983FB6 /* libPods-Coding_iOS.a in Frameworks */, + 74BCC5B7B071C6418DBC18C7 /* libPods-Coding_iOS-Coding_Enterprise_iOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3170,6 +5664,8 @@ 13FB5CD21CA17A0B00EE127C /* pullRequest */ = { isa = PBXGroup; children = ( + 4EAAD0A31E5D8D90008AA957 /* PR_plus@2x.png */, + 4EAAD0A41E5D8D90008AA957 /* PR_plus@3x.png */, 133DAA621CC13A30004D8501 /* PR_update_title@2x.png */, 133DAA631CC13A30004D8501 /* PR_update_title@3x.png */, 134116F61CB55E69005E6550 /* PR_update@2x.png */, @@ -3189,9 +5685,6 @@ 13FB5D1A1CA17A6400EE127C /* PR_push@3x.png */, 13FB5D1B1CA17A6400EE127C /* PR_update_content@2x.png */, 13FB5D1C1CA17A6400EE127C /* PR_update_content@3x.png */, - 13FB5D1D1CA17A6400EE127C /* EPointLikeHead@1x.png */, - 13FB5D1E1CA17A6400EE127C /* EPointLikeHead@2x.png */, - 13FB5D1F1CA17A6400EE127C /* EPointLikeHead@3x.png */, 13FB5D201CA17A6400EE127C /* PR_refuse@2x.png */, 13FB5D211CA17A6400EE127C /* PR_refuse@3x.png */, 13FB5D221CA17A6400EE127C /* PR_grant_undo@2x.png */, @@ -3200,12 +5693,10 @@ 13FB5D251CA17A6400EE127C /* merge-request coding@3x.png */, 13FB5D261CA17A6400EE127C /* PR_mergeChanges@2x.png */, 13FB5D271CA17A6400EE127C /* PR_mergeChanges@3x.png */, - 13FB5D281CA17A6400EE127C /* PointLikeHead@1x.png */, 13FB5D291CA17A6400EE127C /* PointLikeHead@2x.png */, 13FB5D2A1CA17A6400EE127C /* PointLikeHead@3x.png */, 13FB5D2B1CA17A6400EE127C /* PR_review@2x.png */, 13FB5D2C1CA17A6400EE127C /* PR_review@3x.png */, - 13FB5D2D1CA17A6400EE127C /* PRReviewer@1x.png */, 13FB5D2E1CA17A6400EE127C /* PRReviewer@2x.png */, 13FB5D2F1CA17A6400EE127C /* PRReviewer@3x.png */, 13FB5D301CA17A6400EE127C /* PR_review_undo@2x.png */, @@ -3236,29 +5727,6 @@ path = EAIntroView; sourceTree = ""; }; - 4E0022A11B7362EF005308DE /* intro_pages */ = { - isa = PBXGroup; - children = ( - 4E095A111D9534CB00E63D9E /* intro_page_selected@2x.png */, - 4E095A121D9534CB00E63D9E /* intro_page_selected@3x.png */, - 4E095A131D9534CB00E63D9E /* intro_page_unselected@2x.png */, - 4E095A141D9534CB00E63D9E /* intro_page_unselected@3x.png */, - 4E0022A21B7362EF005308DE /* intro_page0_ip4@2x.png */, - 4E0022A31B7362EF005308DE /* intro_page0_ip5@2x.png */, - 4E0022A41B7362EF005308DE /* intro_page0_ip6+@3x.png */, - 4E0022A51B7362EF005308DE /* intro_page0_ip6@2x.png */, - 4E6B070D1BA3D9B5007D6027 /* intro_page1_ip4@2x.png */, - 4E6B070E1BA3D9B5007D6027 /* intro_page1_ip5@2x.png */, - 4E6B070F1BA3D9B5007D6027 /* intro_page1_ip6@2x.png */, - 4E6B07101BA3D9B5007D6027 /* intro_page1_ip6+@3x.png */, - 4EB119F41D953AE200A36341 /* intro_page2_ip4@2x.png */, - 4EB119F51D953AE200A36341 /* intro_page2_ip5@2x.png */, - 4EB119F61D953AE200A36341 /* intro_page2_ip6@2x.png */, - 4EB119F71D953AE200A36341 /* intro_page2_ip6+@3x.png */, - ); - path = intro_pages; - sourceTree = ""; - }; 4E095A5D1B6909F9008DC439 /* AutoSlideScrollView */ = { isa = PBXGroup; children = ( @@ -3282,11 +5750,16 @@ 4E095A751B6B1E40008DC439 /* deadline_calendar */ = { isa = PBXGroup; children = ( - 4E095A761B6B1E40008DC439 /* calendar_0x95B763@2x.png */, - 4E095A771B6B1E40008DC439 /* calendar_0x9AAFC2@2x.png */, - 4E095A781B6B1E40008DC439 /* calendar_0xB5B5B5@2x.png */, - 4E095A791B6B1E40008DC439 /* calendar_0xF24B4B@2x.png */, - 4E095A7A1B6B1E40008DC439 /* calendar_0xF5A523@2x.png */, + B1C871731EB18599003DACF0 /* calendar_0x59A2FF@2x.png */, + B1C871741EB18599003DACF0 /* calendar_0x59A2FF@3x.png */, + B1C871751EB18599003DACF0 /* calendar_0xA1CF64@2x.png */, + B1C871761EB18599003DACF0 /* calendar_0xA1CF64@3x.png */, + B1C871771EB18599003DACF0 /* calendar_0xA9B3BE@2x.png */, + B1C871781EB18599003DACF0 /* calendar_0xA9B3BE@3x.png */, + B1C871791EB18599003DACF0 /* calendar_0xF56061@2x.png */, + B1C8717A1EB18599003DACF0 /* calendar_0xF56061@3x.png */, + B1C8717B1EB18599003DACF0 /* calendar_0xF68435@2x.png */, + B1C8717C1EB18599003DACF0 /* calendar_0xF68435@3x.png */, ); path = deadline_calendar; sourceTree = ""; @@ -3351,9 +5824,6 @@ 4E1A228C1AB19D1F00CFC14F /* git_btn_icons */ = { isa = PBXGroup; children = ( - D0FE4DB51C103FA0006E5A76 /* git_icon_fork_old@2x.png */, - D0FE4DB61C103FA0006E5A76 /* git_icon_star_old@2x.png */, - D0FE4DB71C103FA0006E5A76 /* git_icon_watch_old@2x.png */, D09E6AC51BF84AF9009D37F8 /* git_icon_fork@2x.png */, D09E6AC31BF84AE5009D37F8 /* git_icon_watch@2x.png */, D09E6AC11BF84AC5009D37F8 /* git_icon_star@2x.png */, @@ -3515,6 +5985,7 @@ 4E3068381E0B781A00AEE0CE /* LDSimplePing.h */, 4E3068391E0B781A00AEE0CE /* LDSimplePing.m */, 4E30683A1E0B781A00AEE0CE /* Route.h */, + B1B2BDB01F79E74000645EAD /* net_route.h */, ); path = LDNetDiagnoService; sourceTree = ""; @@ -3551,6 +6022,21 @@ 4E6383991B3262D300D98648 /* task */ = { isa = PBXGroup; children = ( + B1C871591EB182C7003DACF0 /* checkbox_checked@3x.png */, + B1C8715A1EB182C7003DACF0 /* checkbox_unchecked@3x.png */, + B1C8715B1EB182C7003DACF0 /* taskPriority0_small@3x.png */, + B1C8715C1EB182C7003DACF0 /* taskPriority0@3x.png */, + B1C8715D1EB182C7003DACF0 /* taskPriority1_small@3x.png */, + B1C8715E1EB182C7003DACF0 /* taskPriority1@3x.png */, + B1C8715F1EB182C7003DACF0 /* taskPriority2_small@3x.png */, + B1C871601EB182C7003DACF0 /* taskPriority2@3x.png */, + B1C871611EB182C7003DACF0 /* taskPriority3_small@3x.png */, + B1C871621EB182C7003DACF0 /* taskPriority3@3x.png */, + B1C8713E1EADF1C1003DACF0 /* taskDeadline@3x.png */, + B1C8713F1EADF1C1003DACF0 /* taskOwner@3x.png */, + B1C871401EADF1C1003DACF0 /* taskPriority@3x.png */, + B1C871411EADF1C1003DACF0 /* taskProgress@3x.png */, + B1C871421EADF1C1003DACF0 /* taskProject@3x.png */, 4EB52F391C7C45E700B5EBEA /* taskResourceReference@2x.png */, 4EB52F3A1C7C45E700B5EBEA /* taskResourceReference@3x.png */, 4E6383E71B32791600D98648 /* checkbox_checked@2x.png */, @@ -3567,10 +6053,15 @@ 4E6383A11B3262D300D98648 /* taskPriority3@2x.png */, 4E6383A21B3262D300D98648 /* taskPriority3_small@2x.png */, 4E63840E1B34124000D98648 /* task_icon_arrow@2x.png */, + B1C871BD1EB33B37003DACF0 /* task_icon_arrow@3x.png */, 4EED9DCA1B539366000E5827 /* taskOwner@2x.png */, 4EED9DCB1B539366000E5827 /* taskProject@2x.png */, 4ED618221C3CB1AF0017946C /* taskWatchers@2x.png */, 4ED618231C3CB1AF0017946C /* taskWatchers@3x.png */, + B152ED7F209453E7004A6E8A /* taskboard_blankpage@2x.png */, + B152ED81209453E8004A6E8A /* taskboard_blankpage@3x.png */, + B152ED80209453E7004A6E8A /* taskBoardList@2x.png */, + B152ED7E209453E6004A6E8A /* taskBoardList@3x.png */, ); path = task; sourceTree = ""; @@ -3578,6 +6069,10 @@ 4E6383B01B32640900D98648 /* message */ = { isa = PBXGroup; children = ( + B1C871141EADF0B1003DACF0 /* messageAT@3x.png */, + B1C871151EADF0B1003DACF0 /* messageComment@3x.png */, + B1C871161EADF0B1003DACF0 /* messageProjectFollows@3x.png */, + B1C871171EADF0B1003DACF0 /* messageSystem@3x.png */, 4E6CBE561D8FBDF500644086 /* messageProjectFans@2x.png */, 4E6CBE571D8FBDF500644086 /* messageProjectFollows@2x.png */, 4E6383B11B32640900D98648 /* messageAT@2x.png */, @@ -3595,8 +6090,10 @@ 4E6383BD1B3265DC00D98648 /* mrpr */ = { isa = PBXGroup; children = ( + B1C8714C1EADF3AC003DACF0 /* mrpr_icon_fileChange@3x.png */, + 4EAAD09B1E5D8558008AA957 /* mrpr_icon_arrow@2x.png */, + 4EAAD09C1E5D8558008AA957 /* mrpr_icon_arrow@3x.png */, 4E6383BE1B3265DC00D98648 /* mrpr_icon_accepted@2x.png */, - 4E6383BF1B3265DC00D98648 /* mrpr_icon_arrow@2x.png */, 4E6383C21B3265DC00D98648 /* mrpr_icon_refaused@2x.png */, 4E6383D91B3266C200D98648 /* mrpr_icon_commit@2x.png */, 4E6383DA1B3266C200D98648 /* mrpr_icon_fileChange@2x.png */, @@ -3607,6 +6104,17 @@ 4E6383C81B32665700D98648 /* nproject_item */ = { isa = PBXGroup; children = ( + B131E2102074D2EE00D84FAA /* project_item_reading@2x.png */, + B131E20F2074D2ED00D84FAA /* project_item_reading@3x.png */, + B1C8712C1EADF155003DACF0 /* project_item_activity@3x.png */, + B1C8712D1EADF155003DACF0 /* project_item_code@3x.png */, + B1C8712E1EADF155003DACF0 /* project_item_file@3x.png */, + B1C8712F1EADF155003DACF0 /* project_item_member@3x.png */, + B1C871301EADF155003DACF0 /* project_item_mr_pr@3x.png */, + B1C871311EADF155003DACF0 /* project_item_readme@3x.png */, + B1C871321EADF155003DACF0 /* project_item_task@3x.png */, + B1C871331EADF155003DACF0 /* project_item_wiki@2x.png */, + B1C871341EADF155003DACF0 /* project_item_wiki@3x.png */, 4E6383EB1B32A2C300D98648 /* project_item_file@2x.png */, 4E6383C91B32665700D98648 /* project_item_activity@2x.png */, 4E6383CA1B32665700D98648 /* project_item_code@2x.png */, @@ -3615,6 +6123,13 @@ 4E6383CE1B32665700D98648 /* project_item_readme@2x.png */, 4E6383CF1B32665700D98648 /* project_item_task@2x.png */, 4E6383D01B32665700D98648 /* project_item_topic@2x.png */, + B1C871551EAE003A003DACF0 /* project_item_topic@3x.png */, + B1817EF32069186C00E9BAD1 /* project_item_branch@2x.png */, + B1817EF42069186D00E9BAD1 /* project_item_branch@3x.png */, + B1817EF22069186C00E9BAD1 /* project_item_tag@2x.png */, + B1817EF52069186E00E9BAD1 /* project_item_tag@3x.png */, + B152ED7A20945377004A6E8A /* project_item_taskboard@2x.png */, + B152ED7B20945377004A6E8A /* project_item_taskboard@3x.png */, ); path = nproject_item; sourceTree = ""; @@ -3622,6 +6137,23 @@ 4E6383F31B33C18700D98648 /* task_activity_icon */ = { isa = PBXGroup; children = ( + B1BFC4C020B2B24E009427FC /* task_activity_icon_add_milestone@2x.png */, + B1BFC4C120B2B24E009427FC /* task_activity_icon_add_milestone@3x.png */, + B1BFC4C320B2B250009427FC /* task_activity_icon_remove_milestone@2x.png */, + B1BFC4C220B2B24F009427FC /* task_activity_icon_remove_milestone@3x.png */, + B1C871931EB2D9E6003DACF0 /* task_activity_icon_add_watcher@3x.png */, + B1C871941EB2D9E6003DACF0 /* task_activity_icon_commit_refer@3x.png */, + B1C871951EB2D9E6003DACF0 /* task_activity_icon_create@3x.png */, + B1C871961EB2D9E6003DACF0 /* task_activity_icon_finish@3x.png */, + B1C871971EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png */, + B1C871981EB2D9E6003DACF0 /* task_activity_icon_reassign@3x.png */, + B1C871991EB2D9E6003DACF0 /* task_activity_icon_remove_watcher@3x.png */, + B1C8719A1EB2D9E6003DACF0 /* task_activity_icon_restore@3x.png */, + B1C8719B1EB2D9E6003DACF0 /* task_activity_icon_update_deadline@3x.png */, + B1C8719C1EB2D9E6003DACF0 /* task_activity_icon_update_description@3x.png */, + B1C8719D1EB2D9E6003DACF0 /* task_activity_icon_update_label@3x.png */, + B1C8719E1EB2D9E6003DACF0 /* task_activity_icon_update_priority@3x.png */, + B1C8719F1EB2D9E6003DACF0 /* task_activity_icon_update@3x.png */, 4ED618201C3BD79B0017946C /* task_activity_icon_remove_watcher@2x.png */, 4E3DB53A1BFDD0F40062BA52 /* task_activity_icon_add_watcher@2x.png */, 4E3DB53B1BFDD0F40062BA52 /* task_activity_icon_MergeRequestBean@2x.png */, @@ -3642,7 +6174,17 @@ 4E66EE201A28226000DA1B3E /* button_file_manage */ = { isa = PBXGroup; children = ( - 4EAE06C41B7B587200179F4B /* button_file_comment@2x.png */, + B1AB5CAB202D7D4F0075A669 /* button_file_activity@3x.png */, + B1AB5CA6202D7D4D0075A669 /* button_file_createFolder_enable@3x.png */, + B1AB5CB0202D7D500075A669 /* button_file_createFolder_unable@3x.png */, + B1AB5CA7202D7D4E0075A669 /* button_file_denete_enable@3x.png */, + B1AB5CAC202D7D4F0075A669 /* button_file_denete_unable@3x.png */, + B1AB5CA8202D7D4E0075A669 /* button_file_download_enable@3x.png */, + B1AB5CAD202D7D4F0075A669 /* button_file_download_unable@3x.png */, + B1AB5CAA202D7D4E0075A669 /* button_file_history@3x.png */, + B1AB5CAE202D7D4F0075A669 /* button_file_move_enable@3x.png */, + B1AB5CAF202D7D4F0075A669 /* button_file_move_unable@3x.png */, + B1AB5CA9202D7D4E0075A669 /* button_file_upload_enable@3x.png */, 4E66EE211A28226000DA1B3E /* button_file_createFolder_enable@2x.png */, 4E66EE221A28226000DA1B3E /* button_file_denete_enable@2x.png */, 4E66EE231A28226000DA1B3E /* button_file_denete_unable@2x.png */, @@ -3923,17 +6465,6 @@ path = ASProgressPopUpView; sourceTree = ""; }; - 4E9113A41A1CB19900AC9431 /* icon_file_state */ = { - isa = PBXGroup; - children = ( - 4E9113A51A1CB19900AC9431 /* icon_file_state_download@2x.png */, - 4E9113A61A1CB19900AC9431 /* icon_file_state_goon@2x.png */, - 4E9113A71A1CB19900AC9431 /* icon_file_state_look@2x.png */, - 4E9113A81A1CB19900AC9431 /* icon_file_state_pause@2x.png */, - ); - path = icon_file_state; - sourceTree = ""; - }; 4E93F2301B84243D00017916 /* KxMenu */ = { isa = PBXGroup; children = ( @@ -4014,7 +6545,21 @@ 4E96E7D41A1B537E0037C098 /* icon_file_psd@2x.png */, 4E96E7D51A1B537E0037C098 /* icon_file_txt@2x.png */, 4E96E7D61A1B537E0037C098 /* icon_file_xls@2x.png */, + B1BCB88A1FCD0A6D0098B87B /* icon_file_xls_big@2x.png */, 4E96E7D71A1B537E0037C098 /* icon_file_zip@2x.png */, + B1BCB87B1FCD006C0098B87B /* icon_file_ai_big@2x.png */, + B1BCB8771FCD006B0098B87B /* icon_file_apk_big@2x.png */, + B1BCB8781FCD006C0098B87B /* icon_file_code_big@2x.png */, + B1BCB8701FCD006A0098B87B /* icon_file_doc_big@2x.png */, + B1BCB8761FCD006B0098B87B /* icon_file_md_big@2x.png */, + B1BCB8751FCD006B0098B87B /* icon_file_movie_big@2x.png */, + B1BCB87A1FCD006C0098B87B /* icon_file_music_big@2x.png */, + B1BCB8721FCD006B0098B87B /* icon_file_pdf_big@2x.png */, + B1BCB87C1FCD006C0098B87B /* icon_file_ppt_big@2x.png */, + B1BCB8731FCD006B0098B87B /* icon_file_psd_big@2x.png */, + B1BCB8791FCD006C0098B87B /* icon_file_txt_big@2x.png */, + B1BCB8741FCD006B0098B87B /* icon_file_unknown_big@2x.png */, + B1BCB8711FCD006B0098B87B /* icon_file_zip_big@2x.png */, ); path = icon_file; sourceTree = ""; @@ -4022,6 +6567,8 @@ 4E996BC11ABA754600C704F1 /* JDStatusBarNotification */ = { isa = PBXGroup; children = ( + B12B641A1FF0F5E300ACFDCC /* JDStatusBarLayoutMarginHelper.h */, + B12B641B1FF0F5E300ACFDCC /* JDStatusBarLayoutMarginHelper.m */, 4E996BC21ABA754600C704F1 /* JDStatusBarNotification.h */, 4E996BC31ABA754600C704F1 /* JDStatusBarNotification.m */, 4E996BC41ABA754600C704F1 /* JDStatusBarStyle.h */, @@ -4035,6 +6582,10 @@ 4E996BF91ABBF56A00C704F1 /* userInfo */ = { isa = PBXGroup; children = ( + B19D4EF41F7210C300C598F3 /* user_info_shop@2x.png */, + B19D4EF51F7210C300C598F3 /* user_info_shop@3x.png */, + B1C871481EADF217003DACF0 /* user_info_company@2x.png */, + B1C871491EADF217003DACF0 /* user_info_company@3x.png */, 4E996BFA1ABBF56A00C704F1 /* n_btn_followed_both@2x.png */, 4E996BFB1ABBF56A00C704F1 /* n_btn_followed_not@2x.png */, 4E996BFC1ABBF56A00C704F1 /* n_btn_followed_yes@2x.png */, @@ -4110,6 +6661,40 @@ path = ODRefreshControl; sourceTree = ""; }; + 4EAAD0181E540551008AA957 /* mrpr_icon_status */ = { + isa = PBXGroup; + children = ( + 4EAAD0191E540551008AA957 /* mrpr_icon_status_accepted@2x.png */, + 4EAAD01A1E540551008AA957 /* mrpr_icon_status_accepted@3x.png */, + 4EAAD01B1E540551008AA957 /* mrpr_icon_status_canmerge@2x.png */, + 4EAAD01C1E540551008AA957 /* mrpr_icon_status_canmerge@3x.png */, + 4EAAD01D1E540551008AA957 /* mrpr_icon_status_cannotmerge@2x.png */, + 4EAAD01E1E540551008AA957 /* mrpr_icon_status_cannotmerge@3x.png */, + 4EAAD01F1E540551008AA957 /* mrpr_icon_status_refused@2x.png */, + 4EAAD0201E540551008AA957 /* mrpr_icon_status_refused@3x.png */, + 4EAAD0291E5405B4008AA957 /* mrpr_icon_status_cancel@2x.png */, + 4EAAD02A1E5405B4008AA957 /* mrpr_icon_status_cancel@3x.png */, + ); + path = mrpr_icon_status; + sourceTree = ""; + }; + 4EAAD0481E542B2D008AA957 /* icon_code */ = { + isa = PBXGroup; + children = ( + 4EAAD0491E542B2D008AA957 /* icon_code_executable@2x.png */, + 4EAAD04A1E542B2D008AA957 /* icon_code_executable@3x.png */, + 4EAAD04B1E542B2D008AA957 /* icon_code_tree@2x.png */, + 4EAAD04C1E542B2D008AA957 /* icon_code_tree@3x.png */, + 4EAAD04D1E542B2D008AA957 /* icon_code_file@2x.png */, + 4EAAD04E1E542B2D008AA957 /* icon_code_file@3x.png */, + 4EAAD04F1E542B2D008AA957 /* icon_code_git_link@2x.png */, + 4EAAD0501E542B2D008AA957 /* icon_code_git_link@3x.png */, + 4EAAD0801E55AC6E008AA957 /* icon_code_image@2x.png */, + 4EAAD0811E55AC6E008AA957 /* icon_code_image@3x.png */, + ); + path = icon_code; + sourceTree = ""; + }; 4EABD2511AD3CA7E005E515F /* UIMessageInputView */ = { isa = PBXGroup; children = ( @@ -4130,6 +6715,13 @@ 4EAE06BB1B7B51AF00179F4B /* file_activity_icon */ = { isa = PBXGroup; children = ( + B19D4EDF1F690F5E00C598F3 /* file_activity_icon_rename@2x.png */, + B19D4EE01F690F5E00C598F3 /* file_activity_icon_rename@3x.png */, + B1C871AD1EB2D9F0003DACF0 /* file_activity_icon_create@3x.png */, + B1C871AE1EB2D9F0003DACF0 /* file_activity_icon_delete_history@3x.png */, + B1C871AF1EB2D9F0003DACF0 /* file_activity_icon_move_file@3x.png */, + B1C871B01EB2D9F0003DACF0 /* file_activity_icon_update_file@3x.png */, + B1C871B11EB2D9F0003DACF0 /* file_activity_icon_upload_file@3x.png */, 4EAE06BC1B7B51AF00179F4B /* file_activity_icon_create@2x.png */, 4EAE06BD1B7B51AF00179F4B /* file_activity_icon_move_file@2x.png */, 4EAE06BE1B7B51AF00179F4B /* file_activity_icon_update_file@2x.png */, @@ -4191,27 +6783,6 @@ path = task_resource_reference; sourceTree = ""; }; - 4EB5A9331BF1DB4600C23AC3 /* SinaSSO */ = { - isa = PBXGroup; - children = ( - 4EB5A9341BF1DB4600C23AC3 /* libSocialSinaSSO.a */, - 4EB5A9351BF1DB4600C23AC3 /* libWeiboSDK.a */, - 4EB5A9361BF1DB4600C23AC3 /* UMSocialSinaSSOHandler.h */, - 4EB5A9371BF1DB4600C23AC3 /* WBHttpRequest+WeiboGame.h */, - 4EB5A9381BF1DB4600C23AC3 /* WBHttpRequest+WeiboShare.h */, - 4EB5A9391BF1DB4600C23AC3 /* WBHttpRequest+WeiboToken.h */, - 4EB5A93A1BF1DB4600C23AC3 /* WBHttpRequest+WeiboUser.h */, - 4EB5A93B1BF1DB4600C23AC3 /* WBHttpRequest.h */, - 4EB5A93C1BF1DB4600C23AC3 /* WBSDKBasicButton.h */, - 4EB5A93D1BF1DB4600C23AC3 /* WBSDKCommentButton.h */, - 4EB5A93E1BF1DB4600C23AC3 /* WBSDKRelationshipButton.h */, - 4EB5A93F1BF1DB4600C23AC3 /* WeiboSDK.bundle */, - 4EB5A9401BF1DB4600C23AC3 /* WeiboSDK.h */, - 4EB5A9411BF1DB4600C23AC3 /* WeiboUser.h */, - ); - path = SinaSSO; - sourceTree = ""; - }; 4EBB62471A6F526C0045DAEF /* NJKWebViewProgress */ = { isa = PBXGroup; children = ( @@ -4226,6 +6797,11 @@ 4EC461AE1B39360F00D08970 /* file_changeType */ = { isa = PBXGroup; children = ( + B1280CE9200EFDC600DEDF78 /* file_changeType_ADD@3x.png */, + B1280CEA200EFDC600DEDF78 /* file_changeType_COPY@3x.png */, + B1280CEB200EFDC600DEDF78 /* file_changeType_DELETE@3x.png */, + B1280CEC200EFDC600DEDF78 /* file_changeType_MODIFY@3x.png */, + B1280CE8200EFDC600DEDF78 /* file_changeType_RENAME@3x.png */, 4EC461AF1B39360F00D08970 /* file_changeType_ADD@2x.png */, 4EC461B01B39360F00D08970 /* file_changeType_DELETE@2x.png */, 4EC461B11B39360F00D08970 /* file_changeType_MODIFY@2x.png */, @@ -4275,14 +6851,12 @@ 4ECE8AD01A3943E80021E29C /* UILabel+Common.m */, 4ECE8AD11A3943E80021E29C /* UITableView+Common.h */, 4ECE8AD21A3943E80021E29C /* UITableView+Common.m */, + B1C871521EADF4D4003DACF0 /* UITableViewCell+Common.h */, + B1C871531EADF4D4003DACF0 /* UITableViewCell+Common.m */, 4ECE8AD31A3943E80021E29C /* UIView+Common.h */, 4ECE8AD41A3943E80021E29C /* UIView+Common.m */, 4ECE8AD51A3943E80021E29C /* UIViewController+Swizzle.h */, 4ECE8AD61A3943E80021E29C /* UIViewController+Swizzle.m */, - 4EBDA87A1A6640340035ED96 /* UIActionSheet+Common.h */, - 4EBDA87B1A6640340035ED96 /* UIActionSheet+Common.m */, - 4E19E7051BCE03CD00C66DC6 /* UIActionSheet+Front.h */, - 4E19E7061BCE03CD00C66DC6 /* UIActionSheet+Front.m */, 4EB0C1FE1A807ED00042FC4F /* NSURL+Common.h */, 4EB0C1FF1A807ED00042FC4F /* NSURL+Common.m */, 4EE5481C1AE7B7CA00A92306 /* UISearchBar+Common.h */, @@ -4299,6 +6873,14 @@ D09AA5BF1BFDEDD1008CA9EB /* NSString+Attribute.m */, 4E2527181C327FAE0032A7F4 /* UIViewController+BackButtonHandler.h */, 4E2527191C327FAE0032A7F4 /* UIViewController+BackButtonHandler.m */, + B1D5F20C20BD3BF300983FB6 /* UINavigationController+FullscreenPopGesture.h */, + B1D5F20D20BD3BF300983FB6 /* UINavigationController+FullscreenPopGesture.m */, + B12B64801FFC73A900ACFDCC /* PHAsset+Common.h */, + B12B64811FFC73A900ACFDCC /* PHAsset+Common.m */, + B1890C4C2019B29800F52ABA /* UINavigationBar+Common.h */, + B1890C4B2019B29800F52ABA /* UINavigationBar+Common.m */, + B186AEAE20F462F600A6AF35 /* UIAlertController+Common.h */, + B186AEAF20F462F600A6AF35 /* UIAlertController+Common.m */, ); path = OC_Category; sourceTree = ""; @@ -4347,6 +6929,8 @@ 4E5D13141C0EDFE700985AEB /* SendRewardManager.m */, 4E80E9331E011D6000DE1BC6 /* RewardTipManager.h */, 4E80E9341E011D6000DE1BC6 /* RewardTipManager.m */, + B12B641D1FF2835800ACFDCC /* CodingVipTipManager.h */, + B12B641E1FF2835800ACFDCC /* CodingVipTipManager.m */, ); path = Manager; sourceTree = ""; @@ -4373,17 +6957,6 @@ path = XGPush; sourceTree = ""; }; - 4EE083DD1ADB739300CA342E /* modules */ = { - isa = PBXGroup; - children = ( - 4E90F8971AF709C100B44F03 /* bubble.html */, - 4E90F8981AF709C100B44F03 /* code.html */, - 4E90F8991AF709C100B44F03 /* markdown.html */, - 4E90F89A1AF709C100B44F03 /* topic-ios.html */, - ); - name = modules; - sourceTree = ""; - }; 4EE1A2181B5D02CA004284F1 /* TableListView */ = { isa = PBXGroup; children = ( @@ -4393,8 +6966,8 @@ 4EE1A21C1B5D02CA004284F1 /* ProjectActivityListView.m */, 4EE1A21D1B5D02CA004284F1 /* ProjectCodeListView.h */, 4EE1A21E1B5D02CA004284F1 /* ProjectCodeListView.m */, - 4EE1A21F1B5D02CA004284F1 /* ProjectFolderListView.h */, - 4EE1A2201B5D02CA004284F1 /* ProjectFolderListView.m */, + B1C60C7820BFA2150073D3CA /* NProjectFileListView.h */, + B1C60C7920BFA2150073D3CA /* NProjectFileListView.m */, 4EE1A2211B5D02CA004284F1 /* ProjectListView.h */, 4EE1A2221B5D02CA004284F1 /* ProjectListView.m */, 4EE1A2231B5D02CA004284F1 /* ProjectTaskListView.h */, @@ -4411,55 +6984,17 @@ 926C043D1C01A212004937D8 /* ShopOrderListView.m */, 4E80E93A1E02353900DE1BC6 /* CodingSearchDisplayView.h */, 4E80E93B1E02353900DE1BC6 /* CodingSearchDisplayView.m */, + B1890C372015D89A00F52ABA /* WikiMenuListView.h */, + B1890C362015D89A00F52ABA /* WikiMenuListView.m */, + B152ED5E2093018A004A6E8A /* EABoardTaskListView.h */, + B152ED5F2093018A004A6E8A /* EABoardTaskListView.m */, + B152ED6120935524004A6E8A /* EABoardTaskListBlankView.h */, + B152ED6220935524004A6E8A /* EABoardTaskListBlankView.m */, + B152ED6420935594004A6E8A /* EABoardTaskListBlankView.xib */, ); path = TableListView; sourceTree = ""; }; - 4EE956521B9C1C500009EDA9 /* UMSocial_Sdk_4.3.0_Extra */ = { - isa = PBXGroup; - children = ( - 4EB5A9331BF1DB4600C23AC3 /* SinaSSO */, - ); - path = UMSocial_Sdk_4.3.0_Extra; - sourceTree = ""; - }; - 4EF17E761B3BF320003CDD2D /* introduction */ = { - isa = PBXGroup; - children = ( - 4EF17EAD1B3C3112003CDD2D /* intro_dot_selected@2x.png */, - 4EF17EAE1B3C3112003CDD2D /* intro_dot_selected@3x.png */, - 4EF17EAF1B3C3112003CDD2D /* intro_dot_unselected@2x.png */, - 4EF17EB01B3C3112003CDD2D /* intro_dot_unselected@3x.png */, - 4EF17EB11B3C3112003CDD2D /* intro_icon_0@2x.png */, - 4EF17EB21B3C3112003CDD2D /* intro_icon_0@3x.png */, - 4EF17EB31B3C3112003CDD2D /* intro_icon_1@2x.png */, - 4EF17EB41B3C3112003CDD2D /* intro_icon_1@3x.png */, - 4EF17EB51B3C3112003CDD2D /* intro_icon_2@2x.png */, - 4EF17EB61B3C3112003CDD2D /* intro_icon_2@3x.png */, - 4EF17EB71B3C3112003CDD2D /* intro_icon_3@2x.png */, - 4EF17EB81B3C3112003CDD2D /* intro_icon_3@3x.png */, - 4EF17EB91B3C3112003CDD2D /* intro_icon_4@2x.png */, - 4EF17EBA1B3C3112003CDD2D /* intro_icon_4@3x.png */, - 4EF17EBB1B3C3112003CDD2D /* intro_icon_5@2x.png */, - 4EF17EBC1B3C3112003CDD2D /* intro_icon_5@3x.png */, - 4EF17ECA1B3C3112003CDD2D /* intro_icon_6@2x.png */, - 4EF17EBD1B3C3112003CDD2D /* intro_icon_6@3x.png */, - 4EF17EBE1B3C3112003CDD2D /* intro_tip_0@2x.png */, - 4EF17EBF1B3C3112003CDD2D /* intro_tip_0@3x.png */, - 4EF17EC01B3C3112003CDD2D /* intro_tip_1@2x.png */, - 4EF17EC11B3C3112003CDD2D /* intro_tip_1@3x.png */, - 4EF17EC21B3C3112003CDD2D /* intro_tip_2@2x.png */, - 4EF17EC31B3C3112003CDD2D /* intro_tip_2@3x.png */, - 4EF17EC41B3C3112003CDD2D /* intro_tip_3@2x.png */, - 4EF17EC51B3C3112003CDD2D /* intro_tip_3@3x.png */, - 4EF17EC61B3C3112003CDD2D /* intro_tip_4@2x.png */, - 4EF17EC71B3C3112003CDD2D /* intro_tip_4@3x.png */, - 4EF17EC81B3C3112003CDD2D /* intro_tip_5@2x.png */, - 4EF17EC91B3C3112003CDD2D /* intro_tip_5@3x.png */, - ); - path = introduction; - sourceTree = ""; - }; 7E8E59781B6F91C40083CA02 /* bubble */ = { isa = PBXGroup; children = ( @@ -4590,6 +7125,8 @@ 8E1C3E0519E8DFE300EF3032 /* SettingViewController.m */, 8EF83F8819E92AA500E86DE7 /* SettingTagsViewController.h */, 8EF83F8919E92AA500E86DE7 /* SettingTagsViewController.m */, + B12B64101FF0D54800ACFDCC /* SettingSkillsViewController.h */, + B12B64111FF0D54800ACFDCC /* SettingSkillsViewController.m */, 8EF83F9219EB78CC00E86DE7 /* SettingTextViewController.h */, 8EF83F9319EB78CC00E86DE7 /* SettingTextViewController.m */, ); @@ -4612,6 +7149,7 @@ isa = PBXGroup; children = ( 8E477010198770E700997D05 /* Coding_iOS.app */, + B1D5F20220BC06CB00983FB6 /* Coding_Enterprise_iOS.app */, ); name = Products; sourceTree = ""; @@ -4619,6 +7157,7 @@ 8E477012198770E700997D05 /* Frameworks */ = { isa = PBXGroup; children = ( + B19D4EFD1F724CDC00C598F3 /* CoreMotion.framework */, 4EFF5A761E0AE54800683D03 /* libresolv.9.tbd */, 4EDBECEA1B709EB3003E87C3 /* AVFoundation.framework */, 4EF818231B09D8D8005F974B /* WebP.framework */, @@ -4642,7 +7181,8 @@ 8E477017198770E700997D05 /* UIKit.framework */, 8E477019198770E700997D05 /* CoreData.framework */, 8E477031198770E700997D05 /* XCTest.framework */, - 4941C1866223FC6EAF6D77E6 /* libPods-Coding_iOS.a */, + 645969FE6A8616A74543C249 /* libPods-Coding_iOS.a */, + 627CA7E44F0D5A025A49E2F0 /* libPods-Coding_iOS-Coding_Enterprise_iOS.a */, ); name = Frameworks; sourceTree = ""; @@ -4650,10 +7190,34 @@ 8E525C8119F7E3F800496B34 /* blankpage */ = { isa = PBXGroup; children = ( - 8E525C8219F7E3F800496B34 /* blankpage_button_reload@2x.png */, - 8E525C8319F7E3F800496B34 /* blankpage_image_loadFail@2x.png */, - 8E525C8619F7E3F800496B34 /* blankpage_image_Sleep@2x.png */, - 4E743E6E1A88ABF700DADDE5 /* blankpage_image_Hi@2x.png */, + 4E9423BE1E69401B0095F1CD /* blankpage_image_Activity@2x.png */, + 4E9423BF1E69401B0095F1CD /* blankpage_image_Activity@3x.png */, + 4E9423C01E69401B0095F1CD /* blankpage_image_Default@2x.png */, + 4E9423C11E69401B0095F1CD /* blankpage_image_Default@3x.png */, + 4E9423C21E69401B0095F1CD /* blankpage_image_File@2x.png */, + 4E9423C31E69401B0095F1CD /* blankpage_image_File@3x.png */, + 4E9423C41E69401B0095F1CD /* blankpage_image_LoadFail@2x.png */, + 4E9423C51E69401B0095F1CD /* blankpage_image_LoadFail@3x.png */, + 4E9423C61E69401B0095F1CD /* blankpage_image_MessageList@2x.png */, + 4E9423C71E69401B0095F1CD /* blankpage_image_MessageList@3x.png */, + 4E9423C81E69401B0095F1CD /* blankpage_image_Notice@2x.png */, + 4E9423C91E69401B0095F1CD /* blankpage_image_Notice@3x.png */, + 4E9423CA1E69401B0095F1CD /* blankpage_image_Project@2x.png */, + 4E9423CB1E69401B0095F1CD /* blankpage_image_Project@3x.png */, + 4E9423CC1E69401B0095F1CD /* blankpage_image_ShopOrder@2x.png */, + 4E9423CD1E69401B0095F1CD /* blankpage_image_ShopOrder@3x.png */, + 4E9423CE1E69401B0095F1CD /* blankpage_image_Task@2x.png */, + 4E9423CF1E69401B0095F1CD /* blankpage_image_Task@3x.png */, + 4E9423D01E69401B0095F1CD /* blankpage_image_Team@2x.png */, + 4E9423D11E69401B0095F1CD /* blankpage_image_Team@3x.png */, + 4E9423D21E69401B0095F1CD /* blankpage_image_Tip@2x.png */, + 4E9423D31E69401B0095F1CD /* blankpage_image_Tip@3x.png */, + 4E9423D41E69401B0095F1CD /* blankpage_image_Topic@2x.png */, + 4E9423D51E69401B0095F1CD /* blankpage_image_Topic@3x.png */, + 4E9423D61E69401B0095F1CD /* blankpage_image_Tweet@2x.png */, + 4E9423D71E69401B0095F1CD /* blankpage_image_Tweet@3x.png */, + 4E9423D81E69401B0095F1CD /* blankpage_image_Wiki@2x.png */, + 4E9423D91E69401B0095F1CD /* blankpage_image_Wiki@3x.png */, ); path = blankpage; sourceTree = ""; @@ -4670,34 +7234,6 @@ path = SVPullToRefresh; sourceTree = ""; }; - 8E64ED6519ED0CE3006E99DA /* QBImagePickerController */ = { - isa = PBXGroup; - children = ( - 8E64ED6619ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.h */, - 8E64ED6719ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.m */, - 8E64ED6819ED0CE3006E99DA /* QBAssetsCollectionFooterView.h */, - 8E64ED6919ED0CE3006E99DA /* QBAssetsCollectionFooterView.m */, - 8E64ED6A19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.h */, - 8E64ED6B19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.m */, - 8E64ED6C19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.h */, - 8E64ED6D19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.m */, - 8E64ED6E19ED0CE3006E99DA /* QBAssetsCollectionViewCell.h */, - 8E64ED6F19ED0CE3006E99DA /* QBAssetsCollectionViewCell.m */, - 8E64ED7019ED0CE3006E99DA /* QBAssetsCollectionViewController.h */, - 8E64ED7119ED0CE3006E99DA /* QBAssetsCollectionViewController.m */, - 8E64ED7219ED0CE3006E99DA /* QBAssetsCollectionViewLayout.h */, - 8E64ED7319ED0CE3006E99DA /* QBAssetsCollectionViewLayout.m */, - 8E64ED7419ED0CE3006E99DA /* QBImagePickerController.h */, - 8E64ED7519ED0CE3006E99DA /* QBImagePickerController.m */, - 8E64ED7619ED0CE3006E99DA /* QBImagePickerController.strings */, - 8E64ED7719ED0CE3006E99DA /* QBImagePickerGroupCell.h */, - 8E64ED7819ED0CE3006E99DA /* QBImagePickerGroupCell.m */, - 8E64ED7919ED0CE3006E99DA /* QBImagePickerThumbnailView.h */, - 8E64ED7A19ED0CE3006E99DA /* QBImagePickerThumbnailView.m */, - ); - path = QBImagePickerController; - sourceTree = ""; - }; 8E64ED8619EE484A006E99DA /* NSDate+Helper */ = { isa = PBXGroup; children = ( @@ -4711,13 +7247,19 @@ 8E8F7B2119EF6306006BA8BD /* cell_right_plain_btn_image */ = { isa = PBXGroup; children = ( + B1DFD09F20C67D3E00F75F2F /* btn_followed_both@3x.png */, + B1DFD09E20C67D3E00F75F2F /* btn_followed_not@3x.png */, + B1DFD09D20C67D3D00F75F2F /* btn_followed_yes@3x.png */, + B1DFD0A020C67D3E00F75F2F /* btn_privateMsg_friend@3x.png */, + B16E6CBB20C13F5E0076026D /* btn_privateMsg_stranger@3x.png */, + B16E6CB820C13F5E0076026D /* btn_project_add@3x.png */, + B16E6CB920C13F5E0076026D /* btn_project_added@3x.png */, + B16E6CBA20C13F5E0076026D /* btn_project_quit@3x.png */, 8E8F7B2219EF6306006BA8BD /* btn_followed_both@2x.png */, 8E8F7B2319EF6306006BA8BD /* btn_followed_not@2x.png */, 8E8F7B2419EF6306006BA8BD /* btn_followed_yes@2x.png */, - 8E8F7B2519EF6306006BA8BD /* btn_privateMsg_black@2x.png */, 8E8F7B2619EF6306006BA8BD /* btn_privateMsg_friend@2x.png */, 8E8F7B2719EF6306006BA8BD /* btn_privateMsg_stranger@2x.png */, - 8E8F7B2819EF6306006BA8BD /* btn_privateMsg_white@2x.png */, 8E8F7B2919EF6306006BA8BD /* btn_project_add@2x.png */, 8E8F7B2A19EF6306006BA8BD /* btn_project_added@2x.png */, 8E8F7B2B19EF6306006BA8BD /* btn_project_quit@2x.png */, @@ -4741,6 +7283,18 @@ 8E97CE4B1A0A3410006F9AD7 /* nav_button */ = { isa = PBXGroup; children = ( + B16E6CC620C144910076026D /* done_Nav@2x.png */, + B16E6CC720C144920076026D /* done_Nav@3x.png */, + B16E6CC820C144920076026D /* done_un_Nav@2x.png */, + B16E6CC920C144920076026D /* done_un_Nav@3x.png */, + B1C8711C1EADF0FF003DACF0 /* addBtn_Artboard@2x.png */, + B1C8711D1EADF0FF003DACF0 /* addBtn_Artboard@3x.png */, + B1C8711E1EADF0FF003DACF0 /* back_green_Nav@2x.png */, + B1C8711F1EADF0FF003DACF0 /* back_green_Nav@3x.png */, + B1C871201EADF0FF003DACF0 /* back_T_Nav@2x.png */, + B1C871211EADF0FF003DACF0 /* back_T_Nav@3x.png */, + B1C871221EADF0FF003DACF0 /* settingBtn_Nav@2x.png */, + B1C871231EADF0FF003DACF0 /* settingBtn_Nav@3x.png */, 4E59D3291D3E106D008C914B /* tweetsBtn_Nav@2x.png */, 4E59D32A1D3E106D008C914B /* tweetsBtn_Nav@3x.png */, 4ECEF9F81D1D0B3D002A27D3 /* tip_normal_Nav@2x.png */, @@ -4856,12 +7410,16 @@ isa = PBXGroup; children = ( 4EBED55A1D93C9F700E3684E /* Coding_iOS.entitlements */, + B16E6CA220C0FFFF0076026D /* Coding_Enterprise_iOS.entitlements */, 8EA6CFC619E240C40076D59C /* main.m */, - 8EA6CF1519E240C40076D59C /* AppDelegate.h */, 8EA6CF1619E240C40076D59C /* AppDelegate.m */, + 8EA6CF1519E240C40076D59C /* AppDelegate.h */, 4EFE8DB81B3A5727004B7559 /* Launch Screen.xib */, + B1C60CAA20C0FC750073D3CA /* Launch Screen_E.xib */, 8EA6CF1719E240C40076D59C /* Coding_iOS-Info.plist */, + B1D5F20620BCF5F800983FB6 /* Coding_Enterprise_iOS-Info.plist */, 4E8C51AE1AC0177600B4C51F /* Coding_iOS-Prefix.pch */, + B1D5F20B20BCF72300983FB6 /* Coding_Enterprise_iOS-Prefix.pch */, 8EA6CF1919E240C40076D59C /* Coding_iOS.xcdatamodeld */, 8EA6CFC519E240C40076D59C /* Images.xcassets */, 8EA6CF5B19E240C40076D59C /* InfoPlist.strings */, @@ -4870,6 +7428,7 @@ 8EA6CF1B19E240C40076D59C /* Controllers */, 8EA6CFFC19E240C40076D59C /* Util */, 8EA6CF5D19E240C40076D59C /* Images */, + B16E6D1D20C148E50076026D /* images_diff */, 8EA6CFFA19E240C40076D59C /* Resources */, 8EA6D03E19E240C40076D59C /* Vendor */, 4E8D5D3D1B451E9100B70936 /* Ease_2FA */, @@ -4946,8 +7505,6 @@ 8E59F10C1A02188D009A905F /* CodeViewController.m */, 4E2F6A551C437D1D00A25502 /* EditCodeViewController.h */, 4E2F6A561C437D1D00A25502 /* EditCodeViewController.m */, - 4EA6791E1A15AB9F001A0324 /* FileListViewController.h */, - 4EA6791F1A15AB9F001A0324 /* FileListViewController.m */, 4E15C7CE1A26D2F000FB8DAD /* FolderToMoveViewController.h */, 4E15C7CF1A26D2F000FB8DAD /* FolderToMoveViewController.m */, 4E35A99D1A3EC47E00CE35F1 /* FileViewController.h */, @@ -4964,10 +7521,8 @@ 4E996BDB1ABA79AB00C704F1 /* UserInfoDetailViewController.m */, 4E996BE01ABA957B00C704F1 /* ProjectListViewController.h */, 4E996BE11ABA957B00C704F1 /* ProjectListViewController.m */, - 4ECF70411B18514F000280FF /* PRListViewController.h */, - 4ECF70421B18514F000280FF /* PRListViewController.m */, - 4E63189A1BDA198000EFED97 /* MRListViewController.h */, - 4E63189B1BDA198000EFED97 /* MRListViewController.m */, + 4EAAD0121E5306F3008AA957 /* MRPRListViewController.h */, + 4EAAD0131E5306F3008AA957 /* MRPRListViewController.m */, 4E4D6A5F1B1C65C100FD2E49 /* MRPRCommitsViewController.h */, 4E4D6A601B1C65C100FD2E49 /* MRPRCommitsViewController.m */, 4E4D6A621B1C65F700FD2E49 /* MRPRFilesViewController.h */, @@ -4986,6 +7541,9 @@ 4E24B2671B43D33F004D7989 /* ProjectToChooseListViewController.m */, 4E0022871B721516005308DE /* PointRecordsViewController.h */, 4E0022881B721516005308DE /* PointRecordsViewController.m */, + B19D4EE71F6FAA6000C598F3 /* AboutPointViewController.h */, + B19D4EE81F6FAA6000C598F3 /* AboutPointViewController.m */, + B19D4EE91F6FAA6000C598F3 /* AboutPointViewController.xib */, 4EAE06A91B7B23EA00179F4B /* FileActivitiesViewController.h */, 4EAE06AA1B7B23EA00179F4B /* FileActivitiesViewController.m */, 4EAE06AC1B7B241A00179F4B /* FileVersionsViewController.h */, @@ -5027,6 +7585,46 @@ 4E6CBE501D8E962300644086 /* TopicAnswerDetailViewController.m */, 4E9E3B731DCC2DB10005FD79 /* HtmlMediaViewController.h */, 4E9E3B741DCC2DB10005FD79 /* HtmlMediaViewController.m */, + B1BCB88C1FCE61D60098B87B /* EAPayViewController.h */, + B1BCB88D1FCE61D60098B87B /* EAPayViewController.m */, + B1BCB88E1FCE61D60098B87B /* EAPayViewController.xib */, + B1890C462015D92600F52ABA /* WikiEditViewController.h */, + B1890C432015D92500F52ABA /* WikiEditViewController.m */, + B1890C422015D92500F52ABA /* WikiHistoryListViewController.h */, + B1890C442015D92500F52ABA /* WikiHistoryListViewController.m */, + B1890C452015D92600F52ABA /* WikiViewController.h */, + B1890C472015D92600F52ABA /* WikiViewController.m */, + B1816061202063440022B4C6 /* EATerminalViewController.h */, + B1816062202063440022B4C6 /* EATerminalViewController.m */, + B1817EB42063899400E9BAD1 /* EACodeBranchListViewController.h */, + B1817EB52063899400E9BAD1 /* EACodeBranchListViewController.m */, + B1817EB7206389F500E9BAD1 /* EACodeReleaseListViewController.h */, + B1817EB8206389F500E9BAD1 /* EACodeReleaseListViewController.m */, + B1817EE22064F92C00E9BAD1 /* EACodeReleaseViewController.h */, + B1817EE32064F92C00E9BAD1 /* EACodeReleaseViewController.m */, + B1817F042069F67700E9BAD1 /* EAEditCodeReleaseViewController.h */, + B1817F052069F67700E9BAD1 /* EAEditCodeReleaseViewController.m */, + B1944142206BB87F00147158 /* EALocalCodeListViewController.h */, + B1944143206BB87F00147158 /* EALocalCodeListViewController.m */, + B1944145206BB89100147158 /* EALocalCodeViewController.h */, + B1944146206BB89100147158 /* EALocalCodeViewController.m */, + B16EEF11209080D7005ABFD5 /* TaskBoardsViewController.h */, + B16EEF12209080D7005ABFD5 /* TaskBoardsViewController.m */, + B152ED66209420CD004A6E8A /* RATaskBoardListListViewController.h */, + B152ED67209420CD004A6E8A /* RATaskBoardListListViewController.m */, + B1C60C7C20BFCDBD0073D3CA /* EditMemberTypeProjectListViewController.h */, + B1C60C7D20BFCDBD0073D3CA /* EditMemberTypeProjectListViewController.m */, + B1C60C8120BFCEFD0073D3CA /* NFileListViewController.h */, + B1C60C8020BFCEFD0073D3CA /* NFileListViewController.m */, + B1C60C8C20BFF7950073D3CA /* ProjectTypeExplanationViewController.h */, + B1C60C8D20BFF7950073D3CA /* ProjectTypeExplanationViewController.m */, + B1C60C8B20BFF7940073D3CA /* ProjectTypeExplanationViewController.xib */, + B1C60C9F20C0DDF40073D3CA /* TeamPurchaseViewController.h */, + B1C60CA120C0DDF40073D3CA /* TeamPurchaseViewController.m */, + B1C60C9E20C0DDF30073D3CA /* TeamSettingViewController.h */, + B1C60CA020C0DDF40073D3CA /* TeamSettingViewController.m */, + B1C60CA220C0DDF50073D3CA /* TeamSupportViewController.h */, + B1C60CA320C0DDF50073D3CA /* TeamSupportViewController.m */, ); path = Controllers; sourceTree = ""; @@ -5078,6 +7676,21 @@ 8EA6CF5D19E240C40076D59C /* Images */ = { isa = PBXGroup; children = ( + B16E6CFA20C147760076026D /* team_cell_edit */, + B16E6CF120C147760076026D /* team_info */, + B16E6CD220C145BE0076026D /* quick_menu_icon */, + B16E6CAA20C13BF40076026D /* btn_next */, + B152ED86209453F2004A6E8A /* taskboard_page */, + B17CC31620731FF10077C956 /* code_release_resource_icon */, + B1AB5C8F202953E40075A669 /* terminal_icon */, + B1890C1D2015D82600F52ABA /* wiki */, + B1890C262015D82600F52ABA /* wiki_menu_icon */, + B1280CF2200EFEA400DEDF78 /* PR_Activity */, + B12B640B1FECB58F00ACFDCC /* login */, + B1BCB8941FCE93830098B87B /* pay */, + B14689A31EE100B200B01371 /* vip */, + 4EAAD0481E542B2D008AA957 /* icon_code */, + 4EAAD0181E540551008AA957 /* mrpr_icon_status */, 4E80E93D1E02911E00DE1BC6 /* search_icon */, 4E80E9261DFFF06E00DE1BC6 /* shortcut */, 13FB5CD21CA17A0B00EE127C /* pullRequest */, @@ -5092,11 +7705,9 @@ 4E2BF3BD1B95B97A00A5A0A8 /* tweet_btn */, 4E93F2341B84356500017916 /* file_menu_icon */, 4EAE06BB1B7B51AF00179F4B /* file_activity_icon */, - 4E0022A11B7362EF005308DE /* intro_pages */, 4E095A751B6B1E40008DC439 /* deadline_calendar */, 4E095A6A1B69F920008DC439 /* banner */, 4E94C5021B4D334B00EB668A /* pop_icon */, - 4EF17E761B3BF320003CDD2D /* introduction */, 4EC461AE1B39360F00D08970 /* file_changeType */, 4E6383F31B33C18700D98648 /* task_activity_icon */, 4E6383C81B32665700D98648 /* nproject_item */, @@ -5106,7 +7717,6 @@ 4E996BF91ABBF56A00C704F1 /* userInfo */, 4E66EE201A28226000DA1B3E /* button_file_manage */, 4EC5AD8E1A258DF8006FA97C /* icon_file_cell_edit */, - 4E9113A41A1CB19900AC9431 /* icon_file_state */, 4E96E7C91A1B537E0037C098 /* icon_file */, 8E97CE731A0C7E26006F9AD7 /* emotion_monkey */, 4E2DB33B1BA6A1FC002F27C4 /* emotion_monkey_gif */, @@ -5123,6 +7733,14 @@ 4E1A228C1AB19D1F00CFC14F /* git_btn_icons */, 7E8E59781B6F91C40083CA02 /* bubble */, 8EA6CF5F19E240C40076D59C /* btn_delete_tweetimage@2x.png */, + B184166720513CA000207666 /* topic_add_watcher_btn@3x.png */, + B184166820513CA000207666 /* tweet_comment_btn@3x.png */, + B1C871871EB1E608003DACF0 /* btn_setFrequent@3x.png */, + B1C871881EB1E608003DACF0 /* cell_checkmark@3x.png */, + B1C871891EB1E608003DACF0 /* icon_add_comment@3x.png */, + B1C8718A1EB1E608003DACF0 /* nav_page_selected@3x.png */, + B1C8718B1EB1E608003DACF0 /* nav_page_unselected@3x.png */, + B1C8718C1EB1E608003DACF0 /* tasks_all@3x.png */, 8B3516541B6CF69E0049BC45 /* icon_search_clock@2x.png */, D0C448121C02F76600DC1C4B /* icon_search_searchbar@2x.png */, D0C448131C02F76600DC1C4B /* icon_search_searchbar@3x.png */, @@ -5133,6 +7751,9 @@ 8EA6CF6319E240C40076D59C /* commentOrLikeBeginImg@2x.png */, 8B35164A1B6CE9460049BC45 /* icon_arrow_searchHistory@2x.png */, 8B35164B1B6CE9460049BC45 /* icon_topic_hotTop@2x.png */, + B1C8716D1EB1832B003DACF0 /* task_description_icon@3x.png */, + B1C8716E1EB1832B003DACF0 /* topic_comment_icon@3x.png */, + B1C8716F1EB1832B003DACF0 /* time_clock_icon@3x.png */, 8B35164C1B6CE9460049BC45 /* search_tweet_colck@2x.png */, 8EA6CF7119E240C40076D59C /* login_email@2x.png */, 8EA6CF7319E240C40076D59C /* login_suffix@2x.png */, @@ -5148,28 +7769,23 @@ 8EA6CFC419E240C40076D59C /* xtsegment_bordor_right@2x.png */, 8ED2AAF819F60D5200607A1D /* loading_loop@2x.png */, 8ED2AAF919F60D5200607A1D /* loading_monkey@2x.png */, + B1C871121EADAEE1003DACF0 /* loading_monkey@2x.gif */, 8EF6433B19FE696B00F7EEB0 /* cell_checkmark@2x.png */, 8EF6434F19FF4E1600F7EEB0 /* comment_count_top_line@2x.png */, - 4E4D6ABF1B252CD400FD2E49 /* icon_code_file@2x.png */, - 4E4D6AC01B252CD400FD2E49 /* icon_code_tree@2x.png */, 4EA679171A14BFA0001A0324 /* icon_file_folder_default@2x.png */, 4EA679181A14BFA0001A0324 /* icon_file_folder_normal@2x.png */, 4E1D99121DCAE67D00BAE585 /* icon_file_folder_out@2x.png */, - 4E1D99131DCAE67D00BAE585 /* icon_file_folder_out@3x.png */, 4E1D99141DCAE67D00BAE585 /* icon_file_folder_share@2x.png */, - 4E1D99151DCAE67D00BAE585 /* icon_file_folder_share@3x.png */, 4E1D991A1DCAE69600BAE585 /* icon_file_share_logo@2x.png */, 4E1D991B1DCAE69600BAE585 /* icon_file_share_logo@3x.png */, 4E07D30B1A4A9F45009EDDF2 /* btn_file_cancel@2x.png */, 4E07D30C1A4A9F45009EDDF2 /* btn_file_reDo@2x.png */, - 4E07D3121A4D3CA6009EDDF2 /* icon_user_monkey@2x.png */, - 4E07D3131A4D3CA6009EDDF2 /* logo_coding@2x.png */, 4EFE8DAE1B3960E6004B7559 /* logo_coding_top@2x.png */, + B16E6C9F20C0FDB50076026D /* logo_coding_top@3x.png */, 4E76D4DD1A5A7B4A0094A35E /* text_clear_btn@2x.png */, 4E03AC991A5BDDF9002B000B /* STARTIMAGE.jpg */, 4E6B07151BA4045E007D6027 /* MIDAUTUMNIMAGE.jpg */, D09E6AB91BF829A1009D37F8 /* icon_project_private@2x.png */, - 4E38CF631A7B8DD4005536C0 /* icon_triangle@2x.png */, 4EBFBD171AA85B8500E4B10E /* add_user_icon@2x.png */, 4E2719C61AB07ED6006AE214 /* dot_line@2x.png */, 0A06C2521AB9E57900AB3B03 /* map_annotation@2x.png */, @@ -5190,8 +7806,6 @@ 4EE1A23B1B5F3834004284F1 /* project_tag_btn@2x.png */, 4EE1A23C1B5F3834004284F1 /* project_tag_icon@2x.png */, 8EA6CF7419E240C40076D59C /* logo_about@2x.png */, - 4E8F92DB1B67BE3C00033D8F /* icon_user_monkey_i6@2x.png */, - 4E8F92DC1B67BE3C00033D8F /* icon_user_monkey_i6p@3x.png */, 4E095A801B6B24DE008DC439 /* task_description_icon@2x.png */, 4E095A811B6B24DE008DC439 /* time_clock_icon@2x.png */, 4E095A821B6B24DE008DC439 /* topic_comment_icon@2x.png */, @@ -5199,6 +7813,7 @@ 4EAE068F1B784E9200179F4B /* store_icon@2x.png */, 4EAE06911B7880BA00179F4B /* me_info_arrow_left@2x.png */, 4EAC8B691BA01F190060B0FC /* little_phone_icon@2x.png */, + B1C871571EB0884A003DACF0 /* little_phone_icon@3x.png */, 4E5D13161C0EF48200985AEB /* button_close@2x.png */, 4E5D13171C0EF48200985AEB /* button_close@3x.png */, 4EC4800D1C2A909D005F1772 /* register_step_ed@2x.png */, @@ -5207,7 +7822,6 @@ 4EC480101C2A909D005F1772 /* register_step_un@3x.png */, 4ED6181E1C3A732F0017946C /* button_arrow_left@2x.png */, 4EB52F2C1C77138A00B5EBEA /* button_scan@2x.png */, - 4EB52F2D1C77138A00B5EBEA /* button_scan@3x.png */, 4ECEFA001D1D0B4B002A27D3 /* tip_bg@2x.png */, 4ECEFA011D1D0B4B002A27D3 /* tip_bg@3x.png */, 4E59D3301D409C8C008C914B /* topic_add_watcher_btn@2x.png */, @@ -5215,6 +7829,41 @@ 4E6CBE531D8EA9D100644086 /* icon_best_answer@3x.png */, 4E80E9361E01218300DE1BC6 /* reward_tip_logo@2x.png */, 4E80E9371E01218300DE1BC6 /* reward_tip_logo@3x.png */, + 4EAAD0591E544006008AA957 /* icon_triangle@2x.png */, + 4EAAD05A1E544006008AA957 /* icon_triangle@3x.png */, + B1C8714E1EADF48B003DACF0 /* cell_arrow_left@2x.png */, + B1C8714F1EADF48B003DACF0 /* cell_arrow_left@3x.png */, + B1C871B71EB338FD003DACF0 /* comment_bg@3x.png */, + B1C871B81EB338FD003DACF0 /* project_tag_btn@3x.png */, + B1C871B91EB338FD003DACF0 /* project_tag_icon@3x.png */, + B12B64161FF0E4CA00ACFDCC /* skill_delete@2x.png */, + B12B64171FF0E4CA00ACFDCC /* skill_delete@3x.png */, + B12B64211FF33DFF00ACFDCC /* button_red_close@2x.png */, + B12B64201FF33DFE00ACFDCC /* button_red_close@3x.png */, + B12B64251FF33E0000ACFDCC /* button_tip_close@2x.png */, + B12B64221FF33DFF00ACFDCC /* button_tip_close@3x.png */, + B1CB8DD02047F1D000872197 /* button_tip_notice@2x.png */, + B1CB8DD12047F1D100872197 /* button_tip_notice@3x.png */, + B12B64231FF33DFF00ACFDCC /* upgrade_success@2x.png */, + B12B64241FF33E0000ACFDCC /* upgrade_success@3x.png */, + B11DC7BE20245727004E76A9 /* button_terminal@2x.png */, + B11DC7BF20245728004E76A9 /* button_terminal@3x.png */, + B10341272024633800853447 /* logo_coding@2x.png */, + B10341282024633900853447 /* logo_coding@3x.png */, + B1817EFB206918D200E9BAD1 /* icon_branch_protected@2x.png */, + B1817EFA206918D100E9BAD1 /* icon_branch_protected@3x.png */, + B1817EFF2069197C00E9BAD1 /* icon_release_tag@2x.png */, + B1817EFE2069197C00E9BAD1 /* icon_release_tag@3x.png */, + B17CC31320731E910077C956 /* icon_release_tag_blue@2x.png */, + B17CC31220731E900077C956 /* icon_release_tag_blue@3x.png */, + B1BFC4B520B2ACEE009427FC /* editBoardList@2x.png */, + B1BFC4B420B2ACED009427FC /* editBoardList@3x.png */, + B16E6CA520C13BA10076026D /* btn_dismiss@2x.png */, + B16E6CA420C13BA10076026D /* btn_dismiss@3x.png */, + B16E6CEC20C147490076026D /* team_bg@2x.png */, + B16E6CEB20C147480076026D /* team_bg@3x.png */, + B15C98AE20D39CA100DDA425 /* project_icon_edit@2x.png */, + B15C98AF20D39CA200DDA425 /* project_icon_edit@3x.png */, ); path = Images; sourceTree = ""; @@ -5292,6 +7941,8 @@ children = ( 8EA6CFAB19E240C40076D59C /* timeline_icon_read@2x.png */, 8EA6CFAC19E240C40076D59C /* timeline_icon_unread@2x.png */, + B16EEF06208DDBB5005ABFD5 /* timeline_icon_read@3x.png */, + B16EEF07208DDBB6005ABFD5 /* timeline_icon_unread@3x.png */, 8EA6CFAD19E240C40076D59C /* timeline_line_read@2x.png */, 8EA6CFAE19E240C40076D59C /* timeline_line_unread@2x.png */, ); @@ -5422,6 +8073,14 @@ 4E49693F1DCB0BCE0065028E /* FileShare.m */, 4E38CF601A7B7C99005536C0 /* CodeBranchOrTag.h */, 4E38CF611A7B7C99005536C0 /* CodeBranchOrTag.m */, + B1817EBD2063951000E9BAD1 /* EABasePageModel.h */, + B1817EBE2063951000E9BAD1 /* EABasePageModel.m */, + B1817EBA2063936100E9BAD1 /* EACodeBranches.h */, + B1817EBB2063936100E9BAD1 /* EACodeBranches.m */, + B1817EC2206397E000E9BAD1 /* EACodeRelease.h */, + B1817EC3206397E000E9BAD1 /* EACodeRelease.m */, + B1817EC5206397F500E9BAD1 /* EACodeReleases.h */, + B1817EC6206397F500E9BAD1 /* EACodeReleases.m */, 0A6E6BAB1AB08540004C0107 /* TweetSendLocation.h */, 0A6E6BAC1AB08540004C0107 /* TweetSendLocation.m */, 4ECF70441B18557E000280FF /* MRPRS.h */, @@ -5474,6 +8133,22 @@ 4E6CBE5B1D8FC7A500644086 /* ProjectServiceInfo.m */, 4ED4B4951D82939700EED8C6 /* Team.h */, 4ED4B4961D82939700EED8C6 /* Team.m */, + B1D5F21420BD485C00983FB6 /* TeamPurchaseBilling.h */, + B1D5F21320BD485B00983FB6 /* TeamPurchaseBilling.m */, + B1D5F21120BD485A00983FB6 /* TeamPurchaseBillingDetail.h */, + B1D5F21520BD485C00983FB6 /* TeamPurchaseBillingDetail.m */, + B1D5F21020BD485A00983FB6 /* TeamPurchaseOrder.h */, + B1D5F21220BD485B00983FB6 /* TeamPurchaseOrder.m */, + B19D4EEC1F6FCEAC00C598F3 /* CodingSkill.h */, + B19D4EED1F6FCEAC00C598F3 /* CodingSkill.m */, + B1890C332015D87800F52ABA /* EAWiki.h */, + B1890C342015D87800F52ABA /* EAWiki.m */, + B152ED582092BF46004A6E8A /* EABoardTaskList.h */, + B152ED592092BF46004A6E8A /* EABoardTaskList.m */, + B1ACFE0B20A975E2000BC41E /* EAMilestone.h */, + B1ACFE0C20A975E2000BC41E /* EAMilestone.m */, + B1D5F21C20BD50D000983FB6 /* ProjectRole.h */, + B1D5F21D20BD50D000983FB6 /* ProjectRole.m */, ); path = Models; sourceTree = ""; @@ -5481,10 +8156,11 @@ 8EA6CFFA19E240C40076D59C /* Resources */ = { isa = PBXGroup; children = ( - 4EE083DD1ADB739300CA342E /* modules */, + B177F5BF2060E6B1006709C2 /* modules */, 4EE083DB1ADB736800CA342E /* service_terms.html */, 4ECEF9F61D1BB7FB002A27D3 /* diff-ios.html */, 4EBD7FB01CE482A400B3AF49 /* country_code.plist */, + B1944153206CBE8C00147158 /* code_lang.plist */, 8E1C3DF519E7F4CA00EF3032 /* address.json */, ); path = Resources; @@ -5550,9 +8226,13 @@ 8EA6D03E19E240C40076D59C /* Vendor */ = { isa = PBXGroup; children = ( + B14DE6DB20C914E60072ECEA /* AnimatedGIFImageSerialization */, + B12B64561FFB61AD00ACFDCC /* QBImagePickerController */, + B12B63FA1FE900D400ACFDCC /* AMPopTip */, + B12B63F41FE8A77200ACFDCC /* SinaSDK */, + B19D4EF81F7247BA00C598F3 /* AlipaySDK */, D031F5D81BFAD6690008E964 /* FRDLivelyButton */, 4E5D12FB1C0C5EE600985AEB /* RRFPSBar */, - 4EE956521B9C1C500009EDA9 /* UMSocial_Sdk_4.3.0_Extra */, 4E93F2301B84243D00017916 /* KxMenu */, 4E0022971B735075005308DE /* EAIntroView */, 4E0022931B73506A005308DE /* EARestrictedScrollView */, @@ -5576,7 +8256,6 @@ 8E59F0DC1A0098BA009A905F /* SVPullToRefresh */, 8ED0D87119FBA6EA00FBA818 /* NSStringEmojize */, 8E64ED8619EE484A006E99DA /* NSDate+Helper */, - 8E64ED6519ED0CE3006E99DA /* QBImagePickerController */, 8E1C3DD819E7D58A00EF3032 /* ActionSheetPicker */, 8ED4611D19E4DC470059B3BE /* iCarousel */, 8EA6D06819E240C40076D59C /* MJPhotoBrowser */, @@ -5681,6 +8360,8 @@ 923399711C00A9EF00F29E04 /* DashesLineView.m */, D0A32BF11BF19EF100336C52 /* PopFliterMenu.h */, D0A32BF21BF19EF100336C52 /* PopFliterMenu.m */, + 4EAAD0151E53EFF2008AA957 /* EAFliterMenu.h */, + 4EAAD0161E53EFF2008AA957 /* EAFliterMenu.m */, 4EC4800A1C2936DA005F1772 /* PhoneCodeButton.h */, 4EC4800B1C2936DA005F1772 /* PhoneCodeButton.m */, 09A058811E0AA9AE00C1CA3F /* ActivityMonScrollView.h */, @@ -5693,6 +8374,12 @@ 09A058941E0AAA2F00C1CA3F /* TaskSelectionView.m */, 09A058961E0AAA5300C1CA3F /* ScreenView.h */, 09A058971E0AAA5300C1CA3F /* ScreenView.m */, + B1BCB8921FCE662A0098B87B /* NSLayoutConstraintLine.h */, + B1BCB8911FCE662A0098B87B /* NSLayoutConstraintLine.m */, + B12B63F71FE8FF0300ACFDCC /* MartFunctionTipView.h */, + B12B63F81FE8FF0300ACFDCC /* MartFunctionTipView.m */, + B1890C3F2015D8F700F52ABA /* WikiHeaderView.h */, + B1890C402015D8F700F52ABA /* WikiHeaderView.m */, ); path = Views; sourceTree = ""; @@ -5741,6 +8428,8 @@ 927AFF3D1BFF608700AAE593 /* ShopGoodsCCell.m */, 927AFF421BFF61FF00AAE593 /* BaseCollectionCell.h */, 927AFF431BFF61FF00AAE593 /* BaseCollectionCell.m */, + B12B64131FF0DE4800ACFDCC /* SkillCCell.h */, + B12B64141FF0DE4800ACFDCC /* SkillCCell.m */, ); path = CCell; sourceTree = ""; @@ -5841,6 +8530,8 @@ 8EF643A819FF7E2900F7EEB0 /* ValueListCell.m */, 8E59F0F21A00F3B9009A905F /* ProjectCodeListCell.h */, 8E59F0F31A00F3B9009A905F /* ProjectCodeListCell.m */, + 4EAAD05D1E545516008AA957 /* ProjectCodeListSearchCell.h */, + 4EAAD05E1E545516008AA957 /* ProjectCodeListSearchCell.m */, 8E59F0F51A00F3E2009A905F /* ProjectFolderListCell.h */, 8E59F0F61A00F3E2009A905F /* ProjectFolderListCell.m */, 4EA6791B1A15A943001A0324 /* FileListFolderCell.h */, @@ -5962,6 +8653,40 @@ 09A0589A1E0AAA7200C1CA3F /* ScreenCell.m */, 09A0589C1E0AAA8800C1CA3F /* TaskSelectionCell.h */, 09A0589D1E0AAA8800C1CA3F /* TaskSelectionCell.m */, + B19D4EEF1F710EF900C598F3 /* ShopSwitchCell.h */, + B19D4EF01F710EF900C598F3 /* ShopSwitchCell.m */, + B19D4EF11F710EF900C598F3 /* ShopSwitchCell.xib */, + B1890C3C2015D8C800F52ABA /* WikiHistoryCell.h */, + B1890C3B2015D8C800F52ABA /* WikiHistoryCell.m */, + B1890C392015D8C800F52ABA /* WikiMenuListCell.h */, + B1890C3A2015D8C800F52ABA /* WikiMenuListCell.m */, + B1817ECB20639F0A00E9BAD1 /* EACodeBranchListCell.h */, + B1817ECC20639F0A00E9BAD1 /* EACodeBranchListCell.m */, + B1817EEE2068C7A100E9BAD1 /* EACodeBranchListCell.xib */, + B1817EC820639E9500E9BAD1 /* EACodeReleaseListCell.h */, + B1817EC920639E9500E9BAD1 /* EACodeReleaseListCell.m */, + B1817EF02068F4B400E9BAD1 /* EACodeReleaseListCell.xib */, + B1817EE52064FC6100E9BAD1 /* EACodeReleaseTopCell.h */, + B1817EE62064FC6100E9BAD1 /* EACodeReleaseTopCell.m */, + B1817F0220691B2700E9BAD1 /* EACodeReleaseTopCell.xib */, + B1817EE82064FC7300E9BAD1 /* EACodeReleaseBodyCell.h */, + B1817EE92064FC7300E9BAD1 /* EACodeReleaseBodyCell.m */, + B1817EEB2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.h */, + B1817EEC2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.m */, + B1944148206BB8BB00147158 /* EALocalCodeListCell.h */, + B1944149206BB8BB00147158 /* EALocalCodeListCell.m */, + B152ED5B2092D51E004A6E8A /* EATaskBoardListTaskCell.h */, + B152ED5C2092D51E004A6E8A /* EATaskBoardListTaskCell.m */, + B1D5F22020BEA37500983FB6 /* MeRootCompanyCell.h */, + B1D5F22120BEA37500983FB6 /* MeRootCompanyCell.m */, + B1C60C9220C004C70073D3CA /* TeamPurchaseBillingCell.h */, + B1C60C9420C004C70073D3CA /* TeamPurchaseBillingCell.m */, + B1C60C9520C004C80073D3CA /* TeamPurchaseOrderCell.h */, + B1C60C9620C004C80073D3CA /* TeamPurchaseOrderCell.m */, + B1C60C9720C004C80073D3CA /* TeamPurchaseTopCell.h */, + B1C60C9320C004C70073D3CA /* TeamPurchaseTopCell.m */, + B1D5F23120BEADD200983FB6 /* TeamSupportCell.h */, + B1D5F23020BEADD100983FB6 /* TeamSupportCell.m */, ); path = Cell; sourceTree = ""; @@ -5990,12 +8715,457 @@ 927AFF491BFF6DAD00AAE593 /* shop_exchange_icon@3x.png */, 927AFF4A1BFF6DAD00AAE593 /* shop_nar_history_icon@2x.png */, 927AFF4B1BFF6DAD00AAE593 /* shop_nar_history_icon@3x.png */, - 927AFF4C1BFF6DAD00AAE593 /* shop_unexchange_icon@2x.png */, - 927AFF4D1BFF6DAD00AAE593 /* shop_unexchange_icon@3x.png */, ); path = shop; sourceTree = ""; }; + B1280CF2200EFEA400DEDF78 /* PR_Activity */ = { + isa = PBXGroup; + children = ( + B1280CF3200EFEA400DEDF78 /* PR_add_label@3x.png */, + B1280CF4200EFEA400DEDF78 /* PR_add_watcher@2x.png */, + B1280CF5200EFEA400DEDF78 /* PR_del_label@3x.png */, + B1280CF6200EFEA400DEDF78 /* PR_del_watcher@2x.png */, + B1280CF7200EFEA400DEDF78 /* PR_add_reviewer@3x.png */, + B1280CF8200EFEA400DEDF78 /* PR_add_reviewer@2x.png */, + B1280CF9200EFEA400DEDF78 /* PR_del_watcher@3x.png */, + B1280CFA200EFEA400DEDF78 /* PR_del_label@2x.png */, + B1280CFB200EFEA400DEDF78 /* PR_add_watcher@3x.png */, + B1280CFC200EFEA400DEDF78 /* PR_add_label@2x.png */, + B1280CFD200EFEA400DEDF78 /* PR_del_reviewer@2x.png */, + B1280CFE200EFEA400DEDF78 /* PR_del_reviewer@3x.png */, + ); + path = PR_Activity; + sourceTree = ""; + }; + B12B63F41FE8A77200ACFDCC /* SinaSDK */ = { + isa = PBXGroup; + children = ( + B12B63F51FE8A77200ACFDCC /* WeiboSDK.bundle */, + ); + path = SinaSDK; + sourceTree = ""; + }; + B12B63FA1FE900D400ACFDCC /* AMPopTip */ = { + isa = PBXGroup; + children = ( + B12B63FB1FE900D400ACFDCC /* AMPopTip+Animation.m */, + B12B63FC1FE900D400ACFDCC /* AMPopTip+Entrance.h */, + B12B63FD1FE900D400ACFDCC /* AMPopTip.m */, + B12B63FE1FE900D400ACFDCC /* AMPopTipDefaults.h */, + B12B63FF1FE900D400ACFDCC /* AMPopTip+Draw.h */, + B12B64001FE900D400ACFDCC /* AMPopTip+Exit.h */, + B12B64011FE900D400ACFDCC /* AMPopTip+Animation.h */, + B12B64021FE900D400ACFDCC /* AMPopTip+Entrance.m */, + B12B64031FE900D400ACFDCC /* AMPopTip+Draw.m */, + B12B64041FE900D400ACFDCC /* AMPopTip.h */, + B12B64051FE900D400ACFDCC /* AMPopTip+Exit.m */, + ); + path = AMPopTip; + sourceTree = ""; + }; + B12B640B1FECB58F00ACFDCC /* login */ = { + isa = PBXGroup; + children = ( + B12B640C1FECB58F00ACFDCC /* login_wechat@3x.png */, + B12B640D1FECB58F00ACFDCC /* login_wechat@2x.png */, + ); + path = login; + sourceTree = ""; + }; + B12B64561FFB61AD00ACFDCC /* QBImagePickerController */ = { + isa = PBXGroup; + children = ( + B12B64591FFB61AD00ACFDCC /* QBImagePicker */, + B12B64571FFB61AD00ACFDCC /* LICENSE */, + B12B64581FFB61AD00ACFDCC /* README.md */, + ); + path = QBImagePickerController; + sourceTree = ""; + }; + B12B64591FFB61AD00ACFDCC /* QBImagePicker */ = { + isa = PBXGroup; + children = ( + B12B645A1FFB61AD00ACFDCC /* QBImagePicker.strings */, + B12B645C1FFB61AD00ACFDCC /* QBImagePickerController.h */, + B12B645F1FFB61AD00ACFDCC /* QBAssetsViewController.h */, + B12B64601FFB61AD00ACFDCC /* QBAlbumsViewController.h */, + B12B64611FFB61AD00ACFDCC /* QBVideoIconView.m */, + B12B64621FFB61AD00ACFDCC /* QBVideoIndicatorView.m */, + B12B64651FFB61AD00ACFDCC /* QBCheckmarkView.h */, + B12B64661FFB61AD00ACFDCC /* QBAssetCell.h */, + B12B64671FFB61AD00ACFDCC /* QBSlomoIconView.h */, + B12B64681FFB61AD00ACFDCC /* QBAlbumCell.m */, + B12B64691FFB61AD00ACFDCC /* QBImagePicker.storyboard */, + B12B646A1FFB61AD00ACFDCC /* QBVideoIndicatorView.h */, + B12B646B1FFB61AD00ACFDCC /* QBAlbumsViewController.m */, + B12B646C1FFB61AD00ACFDCC /* QBVideoIconView.h */, + B12B646D1FFB61AD00ACFDCC /* QBAssetsViewController.m */, + B12B646E1FFB61AD00ACFDCC /* QBImagePickerController.m */, + B12B646F1FFB61AD00ACFDCC /* QBCheckmarkView.m */, + B12B64701FFB61AD00ACFDCC /* QBAlbumCell.h */, + B12B64711FFB61AD00ACFDCC /* QBSlomoIconView.m */, + B12B64721FFB61AD00ACFDCC /* QBAssetCell.m */, + ); + path = QBImagePicker; + sourceTree = ""; + }; + B14689A31EE100B200B01371 /* vip */ = { + isa = PBXGroup; + children = ( + B14689A41EE100B200B01371 /* vip_3_30@2x.png */, + B14689A51EE100B200B01371 /* vip_3_30@3x.png */, + B14689A61EE100B200B01371 /* vip_3_40@2x.png */, + B14689A71EE100B200B01371 /* vip_3_40@3x.png */, + B14689A81EE100B200B01371 /* vip_3_45@2x.png */, + B14689A91EE100B200B01371 /* vip_3_45@3x.png */, + B14689AA1EE100B200B01371 /* vip_3_75@2x.png */, + B14689AB1EE100B200B01371 /* vip_3_75@3x.png */, + B14689AC1EE100B200B01371 /* vip_4_30@2x.png */, + B14689AD1EE100B200B01371 /* vip_4_30@3x.png */, + B14689AE1EE100B200B01371 /* vip_4_40@2x.png */, + B14689AF1EE100B200B01371 /* vip_4_40@3x.png */, + B14689B01EE100B200B01371 /* vip_4_45@2x.png */, + B14689B11EE100B200B01371 /* vip_4_45@3x.png */, + B14689B21EE100B200B01371 /* vip_4_75@2x.png */, + B14689B31EE100B200B01371 /* vip_4_75@3x.png */, + ); + path = vip; + sourceTree = ""; + }; + B14DE6DB20C914E60072ECEA /* AnimatedGIFImageSerialization */ = { + isa = PBXGroup; + children = ( + B14DE6DC20C914E60072ECEA /* AnimatedGIFImageSerialization.h */, + B14DE6DD20C914E60072ECEA /* AnimatedGIFImageSerialization.m */, + ); + path = AnimatedGIFImageSerialization; + sourceTree = ""; + }; + B152ED86209453F2004A6E8A /* taskboard_page */ = { + isa = PBXGroup; + children = ( + B152ED87209453F2004A6E8A /* taskboard_normal_page_selected@3x.png */, + B152ED88209453F2004A6E8A /* taskboard_normal_page_selected@2x.png */, + B152ED89209453F2004A6E8A /* taskboard_add_page_unselected@2x.png */, + B152ED8A209453F2004A6E8A /* taskboard_add_page_selected@2x.png */, + B152ED8B209453F2004A6E8A /* taskboard_add_page_selected@3x.png */, + B152ED8C209453F2004A6E8A /* taskboard_add_page_unselected@3x.png */, + B152ED8D209453F2004A6E8A /* taskboard_normal_page_unselected@3x.png */, + B152ED8E209453F2004A6E8A /* taskboard_normal_page_unselected@2x.png */, + ); + path = taskboard_page; + sourceTree = ""; + }; + B16E6CAA20C13BF40076026D /* btn_next */ = { + isa = PBXGroup; + children = ( + B16E6CAB20C13BF40076026D /* btn_next_unable@2x.png */, + B16E6CAC20C13BF40076026D /* btn_next_unable@3x.png */, + B16E6CAD20C13BF40076026D /* btn_next_enable@2x.png */, + B16E6CAE20C13BF40076026D /* btn_next_enable@3x.png */, + ); + path = btn_next; + sourceTree = ""; + }; + B16E6CD220C145BE0076026D /* quick_menu_icon */ = { + isa = PBXGroup; + children = ( + B16E6CD320C145BE0076026D /* quick_menu_icon_message@2x.png */, + B16E6CD420C145BE0076026D /* quick_menu_icon_message@3x.png */, + B16E6CD520C145BE0076026D /* quick_menu_icon_task@3x.png */, + B16E6CD620C145BE0076026D /* quick_menu_icon_task@2x.png */, + B16E6CD720C145BE0076026D /* quick_menu_icon_project@3x.png */, + B16E6CD820C145BE0076026D /* quick_menu_icon_2fa@3x.png */, + B16E6CD920C145BE0076026D /* quick_menu_icon_2fa@2x.png */, + B16E6CDA20C145BE0076026D /* quick_menu_icon_project@2x.png */, + ); + path = quick_menu_icon; + sourceTree = ""; + }; + B16E6CF120C147760076026D /* team_info */ = { + isa = PBXGroup; + children = ( + B16E6CF220C147760076026D /* team_info_pro@3x.png */, + B16E6CF320C147760076026D /* team_info_pro@2x.png */, + B16E6CF420C147760076026D /* team_info_order@2x.png */, + B16E6CF520C147760076026D /* team_info_order@3x.png */, + B16E6CF620C147760076026D /* team_info_sup@2x.png */, + B16E6CF720C147760076026D /* team_info_mem@3x.png */, + B16E6CF820C147760076026D /* team_info_mem@2x.png */, + B16E6CF920C147760076026D /* team_info_sup@3x.png */, + ); + path = team_info; + sourceTree = ""; + }; + B16E6CFA20C147760076026D /* team_cell_edit */ = { + isa = PBXGroup; + children = ( + B16E6CFB20C147760076026D /* team_cell_edit_team@3x.png */, + B16E6CFC20C147760076026D /* team_cell_edit_team@2x.png */, + B16E6CFD20C147760076026D /* team_cell_edit_delete@3x.png */, + B16E6CFE20C147760076026D /* team_cell_edit_delete@2x.png */, + B16E6CFF20C147760076026D /* team_cell_edit_pro@3x.png */, + B16E6D0020C147760076026D /* team_cell_edit_pro@2x.png */, + ); + path = team_cell_edit; + sourceTree = ""; + }; + B16E6D1D20C148E50076026D /* images_diff */ = { + isa = PBXGroup; + children = ( + B16E6D1E20C148E50076026D /* personal */, + B16E6D4C20C148E50076026D /* enterprise */, + ); + path = images_diff; + sourceTree = ""; + }; + B16E6D1E20C148E50076026D /* personal */ = { + isa = PBXGroup; + children = ( + B16E6D1F20C148E50076026D /* introduction */, + B16E6D3E20C148E50076026D /* intro_pages */, + B16E6D4820C148E50076026D /* icon_user_monkey */, + ); + path = personal; + sourceTree = ""; + }; + B16E6D1F20C148E50076026D /* introduction */ = { + isa = PBXGroup; + children = ( + B16E6D2020C148E50076026D /* intro_icon_4@3x.png */, + B16E6D2120C148E50076026D /* intro_tip_2@3x.png */, + B16E6D2220C148E50076026D /* intro_icon_6@2x.png */, + B16E6D2320C148E50076026D /* intro_tip_0@2x.png */, + B16E6D2420C148E50076026D /* intro_tip_0@3x.png */, + B16E6D2520C148E50076026D /* intro_icon_6@3x.png */, + B16E6D2620C148E50076026D /* intro_tip_2@2x.png */, + B16E6D2720C148E50076026D /* intro_icon_4@2x.png */, + B16E6D2820C148E50076026D /* intro_icon_0@2x.png */, + B16E6D2920C148E50076026D /* intro_icon_2@3x.png */, + B16E6D2A20C148E50076026D /* intro_tip_4@3x.png */, + B16E6D2B20C148E50076026D /* intro_tip_4@2x.png */, + B16E6D2C20C148E50076026D /* intro_icon_2@2x.png */, + B16E6D2D20C148E50076026D /* intro_icon_0@3x.png */, + B16E6D2E20C148E50076026D /* intro_tip_1@2x.png */, + B16E6D2F20C148E50076026D /* intro_icon_5@3x.png */, + B16E6D3020C148E50076026D /* intro_dot_unselected@2x.png */, + B16E6D3120C148E50076026D /* intro_tip_3@3x.png */, + B16E6D3220C148E50076026D /* intro_tip_3@2x.png */, + B16E6D3320C148E50076026D /* intro_icon_5@2x.png */, + B16E6D3420C148E50076026D /* intro_dot_unselected@3x.png */, + B16E6D3520C148E50076026D /* intro_tip_1@3x.png */, + B16E6D3620C148E50076026D /* intro_icon_3@3x.png */, + B16E6D3720C148E50076026D /* intro_tip_5@3x.png */, + B16E6D3820C148E50076026D /* intro_icon_1@2x.png */, + B16E6D3920C148E50076026D /* intro_dot_selected@2x.png */, + B16E6D3A20C148E50076026D /* intro_dot_selected@3x.png */, + B16E6D3B20C148E50076026D /* intro_icon_1@3x.png */, + B16E6D3C20C148E50076026D /* intro_tip_5@2x.png */, + B16E6D3D20C148E50076026D /* intro_icon_3@2x.png */, + ); + path = introduction; + sourceTree = ""; + }; + B16E6D3E20C148E50076026D /* intro_pages */ = { + isa = PBXGroup; + children = ( + B16E6D3F20C148E50076026D /* intro_page0_ip5@2x.png */, + B16E6D4020C148E50076026D /* intro_page_selected@2x.png */, + B16E6D4120C148E50076026D /* intro_page_unselected@2x.png */, + B16E6D4220C148E50076026D /* intro_page0_ip4@2x.png */, + B16E6D4320C148E50076026D /* intro_page_unselected@3x.png */, + B16E6D4420C148E50076026D /* intro_page_selected@3x.png */, + B16E6D4520C148E50076026D /* intro_page0_ip6@2x.png */, + B16E6D4620C148E50076026D /* intro_page0_ip6+@3x.png */, + B16E6D4720C148E50076026D /* intro_page0_ipX@3x.png */, + ); + path = intro_pages; + sourceTree = ""; + }; + B16E6D4820C148E50076026D /* icon_user_monkey */ = { + isa = PBXGroup; + children = ( + B16E6D4920C148E50076026D /* icon_user_monkey_i6p@3x.png */, + B16E6D4A20C148E50076026D /* icon_user_monkey_i6@2x.png */, + B16E6D4B20C148E50076026D /* icon_user_monkey@2x.png */, + ); + path = icon_user_monkey; + sourceTree = ""; + }; + B16E6D4C20C148E50076026D /* enterprise */ = { + isa = PBXGroup; + children = ( + B16E6D4D20C148E50076026D /* introduction */, + B16E6D6020C148E50076026D /* intro_pages */, + B16E6D7120C148E50076026D /* icon_user_monkey */, + ); + path = enterprise; + sourceTree = ""; + }; + B16E6D4D20C148E50076026D /* introduction */ = { + isa = PBXGroup; + children = ( + B16E6D5420C148E50076026D /* dot_dark */, + B16E6D4E20C148E50076026D /* dot_light */, + B16E6D5320C148E50076026D /* intro_icon_wiki_down.gif */, + B16E6D5920C148E50076026D /* intro_icon_wiki_up.gif */, + B16E6D5A20C148E50076026D /* intro_icon_file_up.gif */, + B16E6D5B20C148E50076026D /* intro_icon_code_up.gif */, + B16E6D5C20C148E50076026D /* intro_icon_task_up.gif */, + B16E6D5D20C148E50076026D /* intro_icon_file_down.gif */, + B16E6D5E20C148E50076026D /* intro_icon_task_down.gif */, + B16E6D5F20C148E50076026D /* intro_icon_code_down.gif */, + ); + path = introduction; + sourceTree = ""; + }; + B16E6D4E20C148E50076026D /* dot_light */ = { + isa = PBXGroup; + children = ( + B16E6D4F20C148E50076026D /* intro_dot_light_unselected@2x.png */, + B16E6D5020C148E50076026D /* intro_dot_light_unselected@3x.png */, + B16E6D5120C148E50076026D /* intro_dot_light_selected@3x.png */, + B16E6D5220C148E50076026D /* intro_dot_light_selected@2x.png */, + ); + path = dot_light; + sourceTree = ""; + }; + B16E6D5420C148E50076026D /* dot_dark */ = { + isa = PBXGroup; + children = ( + B16E6D5520C148E50076026D /* intro_dot_dark_unselected@3x.png */, + B16E6D5620C148E50076026D /* intro_dot_dark_selected@3x.png */, + B16E6D5720C148E50076026D /* intro_dot_dark_selected@2x.png */, + B16E6D5820C148E50076026D /* intro_dot_dark_unselected@2x.png */, + ); + path = dot_dark; + sourceTree = ""; + }; + B16E6D6020C148E50076026D /* intro_pages */ = { + isa = PBXGroup; + children = ( + B16E6D6120C148E50076026D /* intro_page0_ip5@2x.png */, + B16E6D6220C148E50076026D /* intro_page2_ip6+@3x.png */, + B16E6D6320C148E50076026D /* intro_page1_ip6@2x.png */, + B16E6D6420C148E50076026D /* intro_page1_ip4@2x.png */, + B16E6D6520C148E50076026D /* intro_page2_ip5@2x.png */, + B16E6D6620C148E50076026D /* intro_page1_ip6+@3x.png */, + B16E6D6720C148E50076026D /* intro_page_selected@2x.png */, + B16E6D6820C148E50076026D /* intro_page_unselected@2x.png */, + B16E6D6920C148E50076026D /* intro_page0_ip4@2x.png */, + B16E6D6A20C148E50076026D /* intro_page1_ip5@2x.png */, + B16E6D6B20C148E50076026D /* intro_page_unselected@3x.png */, + B16E6D6C20C148E50076026D /* intro_page_selected@3x.png */, + B16E6D6D20C148E50076026D /* intro_page0_ip6@2x.png */, + B16E6D6E20C148E50076026D /* intro_page2_ip4@2x.png */, + B16E6D6F20C148E50076026D /* intro_page0_ip6+@3x.png */, + B16E6D7020C148E50076026D /* intro_page2_ip6@2x.png */, + ); + path = intro_pages; + sourceTree = ""; + }; + B16E6D7120C148E50076026D /* icon_user_monkey */ = { + isa = PBXGroup; + children = ( + B16E6D7220C148E50076026D /* icon_user_monkey@2x.png */, + B16E6D7320C148E50076026D /* icon_user_monkey@3x.png */, + ); + path = icon_user_monkey; + sourceTree = ""; + }; + B177F5BF2060E6B1006709C2 /* modules */ = { + isa = PBXGroup; + children = ( + B177F5C02060E6B1006709C2 /* wiki.html */, + B177F5C12060E6B1006709C2 /* bubble.html */, + B177F5C22060E6B1006709C2 /* markdown.html */, + B177F5C32060E6B1006709C2 /* topic-ios.html */, + B177F5C42060E6B1006709C2 /* code.html */, + ); + path = modules; + sourceTree = ""; + }; + B17CC31620731FF10077C956 /* code_release_resource_icon */ = { + isa = PBXGroup; + children = ( + B17CC31720731FF10077C956 /* code_release_resource_Zip@2x.png */, + B17CC31820731FF10077C956 /* code_release_resource_Zip@3x.png */, + B17CC31920731FF10077C956 /* code_release_resource_Default@3x.png */, + B17CC31A20731FF10077C956 /* code_release_resource__Default@2x.png */, + B17CC31B20731FF10077C956 /* code_release_resource_Task@2x.png */, + B17CC31C20731FF10077C956 /* code_release_resource_Task@3x.png */, + B17CC3272073212E0077C956 /* code_release_resource_MergeRequestBean@2x.png */, + B17CC3242073212D0077C956 /* code_release_resource_MergeRequestBean@3x.png */, + B17CC3252073212D0077C956 /* code_release_resource_ProjectFile@2x.png */, + B17CC3232073212D0077C956 /* code_release_resource_ProjectFile@3x.png */, + B17CC3282073212E0077C956 /* code_release_resource_ProjectTopic@2x.png */, + B17CC3262073212D0077C956 /* code_release_resource_ProjectTopic@3x.png */, + ); + path = code_release_resource_icon; + sourceTree = ""; + }; + B1890C1D2015D82600F52ABA /* wiki */ = { + isa = PBXGroup; + children = ( + B1890C1E2015D82600F52ABA /* wiki_menu_0@2x.png */, + B1890C1F2015D82600F52ABA /* wiki_menu_2@3x.png */, + B1890C202015D82600F52ABA /* wiki_menu_2@2x.png */, + B1890C212015D82600F52ABA /* wiki_menu_0@3x.png */, + B1890C222015D82600F52ABA /* wiki_revert@3x.png */, + B1890C232015D82600F52ABA /* wiki_revert@2x.png */, + B1890C242015D82600F52ABA /* wiki_menu_1@2x.png */, + B1890C252015D82600F52ABA /* wiki_menu_1@3x.png */, + ); + path = wiki; + sourceTree = ""; + }; + B1890C262015D82600F52ABA /* wiki_menu_icon */ = { + isa = PBXGroup; + children = ( + B1890C272015D82600F52ABA /* wiki_menu_icon_share@2x.png */, + B1890C282015D82600F52ABA /* wiki_menu_icon_delete@2x.png */, + ); + path = wiki_menu_icon; + sourceTree = ""; + }; + B19D4EF81F7247BA00C598F3 /* AlipaySDK */ = { + isa = PBXGroup; + children = ( + B19D4EF91F7247BA00C598F3 /* AlipaySDK.bundle */, + B19D4EFA1F7247BA00C598F3 /* AlipaySDK.framework */, + ); + path = AlipaySDK; + sourceTree = ""; + }; + B1AB5C8F202953E40075A669 /* terminal_icon */ = { + isa = PBXGroup; + children = ( + B1AB5C90202953E40075A669 /* terminal_tail@2x.png */, + B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */, + B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */, + B1AB5C93202953E40075A669 /* terminal_tail@3x.png */, + B1AB5C94202953E40075A669 /* terminal_more@3x.png */, + B1AB5C95202953E40075A669 /* terminal_more@2x.png */, + B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */, + B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */, + B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */, + B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */, + ); + path = terminal_icon; + sourceTree = ""; + }; + B1BCB8941FCE93830098B87B /* pay */ = { + isa = PBXGroup; + children = ( + B1BCB8951FCE93830098B87B /* alipay@2x.png */, + B1BCB8961FCE93830098B87B /* alipay@3x.png */, + B1BCB8971FCE93830098B87B /* wechat@2x.png */, + B1BCB8981FCE93830098B87B /* wechat@3x.png */, + ); + path = pay; + sourceTree = ""; + }; B94C1B661AC945C60000C271 /* NewProject */ = { isa = PBXGroup; children = ( @@ -6012,6 +9182,10 @@ isa = PBXGroup; children = ( B9A00D7E1ACA3A05008BA008 /* ProjectSetting.storyboard */, + B152ED522091B7CB004A6E8A /* ProjectArchiveViewController.h */, + B152ED532091B7CB004A6E8A /* ProjectArchiveViewController.m */, + B152ED4C2090B223004A6E8A /* ProjectSettingEntranceController.h */, + B152ED4D2090B223004A6E8A /* ProjectSettingEntranceController.m */, B9A00D801ACA3A17008BA008 /* ProjectSettingViewController.h */, B9A00D811ACA3A17008BA008 /* ProjectSettingViewController.m */, B9A00D831ACA3A55008BA008 /* ProjectAdvancedSettingViewController.h */, @@ -6029,6 +9203,10 @@ children = ( 34E37865A7DAAE68AEF68258 /* Pods-Coding_iOS.debug.xcconfig */, 2FD5D8DD0689696D28A6D49E /* Pods-Coding_iOS.release.xcconfig */, + 344214A4A1281EB0C9B3DE71 /* Pods-Coding_iOS-CodingEnterprise_iOS.debug.xcconfig */, + BA1AE837BA26B375F43A9343 /* Pods-Coding_iOS-CodingEnterprise_iOS.release.xcconfig */, + 59EA81AF0F8C7610F675E1EB /* Pods-Coding_iOS-Coding_Enterprise_iOS.debug.xcconfig */, + 22A08D8B77355DB8A773B8E2 /* Pods-Coding_iOS-Coding_Enterprise_iOS.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -6053,7 +9231,6 @@ 8E47700C198770E700997D05 /* Sources */, 8E47700D198770E700997D05 /* Frameworks */, 8E47700E198770E700997D05 /* Resources */, - B52B540CD39100358CEE8516 /* [CP] Embed Pods Frameworks */, B7C390DEFD2073480C56FD88 /* [CP] Copy Pods Resources */, 4E3068251E0B77DF00AEE0CE /* Embed Frameworks */, 4E9EC23F1E0B78F00098C761 /* ShellScript */, @@ -6067,13 +9244,34 @@ productReference = 8E477010198770E700997D05 /* Coding_iOS.app */; productType = "com.apple.product-type.application"; }; + B1D5EBF120BC06CB00983FB6 /* Coding_Enterprise_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = B1D5F1FF20BC06CB00983FB6 /* Build configuration list for PBXNativeTarget "Coding_Enterprise_iOS" */; + buildPhases = ( + B1D5EBF220BC06CB00983FB6 /* [CP] Check Pods Manifest.lock */, + B1D5EBF320BC06CB00983FB6 /* Sources */, + B1D5EE5A20BC06CB00983FB6 /* Frameworks */, + B1D5EE7520BC06CB00983FB6 /* Resources */, + B1D5F1FC20BC06CB00983FB6 /* [CP] Copy Pods Resources */, + B1D5F1FD20BC06CB00983FB6 /* Embed Frameworks */, + B1D5F1FE20BC06CB00983FB6 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Coding_Enterprise_iOS; + productName = CodiOS; + productReference = B1D5F20220BC06CB00983FB6 /* Coding_Enterprise_iOS.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 8E477008198770E700997D05 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = Coding; TargetAttributes = { 8E47700F198770E700997D05 = { @@ -6086,6 +9284,17 @@ com.apple.Push = { enabled = 1; }; + com.apple.SafariKeychain = { + enabled = 1; + }; + }; + }; + B1D5EBF120BC06CB00983FB6 = { + DevelopmentTeam = QN5Z87S3LH; + SystemCapabilities = { + com.apple.SafariKeychain = { + enabled = 0; + }; }; }; }; @@ -6097,6 +9306,9 @@ knownRegions = ( en, "zh-Hans", + de, + ja, + es, ); mainGroup = 8E477007198770E700997D05; productRefGroup = 8E477011198770E700997D05 /* Products */; @@ -6104,6 +9316,7 @@ projectRoot = ""; targets = ( 8E47700F198770E700997D05 /* Coding_iOS */, + B1D5EBF120BC06CB00983FB6 /* Coding_Enterprise_iOS */, ); }; /* End PBXProject section */ @@ -6119,106 +9332,150 @@ 4E6383FD1B33C18700D98648 /* task_activity_icon_restore@2x.png in Resources */, 4E9F5D201C03051D007CCDCC /* tipIcon_tweetReward@2x.png in Resources */, 4EA6791A1A14BFA0001A0324 /* icon_file_folder_normal@2x.png in Resources */, + B152ED92209453F3004A6E8A /* taskboard_add_page_selected@2x.png in Resources */, + B1C871721EB1832B003DACF0 /* time_clock_icon@3x.png in Resources */, + B1C871A01EB2D9E6003DACF0 /* task_activity_icon_add_watcher@3x.png in Resources */, 8EA6D19919E240C40076D59C /* tipIcon_ProjectTopic@2x.png in Resources */, 4ED673261A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png in Resources */, - 4EB119FB1D953AE200A36341 /* intro_page2_ip6+@3x.png in Resources */, + B1890C312015D82600F52ABA /* wiki_menu_icon_share@2x.png in Resources */, 8EA6D14A19E240C40076D59C /* InfoPlist.strings in Resources */, 4E6383C31B3265DC00D98648 /* mrpr_icon_accepted@2x.png in Resources */, + B1DFD0A720C67D3F00F75F2F /* btn_privateMsg_friend@3x.png in Resources */, + 4EAAD0271E540551008AA957 /* mrpr_icon_status_refused@2x.png in Resources */, D0C447DE1C02DB8900DC1C4B /* privatemessage_normal@3x.png in Resources */, 8E8F7B3419EF6306006BA8BD /* btn_project_added@2x.png in Resources */, 8EA6D16B19E240C40076D59C /* nav_tweet_all@2x.png in Resources */, 4EACB43F1A2C448F0097ABB3 /* button_file_createFolder_unable@2x.png in Resources */, + B1AB5CB7202D7D500075A669 /* button_file_denete_unable@3x.png in Resources */, + B1C871B61EB2D9F0003DACF0 /* file_activity_icon_upload_file@3x.png in Resources */, + B12B64791FFB61AD00ACFDCC /* QBImagePicker.storyboard in Resources */, 4EED9DCD1B539366000E5827 /* taskProject@2x.png in Resources */, - 4EF17ED91B3C3112003CDD2D /* intro_icon_5@2x.png in Resources */, + B1AB5CB4202D7D500075A669 /* button_file_upload_enable@3x.png in Resources */, 4EB52F221C76BA3B00B5EBEA /* tag_button_randomColor@3x.png in Resources */, + B16E6D7420C148E50076026D /* intro_icon_4@3x.png in Resources */, + B16E6D8A20C148E50076026D /* intro_icon_3@3x.png in Resources */, 4ED4B48A1D82646100EED8C6 /* user_info_help@3x.png in Resources */, 4E6383B81B32640900D98648 /* messageComment@2x.png in Resources */, + B12B642A1FF33E0100ACFDCC /* upgrade_success@3x.png in Resources */, 8EA6D1A319E240C40076D59C /* tweet_comment_btn@2x.png in Resources */, D09E6ACE1BF9CCCF009D37F8 /* fliter_square@2x.png in Resources */, 1319D1081CA7FE6E00729F82 /* PR_create@2x.png in Resources */, 4ED4B4941D82646100EED8C6 /* user_info_tweet@3x.png in Resources */, 4E6383AB1B3262D300D98648 /* taskPriority2_small@2x.png in Resources */, - D0FE4DB91C103FA0006E5A76 /* git_icon_star_old@2x.png in Resources */, D0C447CC1C02DB6700DC1C4B /* pop_2FA@3x.png in Resources */, + B17CC31D20731FF10077C956 /* code_release_resource_Zip@2x.png in Resources */, 4E59D3311D409C8C008C914B /* topic_add_watcher_btn@2x.png in Resources */, + B16E6D1120C147770076026D /* team_cell_edit_team@3x.png in Resources */, 7E8E59831B6F91C40083CA02 /* bubble_right_play_1@2x.png in Resources */, + B16E6D0520C147770076026D /* team_info_order@2x.png in Resources */, 8B3516511B6CE9460049BC45 /* search_tweet_colck@2x.png in Resources */, 8E97CE6A1A0A3424006F9AD7 /* keyboard_page_unselected@2x.png in Resources */, - 4E095A161D9534CB00E63D9E /* intro_page_selected@3x.png in Resources */, + 4E9423E61E69401B0095F1CD /* blankpage_image_Project@2x.png in Resources */, 134116F01CB529E1005E6550 /* PR_more@2x.png in Resources */, 4E54C24C1D8FE19100A61023 /* user_info_edit@3x.png in Resources */, - 4E07D3161A4D3CA6009EDDF2 /* logo_coding@2x.png in Resources */, + B1280CF1200EFDC600DEDF78 /* file_changeType_MODIFY@3x.png in Resources */, 4E96E7D91A1B537E0037C098 /* icon_file_apk@2x.png in Resources */, 4E996C021ABBF56A00C704F1 /* n_btn_followed_both@2x.png in Resources */, 4E6383BB1B32640900D98648 /* messageSystem@2x.png in Resources */, + B1280D02200EFEA400DEDF78 /* PR_del_watcher@2x.png in Resources */, 4ED618251C3CB1AF0017946C /* taskWatchers@3x.png in Resources */, + B16E6D8220C148E50076026D /* intro_tip_1@2x.png in Resources */, + 4EAAD0241E540551008AA957 /* mrpr_icon_status_canmerge@3x.png in Resources */, + B16E6CBE20C13F5F0076026D /* btn_project_add@3x.png in Resources */, 4E095A851B6B24DE008DC439 /* topic_comment_icon@2x.png in Resources */, + B1C871351EADF155003DACF0 /* project_item_activity@3x.png in Resources */, 4E2F6A6F1C43CA4B00A25502 /* member_type_75@3x.png in Resources */, + B16E6D8E20C148E50076026D /* intro_dot_selected@3x.png in Resources */, 7E8E59841B6F91C40083CA02 /* bubble_right_play_2@2x.png in Resources */, 4E2BF3CF1B96CDF800A5A0A8 /* share_btn_coding@2x.png in Resources */, 8EA6D15019E240C40076D59C /* commentOrLikeBeginImg@2x.png in Resources */, + B16E6CED20C147490076026D /* team_bg@3x.png in Resources */, 4EB52F5F1C7C5C4F00B5EBEA /* task_resource_reference_ProjectFile@3x.png in Resources */, 13FB5D481CA17A6400EE127C /* PR_mergeChanges@3x.png in Resources */, + B19D4EF61F7210C300C598F3 /* user_info_shop@2x.png in Resources */, + B16E6CA020C0FDB50076026D /* logo_coding_top@3x.png in Resources */, 134E1B9B1CA41217002A3E0D /* ReviewCell.xib in Resources */, 8EA6D15E19E240C40076D59C /* login_suffix@2x.png in Resources */, + B16E6D9A20C148E50076026D /* intro_page0_ipX@3x.png in Resources */, 4EB52F101C74691B00B5EBEA /* password_look@3x.png in Resources */, + B16E6CDB20C145BF0076026D /* quick_menu_icon_message@2x.png in Resources */, 8E97CE721A0B8C6C006F9AD7 /* emotion_list.plist in Resources */, + B1890C302015D82600F52ABA /* wiki_menu_1@3x.png in Resources */, 4EC461B21B39360F00D08970 /* file_changeType_ADD@2x.png in Resources */, - 13FB5D3E1CA17A6400EE127C /* EPointLikeHead@1x.png in Resources */, 4E6CBE541D8EA9D100644086 /* icon_best_answer@2x.png in Resources */, 4E4D6ACC1B2571B100FD2E49 /* git_icon_watched@2x.png in Resources */, 8E97CEB11A0C7E26006F9AD7 /* coding_emoji_26@2x.png in Resources */, 8E97CEBA1A0C7E26006F9AD7 /* coding_emoji_35@2x.png in Resources */, + B1C871A91EB2D9E6003DACF0 /* task_activity_icon_update_description@3x.png in Resources */, + B14689BF1EE100B200B01371 /* vip_4_40@3x.png in Resources */, 8E97CE681A0A3424006F9AD7 /* keyboard_keyboard@2x.png in Resources */, + B1817F012069197D00E9BAD1 /* icon_release_tag@2x.png in Resources */, 8EA6D17919E240C40076D59C /* placeholder_monkey_round_48@2x.png in Resources */, + B1C60C8620BFE8220073D3CA /* NewProject.storyboard in Resources */, + 4EAAD0A51E5D8D90008AA957 /* PR_plus@2x.png in Resources */, 8EA6D1A819E240C40076D59C /* xtsegment_bordor_left@2x.png in Resources */, 4EB52F5C1C7C5C4F00B5EBEA /* task_resource_reference_MergeRequestBean@2x.png in Resources */, - 8E525C8A19F7E3F800496B34 /* blankpage_image_loadFail@2x.png in Resources */, 4E1D99161DCAE67D00BAE585 /* icon_file_folder_out@2x.png in Resources */, 4E6CBE591D8FBDF500644086 /* messageProjectFollows@2x.png in Resources */, - 4E095A7E1B6B1E40008DC439 /* calendar_0xF24B4B@2x.png in Resources */, 4E5D13091C0ECB3400985AEB /* tweet_btn_comment@2x.png in Resources */, + 4E9423E91E69401B0095F1CD /* blankpage_image_ShopOrder@3x.png in Resources */, 4E095A6E1B69F920008DC439 /* banner__page_unselected@2x.png in Resources */, + 4EAAD0211E540551008AA957 /* mrpr_icon_status_accepted@2x.png in Resources */, 4E96E7D81A1B537E0037C098 /* icon_file_ai@2x.png in Resources */, + 4EAAD0A61E5D8D90008AA957 /* PR_plus@3x.png in Resources */, 4ED4B4931D82646100EED8C6 /* user_info_tweet@2x.png in Resources */, - 8E525C8919F7E3F800496B34 /* blankpage_button_reload@2x.png in Resources */, 8E97CEAC1A0C7E26006F9AD7 /* coding_emoji_21@2x.png in Resources */, 7E8E59811B6F91C40083CA02 /* bubble_left_play_2@2x.png in Resources */, 4EB52F631C7C5C4F00B5EBEA /* task_resource_reference_Task@3x.png in Resources */, + B1280D00200EFEA400DEDF78 /* PR_add_watcher@2x.png in Resources */, 4E93F23A1B84356500017916 /* file_menu_icon_delete@2x.png in Resources */, + B12B64261FF33E0100ACFDCC /* button_red_close@3x.png in Resources */, + B16E6D8F20C148E50076026D /* intro_icon_1@3x.png in Resources */, 1319D10C1CA81FE100729F82 /* PR_merge@3x.png in Resources */, - 4E4D6AC21B252CD400FD2E49 /* icon_code_tree@2x.png in Resources */, 8E97CEB01A0C7E26006F9AD7 /* coding_emoji_25@2x.png in Resources */, 7E335D9D1B6F5E94003D0F3D /* keyboard_arrow_down@2x.png in Resources */, 4EB52F3C1C7C45E700B5EBEA /* taskResourceReference@3x.png in Resources */, 4EB52F1D1C76BA3B00B5EBEA /* tag_button_add@2x.png in Resources */, 4E59D32C1D3E106D008C914B /* tweetsBtn_Nav@3x.png in Resources */, + B1817EFD206918D200E9BAD1 /* icon_branch_protected@2x.png in Resources */, + B152ED90209453F3004A6E8A /* taskboard_normal_page_selected@2x.png in Resources */, 4ED4B4851D82646100EED8C6 /* user_info_about@2x.png in Resources */, - 4EF17ED71B3C3112003CDD2D /* intro_icon_4@2x.png in Resources */, + B1817EFC206918D200E9BAD1 /* icon_branch_protected@3x.png in Resources */, 4E6384031B33C8E900D98648 /* task_activity_icon_create@2x.png in Resources */, 4EACB4401A2C448F0097ABB3 /* button_file_download_unable@2x.png in Resources */, D09E6AC01BF82DC6009D37F8 /* btn_setFrequent@2x.png in Resources */, + B1C871A61EB2D9E6003DACF0 /* task_activity_icon_remove_watcher@3x.png in Resources */, + B16E6D9920C148E50076026D /* intro_page0_ip6+@3x.png in Resources */, + B177F5C72060E6B1006709C2 /* markdown.html in Resources */, + B17CC32C2073212E0077C956 /* code_release_resource_ProjectTopic@3x.png in Resources */, 4ECEF9F71D1BB7FB002A27D3 /* diff-ios.html in Resources */, 4EAC8B6A1BA01F190060B0FC /* little_phone_icon@2x.png in Resources */, 4E2BF3D41B96CDF800A5A0A8 /* share_btn_sina@2x.png in Resources */, - 8E8F7B2F19EF6306006BA8BD /* btn_privateMsg_black@2x.png in Resources */, 4E96E7E01A1B537E0037C098 /* icon_file_pdf@2x.png in Resources */, 4E4972DC1BB52A8300F3AC15 /* tipIcon_TweetComment@2x.png in Resources */, + 4E9423E11E69401B0095F1CD /* blankpage_image_LoadFail@3x.png in Resources */, + B152ED91209453F3004A6E8A /* taskboard_add_page_unselected@2x.png in Resources */, 13FB5D431CA17A6400EE127C /* PR_grant_undo@2x.png in Resources */, + B1C871261EADF0FF003DACF0 /* back_green_Nav@2x.png in Resources */, 4EFE8DAC1B394A0D004B7559 /* file_changeType_COPY@2x.png in Resources */, + B16E6D7620C148E50076026D /* intro_icon_6@2x.png in Resources */, 927AFF501BFF6DAD00AAE593 /* shop_exchange_icon@2x.png in Resources */, D0C448101C02DCAC00DC1C4B /* timeBtn_Nav@3x.png in Resources */, + B16E6D7520C148E50076026D /* intro_tip_2@3x.png in Resources */, 13FB5D381CA17A6400EE127C /* close@2x.png in Resources */, 13FB5D3D1CA17A6400EE127C /* PR_update_content@3x.png in Resources */, 4E996C071ABBF56A00C704F1 /* user_info_detail@2x.png in Resources */, + B14689C01EE100B200B01371 /* vip_4_45@2x.png in Resources */, 4E8C51B01AC1081500B4C51F /* icon_recommended@2x.png in Resources */, 4E96E7DA1A1B537E0037C098 /* icon_file_doc@2x.png in Resources */, 4E09DCA61C156387001C9392 /* hot_topic_Nav@3x.png in Resources */, + B1817EF12068F4B400E9BAD1 /* EACodeReleaseListCell.xib in Resources */, 4ED4B4901D82646100EED8C6 /* user_info_setup@3x.png in Resources */, 4E4972DF1BB535B400F3AC15 /* tipIcon_ProjectTweet@2x.png in Resources */, 4E09DCA91C15662E001C9392 /* share_Nav@2x.png in Resources */, 8E62ADDA19E28DA800963870 /* tipIcon_User@2x.png in Resources */, 4E6383A71B3262D300D98648 /* taskPriority0_small@2x.png in Resources */, + B1280CEF200EFDC600DEDF78 /* file_changeType_COPY@3x.png in Resources */, 8E8F7B3519EF6306006BA8BD /* btn_project_quit@2x.png in Resources */, 4E2F6A6C1C43CA4B00A25502 /* member_type_100@2x.png in Resources */, 4ED558321B4FA68400FC10CB /* dismissBtn_Nav@2x.png in Resources */, @@ -6226,119 +9483,181 @@ 8E97CE661A0A3424006F9AD7 /* keyboard_emotion_emoji@2x.png in Resources */, 4EED9DCC1B539366000E5827 /* taskOwner@2x.png in Resources */, 4EC461B71B3939DC00D08970 /* task_activity_icon_commit_refer@2x.png in Resources */, + B1C871371EADF155003DACF0 /* project_item_file@3x.png in Resources */, 8E8F7B2E19EF6306006BA8BD /* btn_followed_yes@2x.png in Resources */, 8E8F7B3319EF6306006BA8BD /* btn_project_add@2x.png in Resources */, + B16E6D8920C148E50076026D /* intro_tip_1@3x.png in Resources */, 4E6383D11B32665700D98648 /* project_item_activity@2x.png in Resources */, 4E4972E91BB5446900F3AC15 /* tips_menu_icon_status@2x.png in Resources */, + B16E6D7B20C148E50076026D /* intro_icon_4@2x.png in Resources */, + B16E6D1920C147770076026D /* team_cell_edit_pro@3x.png in Resources */, D0C447AA1C02A3C700DC1C4B /* task_selected@2x.png in Resources */, - 4E9113AA1A1CB19900AC9431 /* icon_file_state_goon@2x.png in Resources */, + B1C871361EADF155003DACF0 /* project_item_code@3x.png in Resources */, + B1AB5C9A202953E50075A669 /* terminal_tail@2x.png in Resources */, + B1280D04200EFEA400DEDF78 /* PR_add_reviewer@2x.png in Resources */, 13FB5D3B1CA17A6400EE127C /* PR_push@3x.png in Resources */, 927AFF4F1BFF6DAD00AAE593 /* shop_coding_coin_icon@3x.png in Resources */, - 4EF17EDA1B3C3112003CDD2D /* intro_icon_5@3x.png in Resources */, + B1C871BC1EB338FD003DACF0 /* project_tag_icon@3x.png in Resources */, + B1944154206CBE8C00147158 /* code_lang.plist in Resources */, + B10341292024633900853447 /* logo_coding@2x.png in Resources */, 4ED4B48D1D82646100EED8C6 /* user_info_project@2x.png in Resources */, + B1AB5CBB202D7D500075A669 /* button_file_createFolder_unable@3x.png in Resources */, D09E6ABC1BF829F2009D37F8 /* icon_project_cell_setNormal@2x.png in Resources */, D0C4480E1C02DCAC00DC1C4B /* search_Nav@3x.png in Resources */, - 8E64ED8319ED0CE3006E99DA /* QBImagePickerController.strings in Resources */, 8E97CE671A0A3424006F9AD7 /* keyboard_emotion_monkey@2x.png in Resources */, + B1BCB8891FCD006C0098B87B /* icon_file_ppt_big@2x.png in Resources */, + B1C8717F1EB18599003DACF0 /* calendar_0xA1CF64@2x.png in Resources */, + B16E6D7820C148E50076026D /* intro_tip_0@3x.png in Resources */, + 4E9423DF1E69401B0095F1CD /* blankpage_image_File@3x.png in Resources */, 4E217F0F1A70EDC700F6DF88 /* SVWebViewControllerActivityChrome-iPad.png in Resources */, + B1C8712B1EADF0FF003DACF0 /* settingBtn_Nav@3x.png in Resources */, + B1280D05200EFEA400DEDF78 /* PR_del_watcher@3x.png in Resources */, 4E5D130A1C0ECB3400985AEB /* tweet_btn_comment@3x.png in Resources */, + B1C871A81EB2D9E6003DACF0 /* task_activity_icon_update_deadline@3x.png in Resources */, 13FB5D391CA17A6400EE127C /* close@3x.png in Resources */, 8E97CEA51A0C7E26006F9AD7 /* coding_emoji_14@2x.png in Resources */, + B152ED96209453F3004A6E8A /* taskboard_normal_page_unselected@2x.png in Resources */, + B1C871131EADAEE1003DACF0 /* loading_monkey@2x.gif in Resources */, 4E80E9511E02911E00DE1BC6 /* search_icon_topic@3x.png in Resources */, + B16E6CB320C13BF50076026D /* btn_next_enable@2x.png in Resources */, D0C447D11C02DB6700DC1C4B /* pop_User@3x.png in Resources */, + B1C871691EB182C7003DACF0 /* taskPriority2_small@3x.png in Resources */, + B1C871BB1EB338FD003DACF0 /* project_tag_btn@3x.png in Resources */, 4EB52F621C7C5C4F00B5EBEA /* task_resource_reference_Task@2x.png in Resources */, 4E4972E81BB5446900F3AC15 /* tips_menu_icon_mkread@2x.png in Resources */, 8E97CEA61A0C7E26006F9AD7 /* coding_emoji_15@2x.png in Resources */, + B16E6D8420C148E50076026D /* intro_dot_unselected@2x.png in Resources */, 4E80E92F1DFFF06E00DE1BC6 /* shortcut_task@2x.png in Resources */, + B1AB5CA2202953E50075A669 /* terminal_triangle@2x.png in Resources */, + B1C871711EB1832B003DACF0 /* topic_comment_icon@3x.png in Resources */, 8EA6D17819E240C40076D59C /* placeholder_monkey_round_40@2x.png in Resources */, 1319D10B1CA81FE100729F82 /* PR_merge@2x.png in Resources */, 4E5D130B1C0ECB3400985AEB /* tweet_btn_like@2x.png in Resources */, 134116F81CB55E69005E6550 /* PR_update@2x.png in Resources */, 8EA6D15C19E240C40076D59C /* login_email@2x.png in Resources */, D0C448111C02DCAC00DC1C4B /* tweetBtn_Nav@3x.png in Resources */, + 4EAAD0281E540551008AA957 /* mrpr_icon_status_refused@3x.png in Resources */, + B16E6D0D20C147770076026D /* team_info_mem@2x.png in Resources */, + B1DFD0A520C67D3F00F75F2F /* btn_followed_both@3x.png in Resources */, + B12B640E1FECB59000ACFDCC /* login_wechat@3x.png in Resources */, 4EDD8F521A36F42300E9E232 /* ReleaseNotes.txt in Resources */, - 13FB5D491CA17A6400EE127C /* PointLikeHead@1x.png in Resources */, 13FB5D3C1CA17A6400EE127C /* PR_update_content@2x.png in Resources */, 13972E291CA6157C00489EBA /* ReviewerListController.xib in Resources */, + B1C871B21EB2D9F0003DACF0 /* file_activity_icon_create@3x.png in Resources */, 8EA6D19619E240C40076D59C /* tipIcon_MergeRequestComment@2x.png in Resources */, 4E6383BC1B32640900D98648 /* private_message_send_fail@2x.png in Resources */, - 4E743E6F1A88ABF700DADDE5 /* blankpage_image_Hi@2x.png in Resources */, + B1AB5C9B202953E50075A669 /* terminal_box_unselected@2x.png in Resources */, 8E97CE631A0A3424006F9AD7 /* keyboard_at@2x.png in Resources */, 8E97CEA41A0C7E26006F9AD7 /* coding_emoji_13@2x.png in Resources */, + 4E9423F41E69401B0095F1CD /* blankpage_image_Wiki@2x.png in Resources */, 133DAA641CC13A30004D8501 /* PR_update_title@2x.png in Resources */, 4E6383D71B32665700D98648 /* project_item_task@2x.png in Resources */, + B1BCB8841FCD006C0098B87B /* icon_file_apk_big@2x.png in Resources */, 4E93F23E1B84356500017916 /* file_menu_icon_share@2x.png in Resources */, 8EA6D14C19E240C40076D59C /* btn_delete_tweetimage@2x.png in Resources */, + B1C871A11EB2D9E6003DACF0 /* task_activity_icon_commit_refer@3x.png in Resources */, + 4EAAD0521E542B2D008AA957 /* icon_code_executable@3x.png in Resources */, + B1C8717E1EB18599003DACF0 /* calendar_0x59A2FF@3x.png in Resources */, + B1C871A21EB2D9E6003DACF0 /* task_activity_icon_create@3x.png in Resources */, 4EC5AD931A258DF8006FA97C /* icon_file_cell_move@2x.png in Resources */, + 4EAAD0261E540551008AA957 /* mrpr_icon_status_cannotmerge@3x.png in Resources */, 4EAECBC31C44CB860096CA74 /* member_cell_edit_alias@3x.png in Resources */, + B16E6D1720C147770076026D /* team_cell_edit_delete@2x.png in Resources */, + B16E6D1520C147770076026D /* team_cell_edit_delete@3x.png in Resources */, 4EC5AD941A258DF8006FA97C /* icon_file_cell_rename@2x.png in Resources */, 13FB5D561CA17A6400EE127C /* PR_grant@3x.png in Resources */, 8E97CE9A1A0C7E26006F9AD7 /* coding_emoji_03@2x.png in Resources */, + B1C8718E1EB1E608003DACF0 /* cell_checkmark@3x.png in Resources */, 4ED618241C3CB1AF0017946C /* taskWatchers@2x.png in Resources */, 4E96E7E21A1B537E0037C098 /* icon_file_psd@2x.png in Resources */, 8EA6D18019E240C40076D59C /* sex_man_icon@2x.png in Resources */, 4EC461B31B39360F00D08970 /* file_changeType_DELETE@2x.png in Resources */, + B1AB5CBA202D7D500075A669 /* button_file_move_unable@3x.png in Resources */, + B1AB5CB5202D7D500075A669 /* button_file_history@3x.png in Resources */, 4E80E92D1DFFF06E00DE1BC6 /* shortcut_2FA@2x.png in Resources */, + B1AB5CB3202D7D500075A669 /* button_file_download_enable@3x.png in Resources */, + B1BCB8881FCD006C0098B87B /* icon_file_ai_big@2x.png in Resources */, 4EBDC27B1BC501C00037EB66 /* tipIcon_ProjectPayment@2x.png in Resources */, 4E6B07161BA4045E007D6027 /* MIDAUTUMNIMAGE.jpg in Resources */, + B1C871811EB18599003DACF0 /* calendar_0xA9B3BE@2x.png in Resources */, + B1C871561EAE003A003DACF0 /* project_item_topic@3x.png in Resources */, + B16E6D0720C147770076026D /* team_info_order@3x.png in Resources */, 4EE083DC1ADB736800CA342E /* service_terms.html in Resources */, 4E6384011B33C18700D98648 /* task_activity_icon_update_priority@2x.png in Resources */, D0C448151C02F76600DC1C4B /* icon_search_searchbar@3x.png in Resources */, 7E335D9F1B6F5E94003D0F3D /* keyboard_voice@2x.png in Resources */, 4E80E95B1E02911E00DE1BC6 /* search_icon_project@3x.png in Resources */, - 4E90F89B1AF709C100B44F03 /* bubble.html in Resources */, 4E5D13191C0EF48200985AEB /* button_close@3x.png in Resources */, 8E8F7B2D19EF6306006BA8BD /* btn_followed_not@2x.png in Resources */, - 4EF17EE11B3C3112003CDD2D /* intro_tip_2@3x.png in Resources */, 4E6383DC1B3266C200D98648 /* mrpr_icon_fileChange@2x.png in Resources */, 4E6383FB1B33C18700D98648 /* task_activity_icon_finish@2x.png in Resources */, + B14689BE1EE100B200B01371 /* vip_4_40@2x.png in Resources */, + B1C871431EADF1C1003DACF0 /* taskDeadline@3x.png in Resources */, 4ED6181F1C3A732F0017946C /* button_arrow_left@2x.png in Resources */, 4E6383E21B32676600D98648 /* taskProgress@2x.png in Resources */, D0C447FD1C02DCA200DC1C4B /* tweetBtn_Nav@2x.png in Resources */, 7E8E59801B6F91C40083CA02 /* bubble_left_play_1@2x.png in Resources */, 8EA6D17B19E240C40076D59C /* placeholder_monkey_round_54@2x.png in Resources */, 4E5D13121C0ECB3400985AEB /* tweet_btn_rewarded@3x.png in Resources */, + B14689C21EE100B200B01371 /* vip_4_75@2x.png in Resources */, 4E6383FF1B33C18700D98648 /* task_activity_icon_update_deadline@2x.png in Resources */, 0A0519E31ABA918100551B61 /* TweetSendDetailLoctionCell.xib in Resources */, + B1C8713A1EADF155003DACF0 /* project_item_readme@3x.png in Resources */, + B1BCB87D1FCD006C0098B87B /* icon_file_doc_big@2x.png in Resources */, 4EF91F631B00B62B0021C951 /* icon_locationed@2x.png in Resources */, 4ECEF9FD1D1D0B3D002A27D3 /* tip_normal_Nav@3x.png in Resources */, 4E5D130C1C0ECB3400985AEB /* tweet_btn_like@3x.png in Resources */, 4EE548281AE9166B00A92306 /* icon_project_cell_nopin@2x.png in Resources */, 4E0849811A918A7F00BD27F6 /* coding_emoji_39@2x.png in Resources */, - 4EF17EDD1B3C3112003CDD2D /* intro_tip_0@3x.png in Resources */, 8E97CE9F1A0C7E26006F9AD7 /* coding_emoji_08@2x.png in Resources */, 4E5D130D1C0ECB3400985AEB /* tweet_btn_liked@2x.png in Resources */, 4E93F2451B85C4C300017916 /* FileInfoViewController.xib in Resources */, 4EC480141C2A909D005F1772 /* register_step_un@3x.png in Resources */, + 4E9423EB1E69401B0095F1CD /* blankpage_image_Task@3x.png in Resources */, 0A782FDE1AB5B78B00E96661 /* TweetSendCreateLocationCell.xib in Resources */, - 8E8F7B3219EF6306006BA8BD /* btn_privateMsg_white@2x.png in Resources */, - 4EB119F81D953AE200A36341 /* intro_page2_ip4@2x.png in Resources */, + B16E6D8820C148E50076026D /* intro_dot_unselected@3x.png in Resources */, 8E97CEBB1A0C7E26006F9AD7 /* coding_emoji_36@2x.png in Resources */, 4E996C041ABBF56A00C704F1 /* n_btn_followed_yes@2x.png in Resources */, 4EAE06901B784E9200179F4B /* store_icon@2x.png in Resources */, + B14689C31EE100B200B01371 /* vip_4_75@3x.png in Resources */, + B1CB8DD22047F1D200872197 /* button_tip_notice@2x.png in Resources */, 4EF818161B049C89005F974B /* addPictureBgImage@2x.png in Resources */, + B16E6D0B20C147770076026D /* team_info_mem@3x.png in Resources */, 13FB5D501CA17A6400EE127C /* PRReviewer@3x.png in Resources */, + B1CB8DD32047F1D200872197 /* button_tip_notice@3x.png in Resources */, 4EB52F0F1C74691B00B5EBEA /* password_look@2x.png in Resources */, 4ED673281A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png in Resources */, 13FB5D4B1CA17A6400EE127C /* PointLikeHead@3x.png in Resources */, 4E07D30E1A4A9F45009EDDF2 /* btn_file_reDo@2x.png in Resources */, + B1DFD0A320C67D3F00F75F2F /* btn_followed_not@3x.png in Resources */, + B14689BC1EE100B200B01371 /* vip_4_30@2x.png in Resources */, + B1C8714D1EADF3AC003DACF0 /* mrpr_icon_fileChange@3x.png in Resources */, + B131E2112074D2EE00D84FAA /* project_item_reading@3x.png in Resources */, + 4EAAD0511E542B2D008AA957 /* icon_code_executable@2x.png in Resources */, + B1C8714B1EADF217003DACF0 /* user_info_company@3x.png in Resources */, + B12B64291FF33E0100ACFDCC /* upgrade_success@2x.png in Resources */, D0C447C41C02DB5400DC1C4B /* pop_Tweet@2x.png in Resources */, 4E6383A81B3262D300D98648 /* taskPriority1@2x.png in Resources */, 4E80E9581E02911E00DE1BC6 /* search_icon_pr@2x.png in Resources */, 8EA6D15F19E240C40076D59C /* logo_about@2x.png in Resources */, + B16E6CA620C13BA20076026D /* btn_dismiss@3x.png in Resources */, 4E66EE2A1A28226000DA1B3E /* button_file_upload_enable@2x.png in Resources */, + B16E6CE720C145BF0076026D /* quick_menu_icon_2fa@2x.png in Resources */, 4E2BF3D21B96CDF800A5A0A8 /* share_btn_qq@2x.png in Resources */, + B16E6D0120C147770076026D /* team_info_pro@3x.png in Resources */, 13FB5D4C1CA17A6400EE127C /* PR_review@2x.png in Resources */, D0C447C11C02DB5400DC1C4B /* pop_Message@2x.png in Resources */, + B1AB5CA3202953E50075A669 /* terminal_box_selected@2x.png in Resources */, D09E6AC41BF84AE5009D37F8 /* git_icon_watch@2x.png in Resources */, - 4E07D3151A4D3CA6009EDDF2 /* icon_user_monkey@2x.png in Resources */, + B1BCB87F1FCD006C0098B87B /* icon_file_pdf_big@2x.png in Resources */, 8EA6D17519E240C40076D59C /* placeholder_coding_square_80@2x.png in Resources */, - B94C1B6B1AC945FB0000C271 /* NewProject.storyboard in Resources */, + 4EAAD0251E540551008AA957 /* mrpr_icon_status_cannotmerge@2x.png in Resources */, 8ED2AAFA19F60D5200607A1D /* loading_loop@2x.png in Resources */, - 4E6B07131BA3D9B5007D6027 /* intro_page1_ip6@2x.png in Resources */, + B17CC32220731FF10077C956 /* code_release_resource_Task@3x.png in Resources */, 13FB5D411CA17A6400EE127C /* PR_refuse@2x.png in Resources */, - D0FE4DBA1C103FA0006E5A76 /* git_icon_watch_old@2x.png in Resources */, + B16E6CCC20C144930076026D /* done_Nav@3x.png in Resources */, 8B3516501B6CE9460049BC45 /* icon_topic_hotTop@2x.png in Resources */, + B1890C2D2015D82600F52ABA /* wiki_revert@3x.png in Resources */, 4E2BF3D31B96CDF800A5A0A8 /* share_btn_qzone@2x.png in Resources */, 4EE1A23D1B5F3834004284F1 /* project_tag_btn@2x.png in Resources */, 4E5C06E81AC2B34800F427C5 /* tipIcon_BranchMember@2x.png in Resources */, @@ -6346,164 +9665,236 @@ 8EA6D19A19E240C40076D59C /* tipIcon_PullRequestBean@2x.png in Resources */, 8E8F7B3019EF6306006BA8BD /* btn_privateMsg_friend@2x.png in Resources */, 4E07D30D1A4A9F45009EDDF2 /* btn_file_cancel@2x.png in Resources */, + B1C871A71EB2D9E6003DACF0 /* task_activity_icon_restore@3x.png in Resources */, 4ED4B4881D82646100EED8C6 /* user_info_file@3x.png in Resources */, 927AFF4E1BFF6DAD00AAE593 /* shop_coding_coin_icon@2x.png in Resources */, 4E80E9301DFFF06E00DE1BC6 /* shortcut_task@3x.png in Resources */, - 4EF17ECD1B3C3112003CDD2D /* intro_dot_unselected@2x.png in Resources */, + B1C871671EB182C7003DACF0 /* taskPriority1_small@3x.png in Resources */, + B1C871921EB1E608003DACF0 /* tasks_all@3x.png in Resources */, + B16E6CA820C13BA20076026D /* btn_dismiss@2x.png in Resources */, 8E97CEA01A0C7E26006F9AD7 /* coding_emoji_09@2x.png in Resources */, 0A06C2531AB9E57900AB3B03 /* map_annotation@2x.png in Resources */, + B17CC32D2073212E0077C956 /* code_release_resource_MergeRequestBean@2x.png in Resources */, 4EB52F601C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@2x.png in Resources */, - 4E90F89C1AF709C100B44F03 /* code.html in Resources */, 4E6383FE1B33C18700D98648 /* task_activity_icon_update@2x.png in Resources */, + B1AB5CB6202D7D500075A669 /* button_file_activity@3x.png in Resources */, 4E0849831A918A7F00BD27F6 /* coding_emoji_41@2x.png in Resources */, + B1C8713B1EADF155003DACF0 /* project_item_task@3x.png in Resources */, + 4EAAD0821E55AC6E008AA957 /* icon_code_image@2x.png in Resources */, + B1BCB88B1FCD0A6D0098B87B /* icon_file_xls_big@2x.png in Resources */, 4ED4B4921D82646100EED8C6 /* user_info_topic@3x.png in Resources */, - 4EB119F91D953AE200A36341 /* intro_page2_ip5@2x.png in Resources */, 4ED618211C3BD79B0017946C /* task_activity_icon_remove_watcher@2x.png in Resources */, + B131E2122074D2EE00D84FAA /* project_item_reading@2x.png in Resources */, 927AFF521BFF6DAD00AAE593 /* shop_nar_history_icon@2x.png in Resources */, 4E6383AD1B3262D300D98648 /* taskPriority3_small@2x.png in Resources */, 8E97CEA91A0C7E26006F9AD7 /* coding_emoji_18@2x.png in Resources */, 4ED4B4861D82646100EED8C6 /* user_info_about@3x.png in Resources */, + B12B63F61FE8A77200ACFDCC /* WeiboSDK.bundle in Resources */, + B16E6D9B20C148E50076026D /* icon_user_monkey_i6p@3x.png in Resources */, + B1BCB8901FCE61D60098B87B /* EAPayViewController.xib in Resources */, + B16E6D0F20C147770076026D /* team_info_sup@3x.png in Resources */, + B1C871801EB18599003DACF0 /* calendar_0xA1CF64@3x.png in Resources */, 4ED4B4871D82646100EED8C6 /* user_info_file@2x.png in Resources */, + B19D4EF31F710EF900C598F3 /* ShopSwitchCell.xib in Resources */, + B1C871501EADF48B003DACF0 /* cell_arrow_left@2x.png in Resources */, + B12B64731FFB61AD00ACFDCC /* LICENSE in Resources */, 4E2F6A711C43CA4B00A25502 /* member_type_90@3x.png in Resources */, - 4EF17ECB1B3C3112003CDD2D /* intro_dot_selected@2x.png in Resources */, + B16E6D8D20C148E50076026D /* intro_dot_selected@2x.png in Resources */, 0A6E6BBB1AB168B0004C0107 /* location_checkmark@2x.png in Resources */, + 4EAAD0531E542B2D008AA957 /* icon_code_tree@2x.png in Resources */, 8EA6D16919E240C40076D59C /* nav_project_task@2x.png in Resources */, + B1C871851EB18599003DACF0 /* calendar_0xF68435@2x.png in Resources */, 4E2BF3D11B96CDF800A5A0A8 /* share_btn_evernote@2x.png in Resources */, + B1817EF72069186E00E9BAD1 /* project_item_branch@2x.png in Resources */, 13FB5D3A1CA17A6400EE127C /* PR_push@2x.png in Resources */, + B14689C11EE100B200B01371 /* vip_4_45@3x.png in Resources */, 4E54C24E1D90E05400A61023 /* tipIcon_ProjectTopicCommentVote@2x.png in Resources */, - 4EF17EE41B3C3112003CDD2D /* intro_tip_4@2x.png in Resources */, 4E1D991D1DCAE69600BAE585 /* icon_file_share_logo@3x.png in Resources */, + B1C871861EB18599003DACF0 /* calendar_0xF68435@3x.png in Resources */, 4EAE06C01B7B51AF00179F4B /* file_activity_icon_create@2x.png in Resources */, 8EA6D18F19E240C40076D59C /* tasks_all@2x.png in Resources */, + B1817F0320691B2700E9BAD1 /* EACodeReleaseTopCell.xib in Resources */, 13FB5D451CA17A6400EE127C /* merge-request coding@2x.png in Resources */, + B1280CEE200EFDC600DEDF78 /* file_changeType_ADD@3x.png in Resources */, + B1C871821EB18599003DACF0 /* calendar_0xA9B3BE@3x.png in Resources */, 7E774C251B870DC70026E5AB /* messageLeft_bg_highlight_img@2x.png in Resources */, 134116F91CB55E69005E6550 /* PR_update@3x.png in Resources */, 8EA6D16A19E240C40076D59C /* nav_project_topic@2x.png in Resources */, 4E2BF3D61B96CDF800A5A0A8 /* share_btn_wxtimeline@2x.png in Resources */, 4E96E7E51A1B537E0037C098 /* icon_file_zip@2x.png in Resources */, D0C447DC1C02DB8900DC1C4B /* me_normal@3x.png in Resources */, - 4E90F89E1AF709C100B44F03 /* topic-ios.html in Resources */, D0C447C21C02DB5400DC1C4B /* pop_Project@2x.png in Resources */, - 4EF17EDF1B3C3112003CDD2D /* intro_tip_1@3x.png in Resources */, 4EFE8DAF1B3960E6004B7559 /* logo_coding_top@2x.png in Resources */, 4E4972E01BB535B400F3AC15 /* tipIcon_ProjectTweetComment@2x.png in Resources */, 4E66EE261A28226000DA1B3E /* button_file_createFolder_enable@2x.png in Resources */, + B1890C2B2015D82600F52ABA /* wiki_menu_2@2x.png in Resources */, + B12B64181FF0E4CB00ACFDCC /* skill_delete@2x.png in Resources */, + B1C871831EB18599003DACF0 /* calendar_0xF56061@2x.png in Resources */, D0C447A81C02A3C700DC1C4B /* project_selected@2x.png in Resources */, - 4EB119FA1D953AE200A36341 /* intro_page2_ip6@2x.png in Resources */, 8EA6D19C19E240C40076D59C /* tipIcon_QcTask@2x.png in Resources */, 4E095A841B6B24DE008DC439 /* time_clock_icon@2x.png in Resources */, 4EB52F211C76BA3B00B5EBEA /* tag_button_randomColor@2x.png in Resources */, + 4E9423E51E69401B0095F1CD /* blankpage_image_Notice@3x.png in Resources */, + B16E6CC220C13F5F0076026D /* btn_project_quit@3x.png in Resources */, + B1C871391EADF155003DACF0 /* project_item_mr_pr@3x.png in Resources */, + B12B642B1FF33E0100ACFDCC /* button_tip_close@2x.png in Resources */, 4E6383FC1B33C18700D98648 /* task_activity_icon_reassign@2x.png in Resources */, 4EB52F5E1C7C5C4F00B5EBEA /* task_resource_reference_ProjectFile@2x.png in Resources */, 4E6383B71B32640900D98648 /* messageAT@2x.png in Resources */, D0C447AC1C02A3C700DC1C4B /* tweet_selected@2x.png in Resources */, 4E96E7DB1A1B537E0037C098 /* icon_file_code@2x.png in Resources */, - 4EF17ED51B3C3112003CDD2D /* intro_icon_3@2x.png in Resources */, + B1C871291EADF0FF003DACF0 /* back_T_Nav@3x.png in Resources */, D0C447A41C02A3C700DC1C4B /* me_selected@2x.png in Resources */, 8EA6D19B19E240C40076D59C /* tipIcon_PullRequestComment@2x.png in Resources */, + B16E6CC420C13F5F0076026D /* btn_privateMsg_stranger@3x.png in Resources */, 4E4972E41BB543A900F3AC15 /* tipIcon_Depot@2x.png in Resources */, 8EF6434119FE696B00F7EEB0 /* cell_checkmark@2x.png in Resources */, - 4EF17ED61B3C3112003CDD2D /* intro_icon_3@3x.png in Resources */, + B16E6D8020C148E50076026D /* intro_icon_2@2x.png in Resources */, + B1280D08200EFEA400DEDF78 /* PR_add_label@2x.png in Resources */, + B103412A2024633900853447 /* logo_coding@3x.png in Resources */, + B1280D09200EFEA400DEDF78 /* PR_del_reviewer@2x.png in Resources */, + B1C871A51EB2D9E6003DACF0 /* task_activity_icon_reassign@3x.png in Resources */, + B16E6D8B20C148E50076026D /* intro_tip_5@3x.png in Resources */, 8EA6D17319E240C40076D59C /* placeholder_coding_square_150@2x.png in Resources */, + B1C60C8E20BFF7950073D3CA /* ProjectTypeExplanationViewController.xib in Resources */, 4EAECBC41C44CB860096CA74 /* member_cell_edit_remove@2x.png in Resources */, - 4E095A181D9534CB00E63D9E /* intro_page_unselected@3x.png in Resources */, 134116F41CB54AF8005E6550 /* PR_TaskResource@2x.png in Resources */, 4E1D991C1DCAE69600BAE585 /* icon_file_share_logo@2x.png in Resources */, + B16E6D9620C148E50076026D /* intro_page_unselected@3x.png in Resources */, + 4E9423E41E69401B0095F1CD /* blankpage_image_Notice@2x.png in Resources */, 8EA6D17619E240C40076D59C /* placeholder_monkey_round_25@2x.png in Resources */, 4E2DB34A1BA6AEB4002F27C4 /* coding_emoji_gif_05@2x.png in Resources */, + B1C871251EADF0FF003DACF0 /* addBtn_Artboard@3x.png in Resources */, 8E97CEAD1A0C7E26006F9AD7 /* coding_emoji_22@2x.png in Resources */, 4E5D13111C0ECB3400985AEB /* tweet_btn_rewarded@2x.png in Resources */, 4E66EE291A28226000DA1B3E /* button_file_move_enable@2x.png in Resources */, + B1C8711B1EADF0B1003DACF0 /* messageSystem@3x.png in Resources */, + B12B64271FF33E0100ACFDCC /* button_red_close@2x.png in Resources */, + 4E9423F51E69401B0095F1CD /* blankpage_image_Wiki@3x.png in Resources */, 4EE1A23E1B5F3834004284F1 /* project_tag_icon@2x.png in Resources */, + B11DC7C120245728004E76A9 /* button_terminal@3x.png in Resources */, + B1890C2C2015D82600F52ABA /* wiki_menu_0@3x.png in Resources */, 133DAA651CC13A30004D8501 /* PR_update_title@3x.png in Resources */, + B177F5C52060E6B1006709C2 /* wiki.html in Resources */, + B1C871AC1EB2D9E6003DACF0 /* task_activity_icon_update@3x.png in Resources */, 8EA6D19319E240C40076D59C /* timeline_line_read@2x.png in Resources */, D09E6AC61BF84AF9009D37F8 /* git_icon_fork@2x.png in Resources */, 4EB52F1E1C76BA3B00B5EBEA /* tag_button_add@3x.png in Resources */, - 4EF17EE31B3C3112003CDD2D /* intro_tip_3@3x.png in Resources */, + B1C871461EADF1C1003DACF0 /* taskProgress@3x.png in Resources */, + B152ED85209453E8004A6E8A /* taskboard_blankpage@3x.png in Resources */, + 4E9423EA1E69401B0095F1CD /* blankpage_image_Task@2x.png in Resources */, + B1C871AA1EB2D9E6003DACF0 /* task_activity_icon_update_label@3x.png in Resources */, 4E80E9551E02911E00DE1BC6 /* search_icon_mr@3x.png in Resources */, + 4E9423F31E69401B0095F1CD /* blankpage_image_Tweet@3x.png in Resources */, + B1C8714A1EADF217003DACF0 /* user_info_company@2x.png in Resources */, 4E94C4EF1B4B73BB00EB668A /* scan_line@2x.png in Resources */, + B12B64741FFB61AD00ACFDCC /* README.md in Resources */, 4E96E7DF1A1B537E0037C098 /* icon_file_unknown@2x.png in Resources */, 4E80E94E1E02911E00DE1BC6 /* search_icon_tweet@2x.png in Resources */, - 8E525C8D19F7E3F800496B34 /* blankpage_image_Sleep@2x.png in Resources */, 4ECEFA021D1D0B4B002A27D3 /* tip_bg@2x.png in Resources */, 4E217F101A70EDC700F6DF88 /* SVWebViewControllerActivityChrome-iPad@2x.png in Resources */, 13FB5D551CA17A6400EE127C /* PR_grant@2x.png in Resources */, + B1C8712A1EADF0FF003DACF0 /* settingBtn_Nav@2x.png in Resources */, + B16E6D9220C148E50076026D /* intro_page0_ip5@2x.png in Resources */, 4ED4B4911D82646100EED8C6 /* user_info_topic@2x.png in Resources */, 4E6383EC1B32A2C300D98648 /* project_item_file@2x.png in Resources */, 8B35164F1B6CE9460049BC45 /* icon_arrow_searchHistory@2x.png in Resources */, + B1BCB8821FCD006C0098B87B /* icon_file_movie_big@2x.png in Resources */, + B1BCB8831FCD006C0098B87B /* icon_file_md_big@2x.png in Resources */, 8EA6D16819E240C40076D59C /* nav_project_member@2x.png in Resources */, - 4E9113A91A1CB19900AC9431 /* icon_file_state_download@2x.png in Resources */, + 4E9423E21E69401B0095F1CD /* blankpage_image_MessageList@2x.png in Resources */, 4EB52F121C74691B00B5EBEA /* password_unlook@3x.png in Resources */, - 4E9113AB1A1CB19900AC9431 /* icon_file_state_look@2x.png in Resources */, + B16EEF09208DDBB6005ABFD5 /* timeline_icon_unread@3x.png in Resources */, + B1BFC4C520B2B250009427FC /* task_activity_icon_add_milestone@3x.png in Resources */, + B16E6D8320C148E50076026D /* intro_icon_5@3x.png in Resources */, D0C447CD1C02DB6700DC1C4B /* pop_Message@3x.png in Resources */, + B152ED6520935594004A6E8A /* EABoardTaskListBlankView.xib in Resources */, 4E63840B1B33F9B400D98648 /* comment_bg@2x.png in Resources */, 4EB52F2E1C77138A00B5EBEA /* button_scan@2x.png in Resources */, + B1AB5CA0202953E50075A669 /* terminal_triangle@3x.png in Resources */, 4E59D32B1D3E106D008C914B /* tweetsBtn_Nav@2x.png in Resources */, 8E97CEA31A0C7E26006F9AD7 /* coding_emoji_12@2x.png in Resources */, - 4EF17EE81B3C3112003CDD2D /* intro_icon_6@2x.png in Resources */, - 4EF17ED11B3C3112003CDD2D /* intro_icon_1@2x.png in Resources */, + B1AB5C9C202953E50075A669 /* terminal_box_unselected@3x.png in Resources */, + B1AB5C9D202953E50075A669 /* terminal_tail@3x.png in Resources */, D0C447E21C02DB8900DC1C4B /* task_normal@3x.png in Resources */, + B14689BA1EE100B200B01371 /* vip_3_75@2x.png in Resources */, 4E0BD8841B6C7F0A0061CAA6 /* mock_hotTopiclist.geojson in Resources */, + B16E6D9D20C148E50076026D /* icon_user_monkey@2x.png in Resources */, 4EE548291AE9166B00A92306 /* icon_project_cell_pin@2x.png in Resources */, D0C447C01C02DB5400DC1C4B /* pop_2FA@2x.png in Resources */, + B1280D03200EFEA400DEDF78 /* PR_add_reviewer@3x.png in Resources */, 4EBD0C661A1F2011004B4284 /* nav_project_file@2x.png in Resources */, + B19D4EF71F7210C300C598F3 /* user_info_shop@3x.png in Resources */, D0C447C31C02DB5400DC1C4B /* pop_Task@2x.png in Resources */, 8EA6D17E19E240C40076D59C /* section_btn_close@2x.png in Resources */, 4EBD7FB11CE482A400B3AF49 /* country_code.plist in Resources */, 4E93F23C1B84356500017916 /* file_menu_icon_info@2x.png in Resources */, 8E97CE9E1A0C7E26006F9AD7 /* coding_emoji_07@2x.png in Resources */, + B152ED7D20945378004A6E8A /* project_item_taskboard@3x.png in Resources */, 13FB5D461CA17A6400EE127C /* merge-request coding@3x.png in Resources */, - 4EF17ECF1B3C3112003CDD2D /* intro_icon_0@2x.png in Resources */, + 4E9423ED1E69401B0095F1CD /* blankpage_image_Team@3x.png in Resources */, + 4EAAD0231E540551008AA957 /* mrpr_icon_status_canmerge@2x.png in Resources */, + 4E9423E31E69401B0095F1CD /* blankpage_image_MessageList@3x.png in Resources */, 4E6383A91B3262D300D98648 /* taskPriority1_small@2x.png in Resources */, D0C447DD1C02DB8900DC1C4B /* me_selected@3x.png in Resources */, + B16E6D7A20C148E50076026D /* intro_tip_2@2x.png in Resources */, D0C447FC1C02DCA200DC1C4B /* timeBtn_Nav@2x.png in Resources */, 7E8E59821B6F91C40083CA02 /* bubble_right_play_0@2x.png in Resources */, + B16E6D9420C148E50076026D /* intro_page_unselected@2x.png in Resources */, 4ED6181D1C3A72CF0017946C /* ShopMutileValueCell.xib in Resources */, + B1C871AB1EB2D9E6003DACF0 /* task_activity_icon_update_priority@3x.png in Resources */, + B16E6D9120C148E50076026D /* intro_icon_3@2x.png in Resources */, 4E96E7DD1A1B537E0037C098 /* icon_file_movie@2x.png in Resources */, 4E93F23D1B84356500017916 /* file_menu_icon_open@2x.png in Resources */, D0C447F41C02DCA200DC1C4B /* addBtn_Nav@2x.png in Resources */, + B16E6D7D20C148E50076026D /* intro_icon_2@3x.png in Resources */, + B1DFD0A120C67D3F00F75F2F /* btn_followed_yes@3x.png in Resources */, + B1C871181EADF0B1003DACF0 /* messageAT@3x.png in Resources */, 4E80E9531E02911E00DE1BC6 /* search_icon_file@3x.png in Resources */, - 4EF17EE51B3C3112003CDD2D /* intro_tip_4@3x.png in Resources */, 13FB5D4D1CA17A6400EE127C /* PR_review@3x.png in Resources */, - 4E6B07121BA3D9B5007D6027 /* intro_page1_ip5@2x.png in Resources */, 4E2DB33F1BA6A2FE002F27C4 /* keyboard_emotion_monkey_gif@2x.png in Resources */, 8E97CEB41A0C7E26006F9AD7 /* coding_emoji_29@2x.png in Resources */, 4EAE06C11B7B51AF00179F4B /* file_activity_icon_move_file@2x.png in Resources */, - 13FB5D3F1CA17A6400EE127C /* EPointLikeHead@2x.png in Resources */, D0C448081C02DCAC00DC1C4B /* addBtn_Nav@3x.png in Resources */, + B16E6D1320C147770076026D /* team_cell_edit_team@2x.png in Resources */, + B14689BB1EE100B200B01371 /* vip_3_75@3x.png in Resources */, D0C4480C1C02DCAC00DC1C4B /* info_Nav@3x.png in Resources */, - 13FB5D4E1CA17A6400EE127C /* PRReviewer@1x.png in Resources */, + B1AB5C9F202953E50075A669 /* terminal_more@2x.png in Resources */, D0C447E31C02DB8900DC1C4B /* task_selected@3x.png in Resources */, + 4E9423E71E69401B0095F1CD /* blankpage_image_Project@3x.png in Resources */, 8E97CE641A0A3424006F9AD7 /* keyboard_emotion@2x.png in Resources */, 4EAE06A81B7B1AE100179F4B /* button_file_history@2x.png in Resources */, + B1BCB89B1FCE93830098B87B /* wechat@2x.png in Resources */, 4E0849851A918A7F00BD27F6 /* coding_emoji_43@2x.png in Resources */, 4E5D130E1C0ECB3400985AEB /* tweet_btn_liked@3x.png in Resources */, 4E96E7DE1A1B537E0037C098 /* icon_file_music@2x.png in Resources */, - 927AFF541BFF6DAD00AAE593 /* shop_unexchange_icon@2x.png in Resources */, 8EA6D1A119E240C40076D59C /* tipIcon_UserFollow@2x.png in Resources */, + 4EAAD0581E542B2D008AA957 /* icon_code_git_link@3x.png in Resources */, + B1280CED200EFDC600DEDF78 /* file_changeType_RENAME@3x.png in Resources */, 4E2F6A6D1C43CA4B00A25502 /* member_type_100@3x.png in Resources */, - 4E095A7F1B6B1E40008DC439 /* calendar_0xF5A523@2x.png in Resources */, + B17CC32020731FF10077C956 /* code_release_resource__Default@2x.png in Resources */, 4E5D13181C0EF48200985AEB /* button_close@2x.png in Resources */, 134116F51CB54AF8005E6550 /* PR_TaskResource@3x.png in Resources */, - 4EF17EDC1B3C3112003CDD2D /* intro_tip_0@2x.png in Resources */, 8EA6D19719E240C40076D59C /* tipIcon_Project@2x.png in Resources */, + 4EAAD0541E542B2D008AA957 /* icon_code_tree@3x.png in Resources */, D0C447CF1C02DB6700DC1C4B /* pop_Task@3x.png in Resources */, 4EB52F1F1C76BA3B00B5EBEA /* tag_button_editColor@2x.png in Resources */, 4E6CBE551D8EA9D100644086 /* icon_best_answer@3x.png in Resources */, - 4EF17ED31B3C3112003CDD2D /* intro_icon_2@2x.png in Resources */, + B16E6CB520C13BF50076026D /* btn_next_enable@3x.png in Resources */, 4ECEFA031D1D0B4B002A27D3 /* tip_bg@3x.png in Resources */, D0C448091C02DCAC00DC1C4B /* addUserBtn_Nav@3x.png in Resources */, + B1C871441EADF1C1003DACF0 /* taskOwner@3x.png in Resources */, D0C447F51C02DCA200DC1C4B /* addUserBtn_Nav@2x.png in Resources */, - 4E4D6AC11B252CD400FD2E49 /* icon_code_file@2x.png in Resources */, + 4EAAD0221E540551008AA957 /* mrpr_icon_status_accepted@3x.png in Resources */, 4E5D13101C0ECB3400985AEB /* tweet_btn_reward@3x.png in Resources */, 4EAECBC51C44CB860096CA74 /* member_cell_edit_remove@3x.png in Resources */, - 4EF17EE71B3C3112003CDD2D /* intro_tip_5@3x.png in Resources */, + B16E6D9320C148E50076026D /* intro_page_selected@2x.png in Resources */, 4E80E9321DFFF06E00DE1BC6 /* shortcut_tweet@3x.png in Resources */, 8E97CEB91A0C7E26006F9AD7 /* coding_emoji_34@2x.png in Resources */, - 4EF17ED81B3C3112003CDD2D /* intro_icon_4@3x.png in Resources */, + B1C871701EB1832B003DACF0 /* task_description_icon@3x.png in Resources */, 4EAE06921B7880BA00179F4B /* me_info_arrow_left@2x.png in Resources */, 4E5F39071ACBFDCD0010515D /* keyboard_photo@2x.png in Resources */, - 4E0022A91B7362EF005308DE /* intro_page0_ip6@2x.png in Resources */, + B1BCB89C1FCE93830098B87B /* wechat@3x.png in Resources */, 4E76D4DE1A5A7B4A0094A35E /* text_clear_btn@2x.png in Resources */, D0C447A91C02A3C700DC1C4B /* task_normal@2x.png in Resources */, 4E96E7E41A1B537E0037C098 /* icon_file_xls@2x.png in Resources */, @@ -6512,116 +9903,200 @@ 927AFF531BFF6DAD00AAE593 /* shop_nar_history_icon@3x.png in Resources */, 4EC461B41B39360F00D08970 /* file_changeType_MODIFY@2x.png in Resources */, D0C447A71C02A3C700DC1C4B /* project_normal@2x.png in Resources */, + B16E6D7E20C148E50076026D /* intro_tip_4@3x.png in Resources */, 4E80E9381E01218300DE1BC6 /* reward_tip_logo@2x.png in Resources */, + B16E6CDF20C145BF0076026D /* quick_menu_icon_task@3x.png in Resources */, + B1C871471EADF1C1003DACF0 /* taskProject@3x.png in Resources */, 4ED4B48C1D82646100EED8C6 /* user_info_point@3x.png in Resources */, 4EA679191A14BFA0001A0324 /* icon_file_folder_default@2x.png in Resources */, + 4EAAD0561E542B2D008AA957 /* icon_code_file@3x.png in Resources */, 4E6383D61B32665700D98648 /* project_item_readme@2x.png in Resources */, + B1817EEF2068C7A100E9BAD1 /* EACodeBranchListCell.xib in Resources */, + B17CC31F20731FF10077C956 /* code_release_resource_Default@3x.png in Resources */, D0C447F81C02DCA200DC1C4B /* info_Nav@2x.png in Resources */, - 4EF17ECE1B3C3112003CDD2D /* intro_dot_unselected@3x.png in Resources */, + B1C871B51EB2D9F0003DACF0 /* file_activity_icon_update_file@3x.png in Resources */, + B177F5C62060E6B1006709C2 /* bubble.html in Resources */, 4E2DB34B1BA6AEB4002F27C4 /* coding_emoji_gif_06@2x.png in Resources */, - 4EF17EDB1B3C3112003CDD2D /* intro_icon_6@3x.png in Resources */, + B16E6CCA20C144930076026D /* done_Nav@2x.png in Resources */, 4E6383D41B32665700D98648 /* project_item_member@2x.png in Resources */, 8EA6D19E19E240C40076D59C /* tipIcon_Tweet@2x.png in Resources */, + B16E6CD020C144930076026D /* done_un_Nav@3x.png in Resources */, 8E97CE9B1A0C7E26006F9AD7 /* coding_emoji_04@2x.png in Resources */, 8EA6D16D19E240C40076D59C /* nav_tweet_hot@2x.png in Resources */, 4E6383D81B32665700D98648 /* project_item_topic@2x.png in Resources */, + B1890C2F2015D82600F52ABA /* wiki_menu_1@2x.png in Resources */, + B1C871B41EB2D9F0003DACF0 /* file_activity_icon_move_file@3x.png in Resources */, 4E96E7DC1A1B537E0037C098 /* icon_file_md@2x.png in Resources */, D0C447AB1C02A3C700DC1C4B /* tweet_normal@2x.png in Resources */, 13FB5D511CA17A6400EE127C /* PR_review_undo@2x.png in Resources */, + 4E9423F21E69401B0095F1CD /* blankpage_image_Tweet@2x.png in Resources */, + B152ED82209453E8004A6E8A /* taskBoardList@3x.png in Resources */, 4E62410B1B74D65400E1533C /* search_tweet_like@2x.png in Resources */, 4E94C4ED1B4A867A00EB668A /* scan_bg@2x.png in Resources */, + B1C871BE1EB33B37003DACF0 /* task_icon_arrow@3x.png in Resources */, 4E996C031ABBF56A00C704F1 /* n_btn_followed_not@2x.png in Resources */, 8EA6D17F19E240C40076D59C /* section_btn_open@2x.png in Resources */, - 4E095A151D9534CB00E63D9E /* intro_page_selected@2x.png in Resources */, 4EB52F611C7C5C4F00B5EBEA /* task_resource_reference_ProjectTopic@3x.png in Resources */, + B12B64191FF0E4CB00ACFDCC /* skill_delete@3x.png in Resources */, 4EACB4411A2C448F0097ABB3 /* button_file_move_unable@2x.png in Resources */, 4E0BD8851B6C7F0A0061CAA6 /* mock_topicAdlist.geojson in Resources */, 8EA6D17419E240C40076D59C /* placeholder_coding_square_55@2x.png in Resources */, D0C447CE1C02DB6700DC1C4B /* pop_Project@3x.png in Resources */, + B1BFC4C620B2B250009427FC /* task_activity_icon_remove_milestone@3x.png in Resources */, + B16E6CA320C102B60076026D /* Images.xcassets in Resources */, + B1AB5CB8202D7D500075A669 /* button_file_download_unable@3x.png in Resources */, 4E80E95C1E02911E00DE1BC6 /* search_icon_task@2x.png in Resources */, + B17CC32120731FF10077C956 /* code_release_resource_Task@2x.png in Resources */, D0C4480D1C02DCAC00DC1C4B /* moreBtn_Nav@3x.png in Resources */, + B184166A20513CA100207666 /* tweet_comment_btn@3x.png in Resources */, + B16E6D7920C148E50076026D /* intro_icon_6@3x.png in Resources */, + B14689B41EE100B200B01371 /* vip_3_30@2x.png in Resources */, + B1280D01200EFEA400DEDF78 /* PR_del_label@3x.png in Resources */, + 4E9423EC1E69401B0095F1CD /* blankpage_image_Team@2x.png in Resources */, + B15C98B220D39CA200DDA425 /* project_icon_edit@3x.png in Resources */, + B16E6D8520C148E50076026D /* intro_tip_3@3x.png in Resources */, + B16E6D0920C147770076026D /* team_info_sup@2x.png in Resources */, + B17CC31520731E950077C956 /* icon_release_tag_blue@2x.png in Resources */, 8E8F7B3119EF6306006BA8BD /* btn_privateMsg_stranger@2x.png in Resources */, + B1C8713D1EADF155003DACF0 /* project_item_wiki@3x.png in Resources */, 4E03AC9A1A5BDDF9002B000B /* STARTIMAGE.jpg in Resources */, + B1C871191EADF0B1003DACF0 /* messageComment@3x.png in Resources */, 8E97CE991A0C7E26006F9AD7 /* coding_emoji_02@2x.png in Resources */, 4E6383E91B32791600D98648 /* checkbox_checked@2x.png in Resources */, + B152ED83209453E8004A6E8A /* taskboard_blankpage@2x.png in Resources */, 4EAECBC71C44CB860096CA74 /* member_cell_edit_type@3x.png in Resources */, + B1280D06200EFEA400DEDF78 /* PR_del_label@2x.png in Resources */, 4E217F1A1A71007800F6DF88 /* SVWebViewController.strings in Resources */, - 4EF17ED01B3C3112003CDD2D /* intro_icon_0@3x.png in Resources */, + 4E9423F11E69401B0095F1CD /* blankpage_image_Topic@3x.png in Resources */, 8EA6D17719E240C40076D59C /* placeholder_monkey_round_33@2x.png in Resources */, 8E97CEB51A0C7E26006F9AD7 /* coding_emoji_30@2x.png in Resources */, 4E6383D21B32665700D98648 /* project_item_code@2x.png in Resources */, 4E80E9571E02911E00DE1BC6 /* search_icon_user@3x.png in Resources */, - 4EF17ED21B3C3112003CDD2D /* intro_icon_1@3x.png in Resources */, + B17CC32A2073212E0077C956 /* code_release_resource_MergeRequestBean@3x.png in Resources */, + 4E9423DC1E69401B0095F1CD /* blankpage_image_Default@2x.png in Resources */, + B1817EF62069186E00E9BAD1 /* project_item_tag@2x.png in Resources */, 13FB5D4F1CA17A6400EE127C /* PRReviewer@2x.png in Resources */, - 4E0022A61B7362EF005308DE /* intro_page0_ip4@2x.png in Resources */, + B12B640F1FECB59000ACFDCC /* login_wechat@2x.png in Resources */, + B1C871A31EB2D9E6003DACF0 /* task_activity_icon_finish@3x.png in Resources */, + B152ED95209453F3004A6E8A /* taskboard_normal_page_unselected@3x.png in Resources */, 4E53EB591AFB090E0034FE1C /* nav_page_selected@2x.png in Resources */, - 4E1D99171DCAE67D00BAE585 /* icon_file_folder_out@3x.png in Resources */, + B16E6CCE20C144930076026D /* done_un_Nav@2x.png in Resources */, + B16E6CE520C145BF0076026D /* quick_menu_icon_2fa@3x.png in Resources */, 8E97CEB31A0C7E26006F9AD7 /* coding_emoji_28@2x.png in Resources */, - 4EF17EE61B3C3112003CDD2D /* intro_tip_5@2x.png in Resources */, 8EA6D17A19E240C40076D59C /* placeholder_monkey_round_50@2x.png in Resources */, + B14689B81EE100B200B01371 /* vip_3_45@2x.png in Resources */, 4E996C051ABBF56A00C704F1 /* n_sex_man_icon@2x.png in Resources */, 8EA6D15919E240C40076D59C /* AppIcon120x120.png in Resources */, D0C447A61C02A3C700DC1C4B /* privatemessage_selected@2x.png in Resources */, 4E2DB34C1BA6AEB4002F27C4 /* coding_emoji_gif_07@2x.png in Resources */, + B1C8717D1EB18599003DACF0 /* calendar_0x59A2FF@2x.png in Resources */, + B19D4EE21F690F5E00C598F3 /* file_activity_icon_rename@3x.png in Resources */, + B1AB5CB2202D7D500075A669 /* button_file_denete_enable@3x.png in Resources */, 8E97CEB71A0C7E26006F9AD7 /* coding_emoji_32@2x.png in Resources */, 8E97CEA71A0C7E26006F9AD7 /* coding_emoji_16@2x.png in Resources */, - 4E0022A81B7362EF005308DE /* intro_page0_ip6+@3x.png in Resources */, + 4EAAD05C1E544006008AA957 /* icon_triangle@3x.png in Resources */, + 4EAAD09E1E5D8558008AA957 /* mrpr_icon_arrow@3x.png in Resources */, + B16E6CEF20C147490076026D /* team_bg@2x.png in Resources */, + B1C871BA1EB338FD003DACF0 /* comment_bg@3x.png in Resources */, 8E8F7B2C19EF6306006BA8BD /* btn_followed_both@2x.png in Resources */, 13FB5D421CA17A6400EE127C /* PR_refuse@3x.png in Resources */, 4E80E9311DFFF06E00DE1BC6 /* shortcut_tweet@2x.png in Resources */, + B14689B51EE100B200B01371 /* vip_3_30@3x.png in Resources */, 4E0849841A918A7F00BD27F6 /* coding_emoji_42@2x.png in Resources */, 8E97CEB61A0C7E26006F9AD7 /* coding_emoji_31@2x.png in Resources */, - 4E095A7D1B6B1E40008DC439 /* calendar_0xB5B5B5@2x.png in Resources */, 4ED4B48F1D82646100EED8C6 /* user_info_setup@2x.png in Resources */, + B1C871841EB18599003DACF0 /* calendar_0xF56061@3x.png in Resources */, + 4E9423DE1E69401B0095F1CD /* blankpage_image_File@2x.png in Resources */, + B16E6D9C20C148E50076026D /* icon_user_monkey_i6@2x.png in Resources */, + B16E6D8C20C148E50076026D /* intro_icon_1@2x.png in Resources */, + B1C8718F1EB1E608003DACF0 /* icon_add_comment@3x.png in Resources */, 4EACB4431A2C45300097ABB3 /* button_file_download_enable@2x.png in Resources */, - D0FE4DB81C103FA0006E5A76 /* git_icon_fork_old@2x.png in Resources */, 8E97CE691A0A3424006F9AD7 /* keyboard_page_selected@2x.png in Resources */, + B15C98B020D39CA200DDA425 /* project_icon_edit@2x.png in Resources */, + B1C8716C1EB182C7003DACF0 /* taskPriority3@3x.png in Resources */, + B177F5C92060E6B1006709C2 /* code.html in Resources */, + B16EEF08208DDBB6005ABFD5 /* timeline_icon_read@3x.png in Resources */, + B1C871B31EB2D9F0003DACF0 /* file_activity_icon_delete_history@3x.png in Resources */, 4E6383DB1B3266C200D98648 /* mrpr_icon_commit@2x.png in Resources */, + B1BFC4B720B2ACEE009427FC /* editBoardList@2x.png in Resources */, + B16E6D8720C148E50076026D /* intro_icon_5@2x.png in Resources */, D0C447C51C02DB5400DC1C4B /* pop_User@2x.png in Resources */, 8E97CE611A0A3424006F9AD7 /* keyboard_add_photo@2x.png in Resources */, 4EAECBC61C44CB860096CA74 /* member_cell_edit_type@2x.png in Resources */, + B1890C322015D82600F52ABA /* wiki_menu_icon_delete@2x.png in Resources */, 4E93F23B1B84356500017916 /* file_menu_icon_edit@2x.png in Resources */, + B19D4EEB1F6FAA6000C598F3 /* AboutPointViewController.xib in Resources */, 8E1C3DF619E7F4CA00EF3032 /* address.json in Resources */, 4E80E9391E01218300DE1BC6 /* reward_tip_logo@3x.png in Resources */, + B17CC32B2073212E0077C956 /* code_release_resource_ProjectFile@2x.png in Resources */, 4E09DCAA1C15662E001C9392 /* share_Nav@3x.png in Resources */, + B16E6D9520C148E50076026D /* intro_page0_ip4@2x.png in Resources */, + B1BFC4C420B2B250009427FC /* task_activity_icon_add_milestone@2x.png in Resources */, 4E2BF3D01B96CDF800A5A0A8 /* share_btn_copylink@2x.png in Resources */, - 4EF17ED41B3C3112003CDD2D /* intro_icon_2@3x.png in Resources */, + B1817EF82069186E00E9BAD1 /* project_item_branch@3x.png in Resources */, 7E8E597F1B6F91C40083CA02 /* bubble_left_play_0@2x.png in Resources */, + B1C871581EB0884A003DACF0 /* little_phone_icon@3x.png in Resources */, + B16E6D9720C148E50076026D /* intro_page_selected@3x.png in Resources */, + B16E6D7720C148E50076026D /* intro_tip_0@2x.png in Resources */, 4E96E7E11A1B537E0037C098 /* icon_file_ppt@2x.png in Resources */, 4E2F6A6E1C43CA4B00A25502 /* member_type_75@2x.png in Resources */, D0C448141C02F76600DC1C4B /* icon_search_searchbar@2x.png in Resources */, + B16E6CE920C145BF0076026D /* quick_menu_icon_project@2x.png in Resources */, 4EC480111C2A909D005F1772 /* register_step_ed@2x.png in Resources */, D0C447E01C02DB8900DC1C4B /* project_normal@3x.png in Resources */, + B11DC7C020245728004E76A9 /* button_terminal@2x.png in Resources */, D0C447A51C02A3C700DC1C4B /* privatemessage_normal@2x.png in Resources */, 8EA6D19819E240C40076D59C /* tipIcon_ProjectMember@2x.png in Resources */, + B19D4EE11F690F5E00C598F3 /* file_activity_icon_rename@2x.png in Resources */, + B17CC32E2073212E0077C956 /* code_release_resource_ProjectTopic@2x.png in Resources */, 8E97CEA81A0C7E26006F9AD7 /* coding_emoji_17@2x.png in Resources */, 4E6383B91B32640900D98648 /* messageLeft_bg_img@2x.png in Resources */, 4E80E95A1E02911E00DE1BC6 /* search_icon_project@2x.png in Resources */, + 4EAAD02B1E5405B4008AA957 /* mrpr_icon_status_cancel@2x.png in Resources */, + 4EAAD02C1E5405B4008AA957 /* mrpr_icon_status_cancel@3x.png in Resources */, + B1AB5CB1202D7D500075A669 /* button_file_createFolder_enable@3x.png in Resources */, + B16E6CAF20C13BF50076026D /* btn_next_unable@2x.png in Resources */, 13FB5D471CA17A6400EE127C /* PR_mergeChanges@2x.png in Resources */, + B16E6CB120C13BF50076026D /* btn_next_unable@3x.png in Resources */, 8E97CEAB1A0C7E26006F9AD7 /* coding_emoji_20@2x.png in Resources */, - 8EA6D1AA19E240C40076D59C /* Images.xcassets in Resources */, 4E63840F1B34124000D98648 /* task_icon_arrow@2x.png in Resources */, 4E6383C71B3265DC00D98648 /* mrpr_icon_refaused@2x.png in Resources */, + B16E6D8620C148E50076026D /* intro_tip_3@2x.png in Resources */, 8ED2AAFB19F60D5200607A1D /* loading_monkey@2x.png in Resources */, 8E97CE981A0C7E26006F9AD7 /* coding_emoji_01@2x.png in Resources */, + B1C871661EB182C7003DACF0 /* taskPriority0@3x.png in Resources */, + B1C8716B1EB182C7003DACF0 /* taskPriority3_small@3x.png in Resources */, 4EB52F3B1C7C45E700B5EBEA /* taskResourceReference@2x.png in Resources */, 8EA6D19519E240C40076D59C /* tipIcon_MergeRequestBean@2x.png in Resources */, - 4E095A7B1B6B1E40008DC439 /* calendar_0x95B763@2x.png in Resources */, 4E66EE271A28226000DA1B3E /* button_file_denete_enable@2x.png in Resources */, - 4EF17EE01B3C3112003CDD2D /* intro_tip_2@2x.png in Resources */, 4E2719C71AB07ED6006AE214 /* dot_line@2x.png in Resources */, 13FB5D441CA17A6400EE127C /* PR_grant_undo@3x.png in Resources */, + B1280D07200EFEA400DEDF78 /* PR_add_watcher@3x.png in Resources */, 4E2DB34D1BA6AEB4002F27C4 /* coding_emoji_gif_01@2x.png in Resources */, - 4E8F92DF1B67BE3C00033D8F /* icon_user_monkey_i6p@3x.png in Resources */, + B1C871241EADF0FF003DACF0 /* addBtn_Artboard@2x.png in Resources */, + B1C8713C1EADF155003DACF0 /* project_item_wiki@2x.png in Resources */, 4E2F6A701C43CA4B00A25502 /* member_type_90@2x.png in Resources */, 4E5D131B1C11865D00985AEB /* share_btn_inform@2x.png in Resources */, + B1C871271EADF0FF003DACF0 /* back_green_Nav@3x.png in Resources */, 8E64ED8B19EE484A006E99DA /* README.textile in Resources */, + B1280D0A200EFEA400DEDF78 /* PR_del_reviewer@3x.png in Resources */, + B16E6D0320C147770076026D /* team_info_pro@2x.png in Resources */, + B16E6D9820C148E50076026D /* intro_page0_ip6@2x.png in Resources */, 4E80E95D1E02911E00DE1BC6 /* search_icon_task@3x.png in Resources */, + B1BFC4C720B2B250009427FC /* task_activity_icon_remove_milestone@2x.png in Resources */, + B1C871641EB182C7003DACF0 /* checkbox_unchecked@3x.png in Resources */, 8E97CE9D1A0C7E26006F9AD7 /* coding_emoji_06@2x.png in Resources */, + B12B64281FF33E0100ACFDCC /* button_tip_close@3x.png in Resources */, + 4E9423E81E69401B0095F1CD /* blankpage_image_ShopOrder@2x.png in Resources */, 4E0849821A918A7F00BD27F6 /* coding_emoji_40@2x.png in Resources */, + 4E9423DD1E69401B0095F1CD /* blankpage_image_Default@3x.png in Resources */, + B1C60CAB20C0FC750073D3CA /* Launch Screen_E.xib in Resources */, 4EAECBC21C44CB860096CA74 /* member_cell_edit_alias@2x.png in Resources */, 4E6383BA1B32640900D98648 /* messageRight_bg_img@2x.png in Resources */, - 4E9113AC1A1CB19900AC9431 /* icon_file_state_pause@2x.png in Resources */, + B152ED7C20945378004A6E8A /* project_item_taskboard@2x.png in Resources */, + B1C871901EB1E608003DACF0 /* nav_page_selected@3x.png in Resources */, + B1AB5C9E202953E50075A669 /* terminal_more@3x.png in Resources */, + B1C8718D1EB1E608003DACF0 /* btn_setFrequent@3x.png in Resources */, D0C447E41C02DB8900DC1C4B /* tweet_normal@3x.png in Resources */, 8B3516551B6CF69E0049BC45 /* icon_search_clock@2x.png in Resources */, 4E6383AA1B3262D300D98648 /* taskPriority2@2x.png in Resources */, @@ -6629,43 +10104,57 @@ 4ECEF9FC1D1D0B3D002A27D3 /* tip_normal_Nav@2x.png in Resources */, 4E80E9561E02911E00DE1BC6 /* search_icon_user@2x.png in Resources */, 4E66EE281A28226000DA1B3E /* button_file_denete_unable@2x.png in Resources */, + B1C871911EB1E608003DACF0 /* nav_page_unselected@3x.png in Resources */, 8E97CE4A1A0A2E11006F9AD7 /* EmojisList.plist in Resources */, 8BDF9AB51B7474990093BF2C /* keyboard_topic@2x.png in Resources */, + B1817EF92069186E00E9BAD1 /* project_item_tag@3x.png in Resources */, 4EBFBD181AA85B8500E4B10E /* add_user_icon@2x.png in Resources */, 8E97CEA21A0C7E26006F9AD7 /* coding_emoji_11@2x.png in Resources */, 4E2DB3471BA6AEB4002F27C4 /* coding_emoji_gif_02@2x.png in Resources */, + B16E6D7F20C148E50076026D /* intro_tip_4@2x.png in Resources */, 4E996C061ABBF56A00C704F1 /* n_sex_woman_icon@2x.png in Resources */, + B14689BD1EE100B200B01371 /* vip_4_30@3x.png in Resources */, + B1C871451EADF1C1003DACF0 /* taskPriority@3x.png in Resources */, 4EB862AD1CABB21E008074D1 /* tipIcon_TeamMember@2x.png in Resources */, 8E97CE651A0A3424006F9AD7 /* keyboard_emotion_delete@2x.png in Resources */, 8EA6D16C19E240C40076D59C /* nav_tweet_friend@2x.png in Resources */, 8EA6D16E19E240C40076D59C /* nav_tweet_mine@2x.png in Resources */, 4E80E92E1DFFF06E00DE1BC6 /* shortcut_2FA@3x.png in Resources */, 13FB5D371CA17A6400EE127C /* PR_add@3x.png in Resources */, + B17CC31E20731FF10077C956 /* code_release_resource_Zip@3x.png in Resources */, + B152ED94209453F3004A6E8A /* taskboard_add_page_unselected@3x.png in Resources */, + 4E9423DB1E69401B0095F1CD /* blankpage_image_Activity@3x.png in Resources */, D0C447D01C02DB6700DC1C4B /* pop_Tweet@3x.png in Resources */, - 4E6B07111BA3D9B5007D6027 /* intro_page1_ip4@2x.png in Resources */, - 4E095A7C1B6B1E40008DC439 /* calendar_0x9AAFC2@2x.png in Resources */, - 4EF17EDE1B3C3112003CDD2D /* intro_tip_1@2x.png in Resources */, + 4EAAD0831E55AC6E008AA957 /* icon_code_image@3x.png in Resources */, + B152ED8F209453F3004A6E8A /* taskboard_normal_page_selected@3x.png in Resources */, + B16E6D9020C148E50076026D /* intro_tip_5@2x.png in Resources */, + B1BCB8861FCD006C0098B87B /* icon_file_txt_big@2x.png in Resources */, 4E4D6ACB1B2571B100FD2E49 /* git_icon_stared@2x.png in Resources */, 4E80E9541E02911E00DE1BC6 /* search_icon_mr@2x.png in Resources */, 4ED20A7A1AFCC43600C63498 /* button_download_cancel@2x.png in Resources */, 4E217F0D1A70EDC700F6DF88 /* SVWebViewController.bundle in Resources */, 4EC480121C2A909D005F1772 /* register_step_ed@3x.png in Resources */, 4E9DEEC61E30CA3C001B8D1B /* keyboard_emotion_emoji_code@2x.png in Resources */, - 4E38CF641A7B8DD4005536C0 /* icon_triangle@2x.png in Resources */, - 4E1D99191DCAE67D00BAE585 /* icon_file_folder_share@3x.png in Resources */, + B1C871511EADF48B003DACF0 /* cell_arrow_left@3x.png in Resources */, + B14689B61EE100B200B01371 /* vip_3_40@2x.png in Resources */, + 4EAAD0571E542B2D008AA957 /* icon_code_git_link@2x.png in Resources */, 4E4D6AC81B252F4800FD2E49 /* icon_add_comment@2x.png in Resources */, - 4E0022A71B7362EF005308DE /* intro_page0_ip5@2x.png in Resources */, + B1BCB8851FCD006C0098B87B /* icon_file_code_big@2x.png in Resources */, + B1280CF0200EFDC600DEDF78 /* file_changeType_DELETE@3x.png in Resources */, 8E872D0019EFEFF7002C8F34 /* tweet_more_comment_icon@2x.png in Resources */, 4E3DB53C1BFDD0F40062BA52 /* task_activity_icon_add_watcher@2x.png in Resources */, 8EA6D1A019E240C40076D59C /* tipIcon_TweetLike@2x.png in Resources */, + 4E9423E01E69401B0095F1CD /* blankpage_image_LoadFail@2x.png in Resources */, 4E72F8331B15B811001B6CE6 /* gif_mark@2x.png in Resources */, 4EC5AD921A258DF8006FA97C /* icon_file_cell_delete@2x.png in Resources */, + 4E9423F01E69401B0095F1CD /* blankpage_image_Topic@2x.png in Resources */, 8EA6D1F719E240C40076D59C /* MJPhotoBrowser.bundle in Resources */, 4E1D99181DCAE67D00BAE585 /* icon_file_folder_share@2x.png in Resources */, 4E80E9591E02911E00DE1BC6 /* search_icon_pr@3x.png in Resources */, 4E217F121A70EDC700F6DF88 /* SVWebViewControllerActivityChrome@2x.png in Resources */, + B152ED93209453F3004A6E8A /* taskboard_add_page_selected@3x.png in Resources */, 4E217F161A70EDC700F6DF88 /* SVWebViewControllerActivitySafari@2x.png in Resources */, - 4EF17EE21B3C3112003CDD2D /* intro_tip_3@2x.png in Resources */, + B1BFC4B620B2ACEE009427FC /* editBoardList@3x.png in Resources */, 13FB5D361CA17A6400EE127C /* PR_add@2x.png in Resources */, 4E5D130F1C0ECB3400985AEB /* tweet_btn_reward@2x.png in Resources */, 4E6383D51B32665700D98648 /* project_item_mr_pr@2x.png in Resources */, @@ -6673,81 +10162,113 @@ D0C447B41C02B1DE00DC1C4B /* btn_fliter_down@2x.png in Resources */, 8EA6D16719E240C40076D59C /* nav_project_activity@2x.png in Resources */, 4EFE8DAD1B394A0D004B7559 /* file_changeType_RENAME@2x.png in Resources */, + 4E9423EF1E69401B0095F1CD /* blankpage_image_Tip@3x.png in Resources */, + B16E6CC020C13F5F0076026D /* btn_project_added@3x.png in Resources */, + B16E6CE320C145BF0076026D /* quick_menu_icon_project@3x.png in Resources */, B9A00D7F1ACA3A05008BA008 /* ProjectSetting.storyboard in Resources */, + B1817F002069197D00E9BAD1 /* icon_release_tag@3x.png in Resources */, 8EA6D19219E240C40076D59C /* timeline_icon_unread@2x.png in Resources */, 4E54C24B1D8FE19100A61023 /* user_info_edit@2x.png in Resources */, + B19D4EFB1F7247BA00C598F3 /* AlipaySDK.bundle in Resources */, 4E095A6D1B69F920008DC439 /* banner__page_selected@2x.png in Resources */, - 4EB52F2F1C77138A00B5EBEA /* button_scan@3x.png in Resources */, 4EB52F5D1C7C5C4F00B5EBEA /* task_resource_reference_MergeRequestBean@3x.png in Resources */, 4E86FEE51BB556D6005E53F3 /* tipIcon_ProjectFileComment@2x.png in Resources */, 4E217F141A70EDC700F6DF88 /* SVWebViewControllerActivitySafari-iPad@2x.png in Resources */, 4EF91F641B00B62B0021C951 /* icon_not_locationed@2x.png in Resources */, 4E6383EA1B32791600D98648 /* checkbox_unchecked@2x.png in Resources */, + B1BCB8801FCD006C0098B87B /* icon_file_psd_big@2x.png in Resources */, 8EA6D19119E240C40076D59C /* timeline_icon_read@2x.png in Resources */, + B184166920513CA100207666 /* topic_add_watcher_btn@3x.png in Resources */, 8E97CEB21A0C7E26006F9AD7 /* coding_emoji_27@2x.png in Resources */, + B12B64751FFB61AD00ACFDCC /* QBImagePicker.strings in Resources */, + B1BCB87E1FCD006C0098B87B /* icon_file_zip_big@2x.png in Resources */, + B1C8711A1EADF0B1003DACF0 /* messageProjectFollows@3x.png in Resources */, 4E4972E21BB5395B00F3AC15 /* tipIcon_CommitLineNote@2x.png in Resources */, + B1890C2E2015D82600F52ABA /* wiki_revert@2x.png in Resources */, 4E80E94F1E02911E00DE1BC6 /* search_icon_tweet@3x.png in Resources */, + B1C871651EB182C7003DACF0 /* taskPriority0_small@3x.png in Resources */, 8E97CEAF1A0C7E26006F9AD7 /* coding_emoji_24@2x.png in Resources */, - 13FB5D401CA17A6400EE127C /* EPointLikeHead@3x.png in Resources */, 13FB5D4A1CA17A6400EE127C /* PointLikeHead@2x.png in Resources */, 8E97CEA11A0C7E26006F9AD7 /* coding_emoji_10@2x.png in Resources */, D0C447A31C02A3C700DC1C4B /* me_normal@2x.png in Resources */, + B1C8716A1EB182C7003DACF0 /* taskPriority2@3x.png in Resources */, + 4E9423DA1E69401B0095F1CD /* blankpage_image_Activity@2x.png in Resources */, 8E97CEB81A0C7E26006F9AD7 /* coding_emoji_33@2x.png in Resources */, - 4EB5A9441BF1DB4600C23AC3 /* WeiboSDK.bundle in Resources */, + B16E6D7C20C148E50076026D /* intro_icon_0@2x.png in Resources */, 8E97CEAE1A0C7E26006F9AD7 /* coding_emoji_23@2x.png in Resources */, 4E6383E11B32676600D98648 /* taskPriority@2x.png in Resources */, + B17CC3292073212E0077C956 /* code_release_resource_ProjectFile@3x.png in Resources */, 8EA6D19D19E240C40076D59C /* tipIcon_Task@2x.png in Resources */, + 4EAAD0551E542B2D008AA957 /* icon_code_file@2x.png in Resources */, 4E6384001B33C18700D98648 /* task_activity_icon_update_description@2x.png in Resources */, D09E6AC21BF84AC5009D37F8 /* git_icon_star@2x.png in Resources */, 4E095A831B6B24DE008DC439 /* task_description_icon@2x.png in Resources */, 4EB52F201C76BA3B00B5EBEA /* tag_button_editColor@3x.png in Resources */, D0C447F91C02DCA200DC1C4B /* moreBtn_Nav@2x.png in Resources */, 4EFE8DB91B3A5727004B7559 /* Launch Screen.xib in Resources */, - 4EF17ECC1B3C3112003CDD2D /* intro_dot_selected@3x.png in Resources */, 8E97CEAA1A0C7E26006F9AD7 /* coding_emoji_19@2x.png in Resources */, + B16E6D1B20C147770076026D /* team_cell_edit_pro@2x.png in Resources */, 13FB5D521CA17A6400EE127C /* PR_review_undo@3x.png in Resources */, - 4E90F89D1AF709C100B44F03 /* markdown.html in Resources */, + B1C871681EB182C7003DACF0 /* taskPriority1@3x.png in Resources */, + B1BCB89A1FCE93830098B87B /* alipay@3x.png in Resources */, 134116F11CB529E1005E6550 /* PR_more@3x.png in Resources */, 4E2BF3D51B96CDF800A5A0A8 /* share_btn_wxsession@2x.png in Resources */, 4E3DB53D1BFDD0F40062BA52 /* task_activity_icon_MergeRequestBean@2x.png in Resources */, 4E96E7E31A1B537E0037C098 /* icon_file_txt@2x.png in Resources */, - 927AFF551BFF6DAD00AAE593 /* shop_unexchange_icon@3x.png in Resources */, + B1C871381EADF155003DACF0 /* project_item_member@3x.png in Resources */, 8EA6D19419E240C40076D59C /* timeline_line_unread@2x.png in Resources */, 4E94C4F11B4B75DB00EB668A /* tip_2FA@2x.png in Resources */, + B1280CFF200EFEA400DEDF78 /* PR_add_label@3x.png in Resources */, + B1C871281EADF0FF003DACF0 /* back_T_Nav@2x.png in Resources */, + B1C871631EB182C7003DACF0 /* checkbox_checked@3x.png in Resources */, 8E97CE9C1A0C7E26006F9AD7 /* coding_emoji_05@2x.png in Resources */, - 4E095A171D9534CB00E63D9E /* intro_page_unselected@2x.png in Resources */, + B1BCB8991FCE93830098B87B /* alipay@2x.png in Resources */, 4E6383A61B3262D300D98648 /* taskPriority0@2x.png in Resources */, 4E0EF6EC1BF42E4B00F2FCC8 /* task_activity_icon_update_label@2x.png in Resources */, + B1890C2A2015D82600F52ABA /* wiki_menu_2@3x.png in Resources */, + 4E9423EE1E69401B0095F1CD /* blankpage_image_Tip@2x.png in Resources */, 8E97CE621A0A3424006F9AD7 /* keyboard_add_camera@2x.png in Resources */, D0C447E91C02DBC200DC1C4B /* btn_fliter_down@3x.png in Resources */, - 4EAE06C51B7B587200179F4B /* button_file_comment@2x.png in Resources */, + B177F5C82060E6B1006709C2 /* topic-ios.html in Resources */, 4ED4B4891D82646100EED8C6 /* user_info_help@2x.png in Resources */, 4E217F131A70EDC700F6DF88 /* SVWebViewControllerActivitySafari-iPad.png in Resources */, + 4EAAD05B1E544006008AA957 /* icon_triangle@2x.png in Resources */, 8EF6435019FF4E1600F7EEB0 /* comment_count_top_line@2x.png in Resources */, 7E335D9E1B6F5E94003D0F3D /* keyboard_voice_record@2x.png in Resources */, + B1BCB8871FCD006C0098B87B /* icon_file_music_big@2x.png in Resources */, 4EB52F111C74691B00B5EBEA /* password_unlook@2x.png in Resources */, 4E2DB3481BA6AEB4002F27C4 /* coding_emoji_gif_03@2x.png in Resources */, - 4E6B07141BA3D9B5007D6027 /* intro_page1_ip6+@3x.png in Resources */, + 4EAAD09D1E5D8558008AA957 /* mrpr_icon_arrow@2x.png in Resources */, + B14689B91EE100B200B01371 /* vip_3_45@3x.png in Resources */, 8EA6D18219E240C40076D59C /* splitlineImg@2x.png in Resources */, + B1AB5CB9202D7D500075A669 /* button_file_move_enable@3x.png in Resources */, + B1890C292015D82600F52ABA /* wiki_menu_0@2x.png in Resources */, + B17CC31420731E950077C956 /* icon_release_tag_blue@3x.png in Resources */, 4E80E9501E02911E00DE1BC6 /* search_icon_topic@2x.png in Resources */, + B16E6D8120C148E50076026D /* intro_icon_0@3x.png in Resources */, 4E2BF3BC1B957D4F00A5A0A8 /* file_activity_icon_delete_history@2x.png in Resources */, + B1BCB8811FCD006C0098B87B /* icon_file_unknown_big@2x.png in Resources */, 8EA6D18119E240C40076D59C /* sex_woman_icon@2x.png in Resources */, D0C447DF1C02DB8900DC1C4B /* privatemessage_selected@3x.png in Resources */, + B16E6CE120C145BF0076026D /* quick_menu_icon_task@2x.png in Resources */, 8E7612F41A08B1EA005BE797 /* tipIcon_TaskComment@2x.png in Resources */, 4E6383E01B32676600D98648 /* taskDeadline@2x.png in Resources */, 136526891CAABA2E00C0341D /* AddReviewerViewController.xib in Resources */, 927AFF511BFF6DAD00AAE593 /* shop_exchange_icon@3x.png in Resources */, - 4E8F92DE1B67BE3C00033D8F /* icon_user_monkey_i6@2x.png in Resources */, + B14689B71EE100B200B01371 /* vip_3_40@3x.png in Resources */, 4EAE06A71B7B1AE100179F4B /* button_file_activity@2x.png in Resources */, 4EAE06C21B7B51AF00179F4B /* file_activity_icon_update_file@2x.png in Resources */, 8EC911291A027A54009EAE99 /* nav_project_code@2x.png in Resources */, 4ED4B48E1D82646100EED8C6 /* user_info_project@3x.png in Resources */, + B152ED84209453E8004A6E8A /* taskBoardList@2x.png in Resources */, 4E2DB33D1BA6A1FC002F27C4 /* coding_emoji_gif_08@2x.png in Resources */, D09E6ABA1BF829A1009D37F8 /* icon_project_private@2x.png in Resources */, D0C447FA1C02DCA200DC1C4B /* search_Nav@2x.png in Resources */, - 4E6383C41B3265DC00D98648 /* mrpr_icon_arrow@2x.png in Resources */, + B1AB5CA1202953E50075A669 /* terminal_box_selected@3x.png in Resources */, 4EED9DD11B53BBCF000E5827 /* twoFABtn_Nav@2x.png in Resources */, + B16E6CDD20C145BF0076026D /* quick_menu_icon_message@3x.png in Resources */, D0C447E11C02DB8900DC1C4B /* project_selected@3x.png in Resources */, + B1C871A41EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png in Resources */, D0C447E51C02DB8900DC1C4B /* tweet_selected@3x.png in Resources */, 4E6383AC1B3262D300D98648 /* taskPriority3@2x.png in Resources */, 4E80E9521E02911E00DE1BC6 /* search_icon_file@2x.png in Resources */, @@ -6755,6 +10276,952 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B1D5EE7520BC06CB00983FB6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B1D5EE7620BC06CB00983FB6 /* hot_topic_Nav@2x.png in Resources */, + B1D5EE7720BC06CB00983FB6 /* keyboard_add@2x.png in Resources */, + B1D5EE7820BC06CB00983FB6 /* register_step_un@2x.png in Resources */, + B1D5EE7920BC06CB00983FB6 /* task_activity_icon_restore@2x.png in Resources */, + B1D5EE7A20BC06CB00983FB6 /* tipIcon_tweetReward@2x.png in Resources */, + B1D5EE7B20BC06CB00983FB6 /* icon_file_folder_normal@2x.png in Resources */, + B1D5EE7C20BC06CB00983FB6 /* taskboard_add_page_selected@2x.png in Resources */, + B1D5EE7D20BC06CB00983FB6 /* time_clock_icon@3x.png in Resources */, + B1D5EE7E20BC06CB00983FB6 /* task_activity_icon_add_watcher@3x.png in Resources */, + B1D5EE7F20BC06CB00983FB6 /* tipIcon_ProjectTopic@2x.png in Resources */, + B1D5EE8020BC06CB00983FB6 /* SVWebViewControllerActivityReport@2x.png in Resources */, + B16E6DD920C149440076026D /* intro_page1_ip5@2x.png in Resources */, + B1D5EE8120BC06CB00983FB6 /* wiki_menu_icon_share@2x.png in Resources */, + B16E6DDA20C149440076026D /* intro_page_unselected@3x.png in Resources */, + B1D5EE8220BC06CB00983FB6 /* InfoPlist.strings in Resources */, + B1D5EE8320BC06CB00983FB6 /* mrpr_icon_accepted@2x.png in Resources */, + B1D5EE8420BC06CB00983FB6 /* mrpr_icon_status_refused@2x.png in Resources */, + B1D5EE8520BC06CB00983FB6 /* privatemessage_normal@3x.png in Resources */, + B16E6DD420C149440076026D /* intro_page2_ip5@2x.png in Resources */, + B1D5EE8620BC06CB00983FB6 /* btn_project_added@2x.png in Resources */, + B1D5EE8720BC06CB00983FB6 /* nav_tweet_all@2x.png in Resources */, + B1D5EE8820BC06CB00983FB6 /* button_file_createFolder_unable@2x.png in Resources */, + B1D5EE8920BC06CB00983FB6 /* button_file_denete_unable@3x.png in Resources */, + B1D5EE8A20BC06CB00983FB6 /* file_activity_icon_upload_file@3x.png in Resources */, + B1D5EE8B20BC06CB00983FB6 /* QBImagePicker.storyboard in Resources */, + B16E6CBF20C13F5F0076026D /* btn_project_add@3x.png in Resources */, + B1D5EE8C20BC06CB00983FB6 /* taskProject@2x.png in Resources */, + B1D5EE8E20BC06CB00983FB6 /* button_file_upload_enable@3x.png in Resources */, + B1D5EE8F20BC06CB00983FB6 /* tag_button_randomColor@3x.png in Resources */, + B1D5EE9020BC06CB00983FB6 /* user_info_help@3x.png in Resources */, + B1D5EE9120BC06CB00983FB6 /* messageComment@2x.png in Resources */, + B1D5EE9220BC06CB00983FB6 /* upgrade_success@3x.png in Resources */, + B1D5EE9320BC06CB00983FB6 /* tweet_comment_btn@2x.png in Resources */, + B1D5EE9420BC06CB00983FB6 /* fliter_square@2x.png in Resources */, + B1D5EE9520BC06CB00983FB6 /* PR_create@2x.png in Resources */, + B1D5EE9620BC06CB00983FB6 /* user_info_tweet@3x.png in Resources */, + B1D5EE9720BC06CB00983FB6 /* taskPriority2_small@2x.png in Resources */, + B1D5EE9820BC06CB00983FB6 /* pop_2FA@3x.png in Resources */, + B1D5EE9920BC06CB00983FB6 /* code_release_resource_Zip@2x.png in Resources */, + B1D5EE9A20BC06CB00983FB6 /* topic_add_watcher_btn@2x.png in Resources */, + B1D5EE9B20BC06CB00983FB6 /* bubble_right_play_1@2x.png in Resources */, + B1D5EE9C20BC06CB00983FB6 /* search_tweet_colck@2x.png in Resources */, + B1D5EE9D20BC06CB00983FB6 /* keyboard_page_unselected@2x.png in Resources */, + B16E6DC820C1493A0076026D /* intro_icon_wiki_down.gif in Resources */, + B1D5EE9E20BC06CB00983FB6 /* blankpage_image_Project@2x.png in Resources */, + B1D5EEA020BC06CB00983FB6 /* PR_more@2x.png in Resources */, + B1D5EEA120BC06CB00983FB6 /* user_info_edit@3x.png in Resources */, + B1D5EEA220BC06CB00983FB6 /* file_changeType_MODIFY@3x.png in Resources */, + B1D5EEA320BC06CB00983FB6 /* icon_file_apk@2x.png in Resources */, + B1D5EEA420BC06CB00983FB6 /* n_btn_followed_both@2x.png in Resources */, + B15C98AD20D39C4B00DDA425 /* NewProject.storyboard in Resources */, + B1D5EEA520BC06CB00983FB6 /* messageSystem@2x.png in Resources */, + B1D5EEA620BC06CB00983FB6 /* PR_del_watcher@2x.png in Resources */, + B1D5EEA720BC06CB00983FB6 /* taskWatchers@3x.png in Resources */, + B1D5EEA820BC06CB00983FB6 /* mrpr_icon_status_canmerge@3x.png in Resources */, + B1D5EEA920BC06CB00983FB6 /* topic_comment_icon@2x.png in Resources */, + B1D5EEAA20BC06CB00983FB6 /* project_item_activity@3x.png in Resources */, + B1D5EEAB20BC06CB00983FB6 /* member_type_75@3x.png in Resources */, + B1D5EEAC20BC06CB00983FB6 /* bubble_right_play_2@2x.png in Resources */, + B1D5EEAD20BC06CB00983FB6 /* share_btn_coding@2x.png in Resources */, + B1D5EEAE20BC06CB00983FB6 /* commentOrLikeBeginImg@2x.png in Resources */, + B1D5EEAF20BC06CB00983FB6 /* task_resource_reference_ProjectFile@3x.png in Resources */, + B1D5EEB020BC06CB00983FB6 /* PR_mergeChanges@3x.png in Resources */, + B1D5EEB120BC06CB00983FB6 /* user_info_shop@2x.png in Resources */, + B1D5EEB220BC06CB00983FB6 /* ReviewCell.xib in Resources */, + B1D5EEB320BC06CB00983FB6 /* login_suffix@2x.png in Resources */, + B1D5EEB420BC06CB00983FB6 /* password_look@3x.png in Resources */, + B1D5EEB520BC06CB00983FB6 /* emotion_list.plist in Resources */, + B1D5EEB620BC06CB00983FB6 /* wiki_menu_1@3x.png in Resources */, + B1D5EEB720BC06CB00983FB6 /* file_changeType_ADD@2x.png in Resources */, + B16E6DD220C149440076026D /* intro_page1_ip6@2x.png in Resources */, + B16E6DC120C1492F0076026D /* intro_dot_dark_selected@3x.png in Resources */, + B1D5EEB820BC06CB00983FB6 /* icon_best_answer@2x.png in Resources */, + B16E6DCC20C1493A0076026D /* intro_icon_task_up.gif in Resources */, + B1D5EEB920BC06CB00983FB6 /* git_icon_watched@2x.png in Resources */, + B1D5EEBA20BC06CB00983FB6 /* coding_emoji_26@2x.png in Resources */, + B1D5EEBB20BC06CB00983FB6 /* coding_emoji_35@2x.png in Resources */, + B1D5EEBC20BC06CB00983FB6 /* task_activity_icon_update_description@3x.png in Resources */, + B1D5EEBD20BC06CB00983FB6 /* vip_4_40@3x.png in Resources */, + B1D5EEBE20BC06CB00983FB6 /* keyboard_keyboard@2x.png in Resources */, + B1D5EEBF20BC06CB00983FB6 /* icon_release_tag@2x.png in Resources */, + B1D5EEC020BC06CB00983FB6 /* placeholder_monkey_round_48@2x.png in Resources */, + B1D5EEC120BC06CB00983FB6 /* PR_plus@2x.png in Resources */, + B1D5EEC220BC06CB00983FB6 /* xtsegment_bordor_left@2x.png in Resources */, + B1D5EEC320BC06CB00983FB6 /* task_resource_reference_MergeRequestBean@2x.png in Resources */, + B1D5EEC420BC06CB00983FB6 /* icon_file_folder_out@2x.png in Resources */, + B1D5EEC520BC06CB00983FB6 /* messageProjectFollows@2x.png in Resources */, + B1D5EEC620BC06CB00983FB6 /* tweet_btn_comment@2x.png in Resources */, + B1D5EEC720BC06CB00983FB6 /* blankpage_image_ShopOrder@3x.png in Resources */, + B1D5EEC820BC06CB00983FB6 /* banner__page_unselected@2x.png in Resources */, + B1D5EEC920BC06CB00983FB6 /* mrpr_icon_status_accepted@2x.png in Resources */, + B1D5EECA20BC06CB00983FB6 /* icon_file_ai@2x.png in Resources */, + B1D5EECB20BC06CB00983FB6 /* PR_plus@3x.png in Resources */, + B16E6DC420C149350076026D /* intro_dot_light_unselected@2x.png in Resources */, + B1D5EECC20BC06CB00983FB6 /* user_info_tweet@2x.png in Resources */, + B1D5EECD20BC06CB00983FB6 /* coding_emoji_21@2x.png in Resources */, + B1D5EECE20BC06CB00983FB6 /* bubble_left_play_2@2x.png in Resources */, + B1D5EECF20BC06CB00983FB6 /* task_resource_reference_Task@3x.png in Resources */, + B1D5EED020BC06CB00983FB6 /* PR_add_watcher@2x.png in Resources */, + B1D5EED120BC06CB00983FB6 /* file_menu_icon_delete@2x.png in Resources */, + B1D5EED220BC06CB00983FB6 /* button_red_close@3x.png in Resources */, + B1D5EED320BC06CB00983FB6 /* PR_merge@3x.png in Resources */, + B16E6DD320C149440076026D /* intro_page1_ip4@2x.png in Resources */, + B1D5EED420BC06CB00983FB6 /* coding_emoji_25@2x.png in Resources */, + B1D5EED520BC06CB00983FB6 /* keyboard_arrow_down@2x.png in Resources */, + B1D5EED620BC06CB00983FB6 /* taskResourceReference@3x.png in Resources */, + B1D5EED720BC06CB00983FB6 /* tag_button_add@2x.png in Resources */, + B16E6CC120C13F5F0076026D /* btn_project_added@3x.png in Resources */, + B1D5EED820BC06CB00983FB6 /* tweetsBtn_Nav@3x.png in Resources */, + B1D5EED920BC06CB00983FB6 /* icon_branch_protected@2x.png in Resources */, + B1D5EEDA20BC06CB00983FB6 /* taskboard_normal_page_selected@2x.png in Resources */, + B1D5EEDB20BC06CB00983FB6 /* user_info_about@2x.png in Resources */, + B1D5EEDC20BC06CB00983FB6 /* icon_branch_protected@3x.png in Resources */, + B1D5EEDE20BC06CB00983FB6 /* task_activity_icon_create@2x.png in Resources */, + B1D5EEDF20BC06CB00983FB6 /* button_file_download_unable@2x.png in Resources */, + B1D5EEE020BC06CB00983FB6 /* btn_setFrequent@2x.png in Resources */, + B1D5EEE120BC06CB00983FB6 /* task_activity_icon_remove_watcher@3x.png in Resources */, + B1D5EEE220BC06CB00983FB6 /* markdown.html in Resources */, + B1D5EEE320BC06CB00983FB6 /* code_release_resource_ProjectTopic@3x.png in Resources */, + B1D5EEE420BC06CB00983FB6 /* diff-ios.html in Resources */, + B1D5EEE520BC06CB00983FB6 /* little_phone_icon@2x.png in Resources */, + B1D5EEE620BC06CB00983FB6 /* share_btn_sina@2x.png in Resources */, + B1D5EEE820BC06CB00983FB6 /* icon_file_pdf@2x.png in Resources */, + B16E6DD120C149440076026D /* intro_page2_ip6+@3x.png in Resources */, + B1D5EEE920BC06CB00983FB6 /* tipIcon_TweetComment@2x.png in Resources */, + B1D5EEEA20BC06CB00983FB6 /* blankpage_image_LoadFail@3x.png in Resources */, + B1D5EEEB20BC06CB00983FB6 /* taskboard_add_page_unselected@2x.png in Resources */, + B1D5EEEC20BC06CB00983FB6 /* PR_grant_undo@2x.png in Resources */, + B1D5EEED20BC06CB00983FB6 /* back_green_Nav@2x.png in Resources */, + B1D5EEEE20BC06CB00983FB6 /* file_changeType_COPY@2x.png in Resources */, + B16E6CF020C147490076026D /* team_bg@2x.png in Resources */, + B1D5EEEF20BC06CB00983FB6 /* shop_exchange_icon@2x.png in Resources */, + B1D5EEF020BC06CB00983FB6 /* timeBtn_Nav@3x.png in Resources */, + B1D5EEF120BC06CB00983FB6 /* close@2x.png in Resources */, + B1D5EEF220BC06CB00983FB6 /* PR_update_content@3x.png in Resources */, + B1D5EEF320BC06CB00983FB6 /* user_info_detail@2x.png in Resources */, + B1D5EEF420BC06CB00983FB6 /* vip_4_45@2x.png in Resources */, + B1D5EEF520BC06CB00983FB6 /* icon_recommended@2x.png in Resources */, + B1D5EEF620BC06CB00983FB6 /* icon_file_doc@2x.png in Resources */, + B1D5EEF720BC06CB00983FB6 /* hot_topic_Nav@3x.png in Resources */, + B1D5EEF820BC06CB00983FB6 /* EACodeReleaseListCell.xib in Resources */, + B1D5EEF920BC06CB00983FB6 /* user_info_setup@3x.png in Resources */, + B1D5EEFA20BC06CB00983FB6 /* tipIcon_ProjectTweet@2x.png in Resources */, + B16E6D1420C147770076026D /* team_cell_edit_team@2x.png in Resources */, + B1D5EEFB20BC06CB00983FB6 /* share_Nav@2x.png in Resources */, + B1D5EEFC20BC06CB00983FB6 /* tipIcon_User@2x.png in Resources */, + B1D5EEFD20BC06CB00983FB6 /* taskPriority0_small@2x.png in Resources */, + B1D5EEFE20BC06CB00983FB6 /* file_changeType_COPY@3x.png in Resources */, + B1D5EEFF20BC06CB00983FB6 /* btn_project_quit@2x.png in Resources */, + B1D5EF0020BC06CB00983FB6 /* member_type_100@2x.png in Resources */, + B1D5EF0120BC06CB00983FB6 /* dismissBtn_Nav@2x.png in Resources */, + B1D5EF0220BC06CB00983FB6 /* coding_emoji_38@2x.png in Resources */, + B1D5EF0320BC06CB00983FB6 /* keyboard_emotion_emoji@2x.png in Resources */, + B1D5EF0420BC06CB00983FB6 /* taskOwner@2x.png in Resources */, + B1D5EF0520BC06CB00983FB6 /* task_activity_icon_commit_refer@2x.png in Resources */, + B1D5EF0620BC06CB00983FB6 /* project_item_file@3x.png in Resources */, + B1D5EF0720BC06CB00983FB6 /* btn_followed_yes@2x.png in Resources */, + B1D5EF0820BC06CB00983FB6 /* btn_project_add@2x.png in Resources */, + B1D5EF0920BC06CB00983FB6 /* project_item_activity@2x.png in Resources */, + B1D5EF0A20BC06CB00983FB6 /* tips_menu_icon_status@2x.png in Resources */, + B1D5EF0B20BC06CB00983FB6 /* task_selected@2x.png in Resources */, + B1D5EF0C20BC06CB00983FB6 /* project_item_code@3x.png in Resources */, + B1D5EF0D20BC06CB00983FB6 /* terminal_tail@2x.png in Resources */, + B1D5EF0E20BC06CB00983FB6 /* PR_add_reviewer@2x.png in Resources */, + B16E6CDE20C145BF0076026D /* quick_menu_icon_message@3x.png in Resources */, + B1D5EF0F20BC06CB00983FB6 /* PR_push@3x.png in Resources */, + B1D5EF1020BC06CB00983FB6 /* shop_coding_coin_icon@3x.png in Resources */, + B1D5EF1220BC06CB00983FB6 /* project_tag_icon@3x.png in Resources */, + B1D5EF1320BC06CB00983FB6 /* code_lang.plist in Resources */, + B1D5EF1420BC06CB00983FB6 /* logo_coding@2x.png in Resources */, + B1D5EF1520BC06CB00983FB6 /* user_info_project@2x.png in Resources */, + B1D5EF1620BC06CB00983FB6 /* button_file_createFolder_unable@3x.png in Resources */, + B1D5EF1720BC06CB00983FB6 /* icon_project_cell_setNormal@2x.png in Resources */, + B1D5EF1820BC06CB00983FB6 /* search_Nav@3x.png in Resources */, + B1D5EF1920BC06CB00983FB6 /* keyboard_emotion_monkey@2x.png in Resources */, + B1D5EF1A20BC06CB00983FB6 /* icon_file_ppt_big@2x.png in Resources */, + B1D5EF1B20BC06CB00983FB6 /* calendar_0xA1CF64@2x.png in Resources */, + B1DFD0A620C67D3F00F75F2F /* btn_followed_both@3x.png in Resources */, + B1D5EF1C20BC06CB00983FB6 /* blankpage_image_File@3x.png in Resources */, + B1D5EF1D20BC06CB00983FB6 /* SVWebViewControllerActivityChrome-iPad.png in Resources */, + B1D5EF1E20BC06CB00983FB6 /* settingBtn_Nav@3x.png in Resources */, + B1D5EF1F20BC06CB00983FB6 /* PR_del_watcher@3x.png in Resources */, + B1D5EF2020BC06CB00983FB6 /* tweet_btn_comment@3x.png in Resources */, + B1D5EF2120BC06CB00983FB6 /* task_activity_icon_update_deadline@3x.png in Resources */, + B1D5EF2220BC06CB00983FB6 /* close@3x.png in Resources */, + B16E6DCA20C1493A0076026D /* intro_icon_file_up.gif in Resources */, + B1D5EF2320BC06CB00983FB6 /* coding_emoji_14@2x.png in Resources */, + B1D5EF2420BC06CB00983FB6 /* taskboard_normal_page_unselected@2x.png in Resources */, + B1D5EF2520BC06CB00983FB6 /* loading_monkey@2x.gif in Resources */, + B16E6CDC20C145BF0076026D /* quick_menu_icon_message@2x.png in Resources */, + B1D5EF2620BC06CB00983FB6 /* search_icon_topic@3x.png in Resources */, + B1D5EF2720BC06CB00983FB6 /* pop_User@3x.png in Resources */, + B1D5EF2820BC06CB00983FB6 /* taskPriority2_small@3x.png in Resources */, + B1D5EF2920BC06CB00983FB6 /* project_tag_btn@3x.png in Resources */, + B1D5EF2A20BC06CB00983FB6 /* task_resource_reference_Task@2x.png in Resources */, + B1D5EF2B20BC06CB00983FB6 /* tips_menu_icon_mkread@2x.png in Resources */, + B1D5EF2C20BC06CB00983FB6 /* coding_emoji_15@2x.png in Resources */, + B1D5EF2D20BC06CB00983FB6 /* shortcut_task@2x.png in Resources */, + B1D5EF2E20BC06CB00983FB6 /* terminal_triangle@2x.png in Resources */, + B1D5EF2F20BC06CB00983FB6 /* topic_comment_icon@3x.png in Resources */, + B1D5EF3020BC06CB00983FB6 /* placeholder_monkey_round_40@2x.png in Resources */, + B1D5EF3120BC06CB00983FB6 /* PR_merge@2x.png in Resources */, + B1D5EF3220BC06CB00983FB6 /* tweet_btn_like@2x.png in Resources */, + B1D5EF3320BC06CB00983FB6 /* PR_update@2x.png in Resources */, + B1D5EF3420BC06CB00983FB6 /* login_email@2x.png in Resources */, + B1D5EF3520BC06CB00983FB6 /* tweetBtn_Nav@3x.png in Resources */, + B1D5EF3620BC06CB00983FB6 /* mrpr_icon_status_refused@3x.png in Resources */, + B1D5EF3720BC06CB00983FB6 /* login_wechat@3x.png in Resources */, + B1D5EF3820BC06CB00983FB6 /* ReleaseNotes.txt in Resources */, + B1D5EF3920BC06CB00983FB6 /* PR_update_content@2x.png in Resources */, + B1D5EF3A20BC06CB00983FB6 /* ReviewerListController.xib in Resources */, + B16E6D0A20C147770076026D /* team_info_sup@2x.png in Resources */, + B1D5EF3B20BC06CB00983FB6 /* file_activity_icon_create@3x.png in Resources */, + B1D5EF3C20BC06CB00983FB6 /* tipIcon_MergeRequestComment@2x.png in Resources */, + B1D5EF3D20BC06CB00983FB6 /* private_message_send_fail@2x.png in Resources */, + B1D5EF3E20BC06CB00983FB6 /* terminal_box_unselected@2x.png in Resources */, + B1D5EF3F20BC06CB00983FB6 /* keyboard_at@2x.png in Resources */, + B1D5EF4020BC06CB00983FB6 /* coding_emoji_13@2x.png in Resources */, + B1D5EF4120BC06CB00983FB6 /* blankpage_image_Wiki@2x.png in Resources */, + B1D5EF4220BC06CB00983FB6 /* PR_update_title@2x.png in Resources */, + B1D5EF4320BC06CB00983FB6 /* project_item_task@2x.png in Resources */, + B1D5EF4420BC06CB00983FB6 /* icon_file_apk_big@2x.png in Resources */, + B1D5EF4520BC06CB00983FB6 /* file_menu_icon_share@2x.png in Resources */, + B1D5EF4620BC06CB00983FB6 /* btn_delete_tweetimage@2x.png in Resources */, + B1D5EF4720BC06CB00983FB6 /* task_activity_icon_commit_refer@3x.png in Resources */, + B1D5EF4820BC06CB00983FB6 /* icon_code_executable@3x.png in Resources */, + B1D5EF4920BC06CB00983FB6 /* calendar_0x59A2FF@3x.png in Resources */, + B1D5EF4A20BC06CB00983FB6 /* task_activity_icon_create@3x.png in Resources */, + B1D5EF4B20BC06CB00983FB6 /* icon_file_cell_move@2x.png in Resources */, + B1D5EF4C20BC06CB00983FB6 /* mrpr_icon_status_cannotmerge@3x.png in Resources */, + B1D5EF4D20BC06CB00983FB6 /* member_cell_edit_alias@3x.png in Resources */, + B1D5EF4E20BC06CB00983FB6 /* icon_file_cell_rename@2x.png in Resources */, + B1D5EF4F20BC06CB00983FB6 /* PR_grant@3x.png in Resources */, + B1D5EF5020BC06CB00983FB6 /* coding_emoji_03@2x.png in Resources */, + B1D5EF5120BC06CB00983FB6 /* cell_checkmark@3x.png in Resources */, + B1D5EF5220BC06CB00983FB6 /* taskWatchers@2x.png in Resources */, + B1D5EF5320BC06CB00983FB6 /* icon_file_psd@2x.png in Resources */, + B1D5EF5420BC06CB00983FB6 /* sex_man_icon@2x.png in Resources */, + B1D5EF5520BC06CB00983FB6 /* file_changeType_DELETE@2x.png in Resources */, + B1D5EF5620BC06CB00983FB6 /* button_file_move_unable@3x.png in Resources */, + B16E6D1820C147770076026D /* team_cell_edit_delete@2x.png in Resources */, + B1D5EF5720BC06CB00983FB6 /* button_file_history@3x.png in Resources */, + B1D5EF5820BC06CB00983FB6 /* shortcut_2FA@2x.png in Resources */, + B1D5EF5920BC06CB00983FB6 /* button_file_download_enable@3x.png in Resources */, + B1D5EF5A20BC06CB00983FB6 /* icon_file_ai_big@2x.png in Resources */, + B1D5EF5B20BC06CB00983FB6 /* tipIcon_ProjectPayment@2x.png in Resources */, + B1D5EF5C20BC06CB00983FB6 /* MIDAUTUMNIMAGE.jpg in Resources */, + B1D5EF5D20BC06CB00983FB6 /* calendar_0xA9B3BE@2x.png in Resources */, + B1D5EF5E20BC06CB00983FB6 /* project_item_topic@3x.png in Resources */, + B1D5EF5F20BC06CB00983FB6 /* service_terms.html in Resources */, + B1D5EF6020BC06CB00983FB6 /* task_activity_icon_update_priority@2x.png in Resources */, + B1D5EF6120BC06CB00983FB6 /* icon_search_searchbar@3x.png in Resources */, + B1D5EF6220BC06CB00983FB6 /* keyboard_voice@2x.png in Resources */, + B1DFD0A220C67D3F00F75F2F /* btn_followed_yes@3x.png in Resources */, + B1D5EF6320BC06CB00983FB6 /* search_icon_project@3x.png in Resources */, + B16E6DE120C1494B0076026D /* icon_user_monkey@3x.png in Resources */, + B1D5EF6420BC06CB00983FB6 /* button_close@3x.png in Resources */, + B1D5EF6520BC06CB00983FB6 /* btn_followed_not@2x.png in Resources */, + B1D5EF6720BC06CB00983FB6 /* mrpr_icon_fileChange@2x.png in Resources */, + B1D5EF6820BC06CB00983FB6 /* task_activity_icon_finish@2x.png in Resources */, + B1D5EF6920BC06CB00983FB6 /* vip_4_40@2x.png in Resources */, + B1D5EF6A20BC06CB00983FB6 /* taskDeadline@3x.png in Resources */, + B1D5EF6B20BC06CB00983FB6 /* button_arrow_left@2x.png in Resources */, + B1D5EF6C20BC06CB00983FB6 /* taskProgress@2x.png in Resources */, + B1D5EF6D20BC06CB00983FB6 /* tweetBtn_Nav@2x.png in Resources */, + B1D5EF6E20BC06CB00983FB6 /* bubble_left_play_1@2x.png in Resources */, + B1D5EF6F20BC06CB00983FB6 /* placeholder_monkey_round_54@2x.png in Resources */, + B1D5EF7020BC06CB00983FB6 /* tweet_btn_rewarded@3x.png in Resources */, + B1D5EF7120BC06CB00983FB6 /* vip_4_75@2x.png in Resources */, + B1D5EF7220BC06CB00983FB6 /* task_activity_icon_update_deadline@2x.png in Resources */, + B1D5EF7320BC06CB00983FB6 /* TweetSendDetailLoctionCell.xib in Resources */, + B1D5EF7420BC06CB00983FB6 /* project_item_readme@3x.png in Resources */, + B16E6CB420C13BF50076026D /* btn_next_enable@2x.png in Resources */, + B1D5EF7520BC06CB00983FB6 /* icon_file_doc_big@2x.png in Resources */, + B16E6D1020C147770076026D /* team_info_sup@3x.png in Resources */, + B1D5EF7620BC06CB00983FB6 /* icon_locationed@2x.png in Resources */, + B1D5EF7720BC06CB00983FB6 /* tip_normal_Nav@3x.png in Resources */, + B1D5EF7820BC06CB00983FB6 /* tweet_btn_like@3x.png in Resources */, + B1D5EF7920BC06CB00983FB6 /* icon_project_cell_nopin@2x.png in Resources */, + B16E6CA720C13BA20076026D /* btn_dismiss@3x.png in Resources */, + B1D5EF7A20BC06CB00983FB6 /* coding_emoji_39@2x.png in Resources */, + B1D5EF7C20BC06CB00983FB6 /* coding_emoji_08@2x.png in Resources */, + B1D5EF7D20BC06CB00983FB6 /* tweet_btn_liked@2x.png in Resources */, + B1D5EF7E20BC06CB00983FB6 /* FileInfoViewController.xib in Resources */, + B1D5EF7F20BC06CB00983FB6 /* register_step_un@3x.png in Resources */, + B1D5EF8020BC06CB00983FB6 /* blankpage_image_Task@3x.png in Resources */, + B1D5EF8120BC06CB00983FB6 /* TweetSendCreateLocationCell.xib in Resources */, + B1D5EF8320BC06CB00983FB6 /* coding_emoji_36@2x.png in Resources */, + B1D5EF8420BC06CB00983FB6 /* n_btn_followed_yes@2x.png in Resources */, + B1D5EF8520BC06CB00983FB6 /* store_icon@2x.png in Resources */, + B1D5EF8620BC06CB00983FB6 /* vip_4_75@3x.png in Resources */, + B1D5EF8720BC06CB00983FB6 /* button_tip_notice@2x.png in Resources */, + B1D5EF8820BC06CB00983FB6 /* addPictureBgImage@2x.png in Resources */, + B16E6D0620C147770076026D /* team_info_order@2x.png in Resources */, + B1D5EF8920BC06CB00983FB6 /* PRReviewer@3x.png in Resources */, + B1D5EF8A20BC06CB00983FB6 /* button_tip_notice@3x.png in Resources */, + B1D5EF8B20BC06CB00983FB6 /* password_look@2x.png in Resources */, + B1D5EF8C20BC06CB00983FB6 /* SVWebViewControllerActivityReport-iPad@2x.png in Resources */, + B1D5EF8D20BC06CB00983FB6 /* PointLikeHead@3x.png in Resources */, + B1D5EF8E20BC06CB00983FB6 /* btn_file_reDo@2x.png in Resources */, + B1D5EF8F20BC06CB00983FB6 /* vip_4_30@2x.png in Resources */, + B1D5EF9020BC06CB00983FB6 /* mrpr_icon_fileChange@3x.png in Resources */, + B1D5EF9120BC06CB00983FB6 /* project_item_reading@3x.png in Resources */, + B1D5EF9220BC06CB00983FB6 /* icon_code_executable@2x.png in Resources */, + B1D5EF9320BC06CB00983FB6 /* user_info_company@3x.png in Resources */, + B1D5EF9420BC06CB00983FB6 /* upgrade_success@2x.png in Resources */, + B1D5EF9520BC06CB00983FB6 /* pop_Tweet@2x.png in Resources */, + B1D5EF9620BC06CB00983FB6 /* taskPriority1@2x.png in Resources */, + B1D5EF9720BC06CB00983FB6 /* search_icon_pr@2x.png in Resources */, + B1D5EF9820BC06CB00983FB6 /* logo_about@2x.png in Resources */, + B1D5EF9920BC06CB00983FB6 /* button_file_upload_enable@2x.png in Resources */, + B16E6DDC20C149440076026D /* intro_page0_ip6@2x.png in Resources */, + B1D5EF9A20BC06CB00983FB6 /* share_btn_qq@2x.png in Resources */, + B1D5EF9B20BC06CB00983FB6 /* PR_review@2x.png in Resources */, + B1D5EF9C20BC06CB00983FB6 /* pop_Message@2x.png in Resources */, + B1D5EF9D20BC06CB00983FB6 /* terminal_box_selected@2x.png in Resources */, + B1D5EF9E20BC06CB00983FB6 /* git_icon_watch@2x.png in Resources */, + B1D5EF9F20BC06CB00983FB6 /* icon_file_pdf_big@2x.png in Resources */, + B1D5EFA120BC06CB00983FB6 /* placeholder_coding_square_80@2x.png in Resources */, + B1D5EFA220BC06CB00983FB6 /* mrpr_icon_status_cannotmerge@2x.png in Resources */, + B1D5EFA420BC06CB00983FB6 /* loading_loop@2x.png in Resources */, + B1D5EFA520BC06CB00983FB6 /* code_release_resource_Task@3x.png in Resources */, + B1D5EFA620BC06CB00983FB6 /* PR_refuse@2x.png in Resources */, + B1D5EFA720BC06CB00983FB6 /* icon_topic_hotTop@2x.png in Resources */, + B1D5EFA820BC06CB00983FB6 /* wiki_revert@3x.png in Resources */, + B1D5EFA920BC06CB00983FB6 /* share_btn_qzone@2x.png in Resources */, + B1D5EFAA20BC06CB00983FB6 /* project_tag_btn@2x.png in Resources */, + B1D5EFAB20BC06CB00983FB6 /* tipIcon_BranchMember@2x.png in Resources */, + B1D5EFAC20BC06CB00983FB6 /* messageRight_bg_highlight_img@2x.png in Resources */, + B1D5EFAD20BC06CB00983FB6 /* tipIcon_PullRequestBean@2x.png in Resources */, + B1D5EFAE20BC06CB00983FB6 /* btn_privateMsg_friend@2x.png in Resources */, + B16E6CB620C13BF50076026D /* btn_next_enable@3x.png in Resources */, + B1D5EFAF20BC06CB00983FB6 /* btn_file_cancel@2x.png in Resources */, + B1D5EFB020BC06CB00983FB6 /* task_activity_icon_restore@3x.png in Resources */, + B1D5EFB120BC06CB00983FB6 /* user_info_file@3x.png in Resources */, + B1C60C8F20BFF7950073D3CA /* ProjectTypeExplanationViewController.xib in Resources */, + B1D5EFB220BC06CB00983FB6 /* shop_coding_coin_icon@2x.png in Resources */, + B1D5EFB320BC06CB00983FB6 /* shortcut_task@3x.png in Resources */, + B1D5EFB520BC06CB00983FB6 /* taskPriority1_small@3x.png in Resources */, + B1D5EFB620BC06CB00983FB6 /* tasks_all@3x.png in Resources */, + B16E6CEA20C145BF0076026D /* quick_menu_icon_project@2x.png in Resources */, + B1D5EFB720BC06CB00983FB6 /* coding_emoji_09@2x.png in Resources */, + B1D5EFB820BC06CB00983FB6 /* map_annotation@2x.png in Resources */, + B1D5EFB920BC06CB00983FB6 /* code_release_resource_MergeRequestBean@2x.png in Resources */, + B1D5EFBA20BC06CB00983FB6 /* task_resource_reference_ProjectTopic@2x.png in Resources */, + B1D5EFBB20BC06CB00983FB6 /* task_activity_icon_update@2x.png in Resources */, + B1D5EFBC20BC06CB00983FB6 /* button_file_activity@3x.png in Resources */, + B1D5EFBD20BC06CB00983FB6 /* coding_emoji_41@2x.png in Resources */, + B1D5EFBE20BC06CB00983FB6 /* project_item_task@3x.png in Resources */, + B1D5EFBF20BC06CB00983FB6 /* icon_code_image@2x.png in Resources */, + B1D5EFC020BC06CB00983FB6 /* icon_file_xls_big@2x.png in Resources */, + B16E6CD120C144930076026D /* done_un_Nav@3x.png in Resources */, + B1D5EFC120BC06CB00983FB6 /* user_info_topic@3x.png in Resources */, + B1D5EFC220BC06CB00983FB6 /* task_activity_icon_remove_watcher@2x.png in Resources */, + B1D5EFC320BC06CB00983FB6 /* project_item_reading@2x.png in Resources */, + B1D5EFC420BC06CB00983FB6 /* shop_nar_history_icon@2x.png in Resources */, + B1D5EFC520BC06CB00983FB6 /* taskPriority3_small@2x.png in Resources */, + B1D5EFC620BC06CB00983FB6 /* coding_emoji_18@2x.png in Resources */, + B1D5EFC720BC06CB00983FB6 /* user_info_about@3x.png in Resources */, + B1D5EFC820BC06CB00983FB6 /* WeiboSDK.bundle in Resources */, + B1D5EFC920BC06CB00983FB6 /* EAPayViewController.xib in Resources */, + B1D5EFCA20BC06CB00983FB6 /* calendar_0xA1CF64@3x.png in Resources */, + B16E6CE620C145BF0076026D /* quick_menu_icon_2fa@3x.png in Resources */, + B15C98B120D39CA200DDA425 /* project_icon_edit@2x.png in Resources */, + B1D5EFCB20BC06CB00983FB6 /* user_info_file@2x.png in Resources */, + B1D5EFCC20BC06CB00983FB6 /* ShopSwitchCell.xib in Resources */, + B1D5EFCD20BC06CB00983FB6 /* cell_arrow_left@2x.png in Resources */, + B1D5EFCE20BC06CB00983FB6 /* LICENSE in Resources */, + B1D5EFCF20BC06CB00983FB6 /* member_type_90@3x.png in Resources */, + B1D5EFD120BC06CB00983FB6 /* location_checkmark@2x.png in Resources */, + B1D5EFD220BC06CB00983FB6 /* icon_code_tree@2x.png in Resources */, + B1D5EFD320BC06CB00983FB6 /* nav_project_task@2x.png in Resources */, + B1D5EFD420BC06CB00983FB6 /* calendar_0xF68435@2x.png in Resources */, + B1D5EFD520BC06CB00983FB6 /* share_btn_evernote@2x.png in Resources */, + B1D5EFD620BC06CB00983FB6 /* project_item_branch@2x.png in Resources */, + B1D5EFD720BC06CB00983FB6 /* PR_push@2x.png in Resources */, + B1D5EFD820BC06CB00983FB6 /* vip_4_45@3x.png in Resources */, + B1D5EFD920BC06CB00983FB6 /* tipIcon_ProjectTopicCommentVote@2x.png in Resources */, + B1D5EFDB20BC06CB00983FB6 /* icon_file_share_logo@3x.png in Resources */, + B1D5EFDC20BC06CB00983FB6 /* calendar_0xF68435@3x.png in Resources */, + B1D5EFDD20BC06CB00983FB6 /* file_activity_icon_create@2x.png in Resources */, + B1D5EFDE20BC06CB00983FB6 /* tasks_all@2x.png in Resources */, + B1D5EFDF20BC06CB00983FB6 /* EACodeReleaseTopCell.xib in Resources */, + B1D5EFE020BC06CB00983FB6 /* merge-request coding@2x.png in Resources */, + B1C60CAC20C0FC750073D3CA /* Launch Screen_E.xib in Resources */, + B1D5EFE120BC06CB00983FB6 /* file_changeType_ADD@3x.png in Resources */, + B1D5EFE220BC06CB00983FB6 /* calendar_0xA9B3BE@3x.png in Resources */, + B1D5EFE320BC06CB00983FB6 /* messageLeft_bg_highlight_img@2x.png in Resources */, + B1D5EFE420BC06CB00983FB6 /* PR_update@3x.png in Resources */, + B1D5EFE520BC06CB00983FB6 /* nav_project_topic@2x.png in Resources */, + B1D5EFE620BC06CB00983FB6 /* share_btn_wxtimeline@2x.png in Resources */, + B1D5EFE720BC06CB00983FB6 /* icon_file_zip@2x.png in Resources */, + B1D5EFE820BC06CB00983FB6 /* me_normal@3x.png in Resources */, + B1D5EFE920BC06CB00983FB6 /* pop_Project@2x.png in Resources */, + B1D5EFEB20BC06CB00983FB6 /* logo_coding_top@2x.png in Resources */, + B1D5EFEC20BC06CB00983FB6 /* tipIcon_ProjectTweetComment@2x.png in Resources */, + B1D5EFED20BC06CB00983FB6 /* button_file_createFolder_enable@2x.png in Resources */, + B1D5EFEE20BC06CB00983FB6 /* wiki_menu_2@2x.png in Resources */, + B1D5EFEF20BC06CB00983FB6 /* skill_delete@2x.png in Resources */, + B1D5EFF020BC06CB00983FB6 /* calendar_0xF56061@2x.png in Resources */, + B1D5EFF120BC06CB00983FB6 /* project_selected@2x.png in Resources */, + B1D5EFF220BC06CB00983FB6 /* tipIcon_QcTask@2x.png in Resources */, + B1D5EFF320BC06CB00983FB6 /* time_clock_icon@2x.png in Resources */, + B1D5EFF420BC06CB00983FB6 /* tag_button_randomColor@2x.png in Resources */, + B1D5EFF520BC06CB00983FB6 /* blankpage_image_Notice@3x.png in Resources */, + B1D5EFF620BC06CB00983FB6 /* project_item_mr_pr@3x.png in Resources */, + B1D5EFF720BC06CB00983FB6 /* button_tip_close@2x.png in Resources */, + B1D5EFF820BC06CB00983FB6 /* task_activity_icon_reassign@2x.png in Resources */, + B16E6CA120C0FDB50076026D /* logo_coding_top@3x.png in Resources */, + B1D5EFF920BC06CB00983FB6 /* task_resource_reference_ProjectFile@2x.png in Resources */, + B1D5EFFA20BC06CB00983FB6 /* messageAT@2x.png in Resources */, + B1D5EFFB20BC06CB00983FB6 /* tweet_selected@2x.png in Resources */, + B1D5EFFC20BC06CB00983FB6 /* icon_file_code@2x.png in Resources */, + B1D5EFFE20BC06CB00983FB6 /* back_T_Nav@3x.png in Resources */, + B1D5EFFF20BC06CB00983FB6 /* me_selected@2x.png in Resources */, + B1D5F00020BC06CB00983FB6 /* tipIcon_PullRequestComment@2x.png in Resources */, + B1D5F00120BC06CB00983FB6 /* tipIcon_Depot@2x.png in Resources */, + B1D5F00220BC06CB00983FB6 /* cell_checkmark@2x.png in Resources */, + B1D5F00320BC06CB00983FB6 /* PR_add_label@2x.png in Resources */, + B1D5F00520BC06CB00983FB6 /* logo_coding@3x.png in Resources */, + B1D5F00620BC06CB00983FB6 /* PR_del_reviewer@2x.png in Resources */, + B1D5F00720BC06CB00983FB6 /* task_activity_icon_reassign@3x.png in Resources */, + B1D5F00820BC06CB00983FB6 /* placeholder_coding_square_150@2x.png in Resources */, + B1D5F00920BC06CB00983FB6 /* member_cell_edit_remove@2x.png in Resources */, + B1D5F00B20BC06CB00983FB6 /* PR_TaskResource@2x.png in Resources */, + B1D5F00C20BC06CB00983FB6 /* icon_file_share_logo@2x.png in Resources */, + B1D5F00D20BC06CB00983FB6 /* blankpage_image_Notice@2x.png in Resources */, + B1D5F00E20BC06CB00983FB6 /* placeholder_monkey_round_25@2x.png in Resources */, + B16E6CEE20C147490076026D /* team_bg@3x.png in Resources */, + B1D5F00F20BC06CB00983FB6 /* coding_emoji_gif_05@2x.png in Resources */, + B1D5F01020BC06CB00983FB6 /* addBtn_Artboard@3x.png in Resources */, + B1D5F01120BC06CB00983FB6 /* coding_emoji_22@2x.png in Resources */, + B1D5F01220BC06CB00983FB6 /* tweet_btn_rewarded@2x.png in Resources */, + B1D5F01320BC06CB00983FB6 /* button_file_move_enable@2x.png in Resources */, + B1D5F01420BC06CB00983FB6 /* messageSystem@3x.png in Resources */, + B1D5F01520BC06CB00983FB6 /* button_red_close@2x.png in Resources */, + B1D5F01620BC06CB00983FB6 /* blankpage_image_Wiki@3x.png in Resources */, + B1D5F01720BC06CB00983FB6 /* project_tag_icon@2x.png in Resources */, + B1D5F01820BC06CB00983FB6 /* button_terminal@3x.png in Resources */, + B1D5F01920BC06CB00983FB6 /* wiki_menu_0@3x.png in Resources */, + B1D5F01A20BC06CB00983FB6 /* PR_update_title@3x.png in Resources */, + B1D5F01B20BC06CB00983FB6 /* wiki.html in Resources */, + B1D5F01C20BC06CB00983FB6 /* task_activity_icon_update@3x.png in Resources */, + B1D5F01D20BC06CB00983FB6 /* timeline_line_read@2x.png in Resources */, + B1D5F01E20BC06CB00983FB6 /* git_icon_fork@2x.png in Resources */, + B1D5F01F20BC06CB00983FB6 /* tag_button_add@3x.png in Resources */, + B1D5F02020BC06CB00983FB6 /* taskProgress@3x.png in Resources */, + B1D5F02120BC06CB00983FB6 /* taskboard_blankpage@3x.png in Resources */, + B1D5F02320BC06CB00983FB6 /* blankpage_image_Task@2x.png in Resources */, + B1D5F02420BC06CB00983FB6 /* task_activity_icon_update_label@3x.png in Resources */, + B16E6DC620C149350076026D /* intro_dot_light_selected@3x.png in Resources */, + B1D5F02520BC06CB00983FB6 /* search_icon_mr@3x.png in Resources */, + B1D5F02620BC06CB00983FB6 /* blankpage_image_Tweet@3x.png in Resources */, + B1D5F02720BC06CB00983FB6 /* user_info_company@2x.png in Resources */, + B1D5F02820BC06CB00983FB6 /* scan_line@2x.png in Resources */, + B1D5F02920BC06CB00983FB6 /* README.md in Resources */, + B1D5F02A20BC06CB00983FB6 /* icon_file_unknown@2x.png in Resources */, + B1D5F02B20BC06CB00983FB6 /* search_icon_tweet@2x.png in Resources */, + B1D5F02C20BC06CB00983FB6 /* tip_bg@2x.png in Resources */, + B1D5F02D20BC06CB00983FB6 /* SVWebViewControllerActivityChrome-iPad@2x.png in Resources */, + B1D5F02E20BC06CB00983FB6 /* PR_grant@2x.png in Resources */, + B1D5F02F20BC06CB00983FB6 /* settingBtn_Nav@2x.png in Resources */, + B1D5F03020BC06CB00983FB6 /* user_info_topic@2x.png in Resources */, + B1D5F03120BC06CB00983FB6 /* project_item_file@2x.png in Resources */, + B1D5F03220BC06CB00983FB6 /* icon_arrow_searchHistory@2x.png in Resources */, + B16E6CB220C13BF50076026D /* btn_next_unable@3x.png in Resources */, + B1D5F03320BC06CB00983FB6 /* icon_file_movie_big@2x.png in Resources */, + B1D5F03420BC06CB00983FB6 /* icon_file_md_big@2x.png in Resources */, + B1D5F03520BC06CB00983FB6 /* nav_project_member@2x.png in Resources */, + B1D5F03620BC06CB00983FB6 /* blankpage_image_MessageList@2x.png in Resources */, + B1D5F03720BC06CB00983FB6 /* password_unlook@3x.png in Resources */, + B1D5F03820BC06CB00983FB6 /* timeline_icon_unread@3x.png in Resources */, + B16E6CA920C13BA20076026D /* btn_dismiss@2x.png in Resources */, + B1D5F03920BC06CB00983FB6 /* task_activity_icon_add_milestone@3x.png in Resources */, + B16E6DD720C149440076026D /* intro_page_unselected@2x.png in Resources */, + B1D5F03A20BC06CB00983FB6 /* pop_Message@3x.png in Resources */, + B1D5F03B20BC06CB00983FB6 /* EABoardTaskListBlankView.xib in Resources */, + B1D5F03C20BC06CB00983FB6 /* comment_bg@2x.png in Resources */, + B1D5F03D20BC06CB00983FB6 /* button_scan@2x.png in Resources */, + B1D5F03E20BC06CB00983FB6 /* terminal_triangle@3x.png in Resources */, + B1D5F03F20BC06CB00983FB6 /* tweetsBtn_Nav@2x.png in Resources */, + B1D5F04020BC06CB00983FB6 /* coding_emoji_12@2x.png in Resources */, + B1D5F04120BC06CB00983FB6 /* terminal_box_unselected@3x.png in Resources */, + B1D5F04420BC06CB00983FB6 /* terminal_tail@3x.png in Resources */, + B1D5F04520BC06CB00983FB6 /* task_normal@3x.png in Resources */, + B1D5F04620BC06CB00983FB6 /* vip_3_75@2x.png in Resources */, + B16E6DC720C149350076026D /* intro_dot_light_selected@2x.png in Resources */, + B1D5F04720BC06CB00983FB6 /* mock_hotTopiclist.geojson in Resources */, + B1D5F04820BC06CB00983FB6 /* icon_project_cell_pin@2x.png in Resources */, + B1D5F04920BC06CB00983FB6 /* pop_2FA@2x.png in Resources */, + B1D5F04A20BC06CB00983FB6 /* PR_add_reviewer@3x.png in Resources */, + B1D5F04B20BC06CB00983FB6 /* nav_project_file@2x.png in Resources */, + B1D5F04C20BC06CB00983FB6 /* user_info_shop@3x.png in Resources */, + B1D5F04D20BC06CB00983FB6 /* pop_Task@2x.png in Resources */, + B16E6CE020C145BF0076026D /* quick_menu_icon_task@3x.png in Resources */, + B1D5F04E20BC06CB00983FB6 /* section_btn_close@2x.png in Resources */, + B16E6CC320C13F5F0076026D /* btn_project_quit@3x.png in Resources */, + B1D5F04F20BC06CB00983FB6 /* country_code.plist in Resources */, + B1D5F05020BC06CB00983FB6 /* file_menu_icon_info@2x.png in Resources */, + B1D5F05120BC06CB00983FB6 /* coding_emoji_07@2x.png in Resources */, + B1D5F05220BC06CB00983FB6 /* project_item_taskboard@3x.png in Resources */, + B1D5F05320BC06CB00983FB6 /* merge-request coding@3x.png in Resources */, + B1D5F05520BC06CB00983FB6 /* blankpage_image_Team@3x.png in Resources */, + B1D5F05620BC06CB00983FB6 /* mrpr_icon_status_canmerge@2x.png in Resources */, + B16E6DC920C1493A0076026D /* intro_icon_wiki_up.gif in Resources */, + B1D5F05720BC06CB00983FB6 /* blankpage_image_MessageList@3x.png in Resources */, + B1D5F05820BC06CB00983FB6 /* taskPriority1_small@2x.png in Resources */, + B1D5F05920BC06CB00983FB6 /* me_selected@3x.png in Resources */, + B16E6D0C20C147770076026D /* team_info_mem@3x.png in Resources */, + B1D5F05A20BC06CB00983FB6 /* timeBtn_Nav@2x.png in Resources */, + B16E6DC020C1492F0076026D /* intro_dot_dark_unselected@3x.png in Resources */, + B1D5F05B20BC06CB00983FB6 /* bubble_right_play_0@2x.png in Resources */, + B1D5F05C20BC06CB00983FB6 /* ShopMutileValueCell.xib in Resources */, + B1D5F05D20BC06CB00983FB6 /* task_activity_icon_update_priority@3x.png in Resources */, + B1D5F05E20BC06CB00983FB6 /* icon_file_movie@2x.png in Resources */, + B1D5F05F20BC06CB00983FB6 /* file_menu_icon_open@2x.png in Resources */, + B1D5F06020BC06CB00983FB6 /* addBtn_Nav@2x.png in Resources */, + B1D5F06120BC06CB00983FB6 /* messageAT@3x.png in Resources */, + B1D5F06220BC06CB00983FB6 /* search_icon_file@3x.png in Resources */, + B1D5F06420BC06CB00983FB6 /* PR_review@3x.png in Resources */, + B1D5F06520BC06CB00983FB6 /* keyboard_emotion_monkey_gif@2x.png in Resources */, + B1D5F06620BC06CB00983FB6 /* coding_emoji_29@2x.png in Resources */, + B1D5F06720BC06CB00983FB6 /* file_activity_icon_move_file@2x.png in Resources */, + B16E6CCB20C144930076026D /* done_Nav@2x.png in Resources */, + B16E6DDE20C149440076026D /* intro_page0_ip6+@3x.png in Resources */, + B1D5F06820BC06CB00983FB6 /* addBtn_Nav@3x.png in Resources */, + B1D5F06920BC06CB00983FB6 /* vip_3_75@3x.png in Resources */, + B16E6DE020C1494B0076026D /* icon_user_monkey@2x.png in Resources */, + B1D5F06A20BC06CB00983FB6 /* info_Nav@3x.png in Resources */, + B1D5F06B20BC06CB00983FB6 /* terminal_more@2x.png in Resources */, + B1D5F06C20BC06CB00983FB6 /* task_selected@3x.png in Resources */, + B1D5F06D20BC06CB00983FB6 /* blankpage_image_Project@3x.png in Resources */, + B1D5F06E20BC06CB00983FB6 /* keyboard_emotion@2x.png in Resources */, + B1D5F06F20BC06CB00983FB6 /* button_file_history@2x.png in Resources */, + B1D5F07020BC06CB00983FB6 /* wechat@2x.png in Resources */, + B1D5F07120BC06CB00983FB6 /* coding_emoji_43@2x.png in Resources */, + B1D5F07220BC06CB00983FB6 /* tweet_btn_liked@3x.png in Resources */, + B1D5F07320BC06CB00983FB6 /* icon_file_music@2x.png in Resources */, + B1D5F07420BC06CB00983FB6 /* tipIcon_UserFollow@2x.png in Resources */, + B1D5F07520BC06CB00983FB6 /* icon_code_git_link@3x.png in Resources */, + B1D5F07620BC06CB00983FB6 /* file_changeType_RENAME@3x.png in Resources */, + B1D5F07720BC06CB00983FB6 /* member_type_100@3x.png in Resources */, + B1D5F07820BC06CB00983FB6 /* code_release_resource__Default@2x.png in Resources */, + B1D5F07920BC06CB00983FB6 /* button_close@2x.png in Resources */, + B16E6D1C20C147770076026D /* team_cell_edit_pro@2x.png in Resources */, + B1D5F07A20BC06CB00983FB6 /* PR_TaskResource@3x.png in Resources */, + B1D5F07C20BC06CB00983FB6 /* tipIcon_Project@2x.png in Resources */, + B1D5F07D20BC06CB00983FB6 /* icon_code_tree@3x.png in Resources */, + B1D5F07E20BC06CB00983FB6 /* pop_Task@3x.png in Resources */, + B1D5F07F20BC06CB00983FB6 /* tag_button_editColor@2x.png in Resources */, + B1D5F08020BC06CB00983FB6 /* icon_best_answer@3x.png in Resources */, + B1D5F08220BC06CB00983FB6 /* tip_bg@3x.png in Resources */, + B1D5F08320BC06CB00983FB6 /* addUserBtn_Nav@3x.png in Resources */, + B1D5F08420BC06CB00983FB6 /* taskOwner@3x.png in Resources */, + B16E6DDF20C149440076026D /* intro_page2_ip6@2x.png in Resources */, + B1D5F08520BC06CB00983FB6 /* addUserBtn_Nav@2x.png in Resources */, + B1D5F08620BC06CB00983FB6 /* mrpr_icon_status_accepted@3x.png in Resources */, + B1D5F08720BC06CB00983FB6 /* tweet_btn_reward@3x.png in Resources */, + B1D5F08820BC06CB00983FB6 /* member_cell_edit_remove@3x.png in Resources */, + B1D5F08A20BC06CB00983FB6 /* shortcut_tweet@3x.png in Resources */, + B1D5F08B20BC06CB00983FB6 /* coding_emoji_34@2x.png in Resources */, + B1D5F08C20BC06CB00983FB6 /* task_description_icon@3x.png in Resources */, + B1D5F08E20BC06CB00983FB6 /* me_info_arrow_left@2x.png in Resources */, + B1D5F08F20BC06CB00983FB6 /* keyboard_photo@2x.png in Resources */, + B1D5F09020BC06CB00983FB6 /* wechat@3x.png in Resources */, + B1D5F09220BC06CB00983FB6 /* text_clear_btn@2x.png in Resources */, + B16E6DC320C1492F0076026D /* intro_dot_dark_unselected@2x.png in Resources */, + B1D5F09320BC06CB00983FB6 /* task_normal@2x.png in Resources */, + B1D5F09420BC06CB00983FB6 /* icon_file_xls@2x.png in Resources */, + B1D5F09520BC06CB00983FB6 /* coding_emoji_gif_04@2x.png in Resources */, + B1D5F09620BC06CB00983FB6 /* messageProjectFans@2x.png in Resources */, + B1D5F09720BC06CB00983FB6 /* shop_nar_history_icon@3x.png in Resources */, + B16E6CC520C13F5F0076026D /* btn_privateMsg_stranger@3x.png in Resources */, + B1D5F09820BC06CB00983FB6 /* file_changeType_MODIFY@2x.png in Resources */, + B1D5F09920BC06CB00983FB6 /* project_normal@2x.png in Resources */, + B1D5F09A20BC06CB00983FB6 /* reward_tip_logo@2x.png in Resources */, + B1D5F09B20BC06CB00983FB6 /* taskProject@3x.png in Resources */, + B1D5F09C20BC06CB00983FB6 /* user_info_point@3x.png in Resources */, + B16E6D0820C147770076026D /* team_info_order@3x.png in Resources */, + B1D5F20A20BCF6A900983FB6 /* Launch Screen.xib in Resources */, + B1D5F09D20BC06CB00983FB6 /* icon_file_folder_default@2x.png in Resources */, + B1D5F09E20BC06CB00983FB6 /* icon_code_file@3x.png in Resources */, + B1D5F09F20BC06CB00983FB6 /* project_item_readme@2x.png in Resources */, + B1D5F0A020BC06CB00983FB6 /* EACodeBranchListCell.xib in Resources */, + B1D5F0A120BC06CB00983FB6 /* code_release_resource_Default@3x.png in Resources */, + B1D5F0A220BC06CB00983FB6 /* info_Nav@2x.png in Resources */, + B1D5F0A420BC06CB00983FB6 /* file_activity_icon_update_file@3x.png in Resources */, + B1D5F0A520BC06CB00983FB6 /* bubble.html in Resources */, + B1D5F0A620BC06CB00983FB6 /* coding_emoji_gif_06@2x.png in Resources */, + B1D5F0A820BC06CB00983FB6 /* project_item_member@2x.png in Resources */, + B1D5F0A920BC06CB00983FB6 /* tipIcon_Tweet@2x.png in Resources */, + B1D5F0AA20BC06CB00983FB6 /* coding_emoji_04@2x.png in Resources */, + B16E6DD620C149440076026D /* intro_page_selected@2x.png in Resources */, + B1D5F0AB20BC06CB00983FB6 /* nav_tweet_hot@2x.png in Resources */, + B1D5F0AC20BC06CB00983FB6 /* project_item_topic@2x.png in Resources */, + B1D5F0AD20BC06CB00983FB6 /* wiki_menu_1@2x.png in Resources */, + B1D5F0AE20BC06CB00983FB6 /* file_activity_icon_move_file@3x.png in Resources */, + B1D5F0AF20BC06CB00983FB6 /* icon_file_md@2x.png in Resources */, + B1D5F0B020BC06CB00983FB6 /* tweet_normal@2x.png in Resources */, + B1D5F0B120BC06CB00983FB6 /* PR_review_undo@2x.png in Resources */, + B1D5F0B220BC06CB00983FB6 /* blankpage_image_Tweet@2x.png in Resources */, + B16E6DDB20C149440076026D /* intro_page_selected@3x.png in Resources */, + B1D5F0B320BC06CB00983FB6 /* taskBoardList@3x.png in Resources */, + B1D5F0B420BC06CB00983FB6 /* search_tweet_like@2x.png in Resources */, + B1D5F0B520BC06CB00983FB6 /* scan_bg@2x.png in Resources */, + B16E6DCF20C1493A0076026D /* intro_icon_code_down.gif in Resources */, + B1D5F0B620BC06CB00983FB6 /* task_icon_arrow@3x.png in Resources */, + B1D5F0B720BC06CB00983FB6 /* n_btn_followed_not@2x.png in Resources */, + B1D5F0B820BC06CB00983FB6 /* section_btn_open@2x.png in Resources */, + B1D5F0BA20BC06CB00983FB6 /* task_resource_reference_ProjectTopic@3x.png in Resources */, + B1D5F0BB20BC06CB00983FB6 /* skill_delete@3x.png in Resources */, + B1D5F0BD20BC06CB00983FB6 /* button_file_move_unable@2x.png in Resources */, + B1D5F0BE20BC06CB00983FB6 /* mock_topicAdlist.geojson in Resources */, + B1D5F0BF20BC06CB00983FB6 /* placeholder_coding_square_55@2x.png in Resources */, + B1D5F0C020BC06CB00983FB6 /* pop_Project@3x.png in Resources */, + B1D5F0C120BC06CB00983FB6 /* task_activity_icon_remove_milestone@3x.png in Resources */, + B1D5F0C220BC06CB00983FB6 /* button_file_download_unable@3x.png in Resources */, + B1D5F0C320BC06CB00983FB6 /* search_icon_task@2x.png in Resources */, + B1D5F0C420BC06CB00983FB6 /* code_release_resource_Task@2x.png in Resources */, + B1D5F0C520BC06CB00983FB6 /* moreBtn_Nav@3x.png in Resources */, + B1D5F0C620BC06CB00983FB6 /* tweet_comment_btn@3x.png in Resources */, + B1D5F0C720BC06CB00983FB6 /* vip_3_30@2x.png in Resources */, + B1D5F0C820BC06CB00983FB6 /* PR_del_label@3x.png in Resources */, + B1D5F0C920BC06CB00983FB6 /* blankpage_image_Team@2x.png in Resources */, + B1D5F0CA20BC06CB00983FB6 /* icon_release_tag_blue@2x.png in Resources */, + B16E6D1A20C147770076026D /* team_cell_edit_pro@3x.png in Resources */, + B1D5F0CB20BC06CB00983FB6 /* btn_privateMsg_stranger@2x.png in Resources */, + B1D5F0CC20BC06CB00983FB6 /* project_item_wiki@3x.png in Resources */, + B1D5F0CD20BC06CB00983FB6 /* STARTIMAGE.jpg in Resources */, + B1D5F0CE20BC06CB00983FB6 /* messageComment@3x.png in Resources */, + B1D5F0CF20BC06CB00983FB6 /* coding_emoji_02@2x.png in Resources */, + B1D5F0D020BC06CB00983FB6 /* checkbox_checked@2x.png in Resources */, + B1D5F0D120BC06CB00983FB6 /* taskboard_blankpage@2x.png in Resources */, + B1D5F0D220BC06CB00983FB6 /* member_cell_edit_type@3x.png in Resources */, + B1D5F0D320BC06CB00983FB6 /* PR_del_label@2x.png in Resources */, + B1D5F0D420BC06CB00983FB6 /* SVWebViewController.strings in Resources */, + B1D5F0D520BC06CB00983FB6 /* blankpage_image_Topic@3x.png in Resources */, + B1D5F0D720BC06CB00983FB6 /* placeholder_monkey_round_33@2x.png in Resources */, + B1D5F0D820BC06CB00983FB6 /* coding_emoji_30@2x.png in Resources */, + B1D5F0D920BC06CB00983FB6 /* project_item_code@2x.png in Resources */, + B16E6DCD20C1493A0076026D /* intro_icon_file_down.gif in Resources */, + B1D5F0DA20BC06CB00983FB6 /* search_icon_user@3x.png in Resources */, + B1D5F0DB20BC06CB00983FB6 /* code_release_resource_MergeRequestBean@3x.png in Resources */, + B1D5F0DD20BC06CB00983FB6 /* blankpage_image_Default@2x.png in Resources */, + B1D5F0DE20BC06CB00983FB6 /* project_item_tag@2x.png in Resources */, + B1D5F0DF20BC06CB00983FB6 /* PRReviewer@2x.png in Resources */, + B1D5F0E020BC06CB00983FB6 /* login_wechat@2x.png in Resources */, + B1D5F0E120BC06CB00983FB6 /* task_activity_icon_finish@3x.png in Resources */, + B1D5F0E220BC06CB00983FB6 /* taskboard_normal_page_unselected@3x.png in Resources */, + B1D5F0E420BC06CB00983FB6 /* nav_page_selected@2x.png in Resources */, + B1D5F0E520BC06CB00983FB6 /* coding_emoji_28@2x.png in Resources */, + B1D5F0E720BC06CB00983FB6 /* placeholder_monkey_round_50@2x.png in Resources */, + B1D5F0E820BC06CB00983FB6 /* vip_3_45@2x.png in Resources */, + B1D5F0E920BC06CB00983FB6 /* n_sex_man_icon@2x.png in Resources */, + B1D5F0EA20BC06CB00983FB6 /* AppIcon120x120.png in Resources */, + B1D5F0EB20BC06CB00983FB6 /* privatemessage_selected@2x.png in Resources */, + B1D5F0EC20BC06CB00983FB6 /* coding_emoji_gif_07@2x.png in Resources */, + B1D5F0ED20BC06CB00983FB6 /* calendar_0x59A2FF@2x.png in Resources */, + B1D5F0EE20BC06CB00983FB6 /* file_activity_icon_rename@3x.png in Resources */, + B1D5F0EF20BC06CB00983FB6 /* button_file_denete_enable@3x.png in Resources */, + B1D5F0F020BC06CB00983FB6 /* coding_emoji_32@2x.png in Resources */, + B1D5F0F120BC06CB00983FB6 /* coding_emoji_16@2x.png in Resources */, + B1D5F0F220BC06CB00983FB6 /* icon_triangle@3x.png in Resources */, + B1D5F0F320BC06CB00983FB6 /* mrpr_icon_arrow@3x.png in Resources */, + B1D5F0F420BC06CB00983FB6 /* comment_bg@3x.png in Resources */, + B1D5F0F620BC06CB00983FB6 /* btn_followed_both@2x.png in Resources */, + B1D5F0F720BC06CB00983FB6 /* PR_refuse@3x.png in Resources */, + B1D5F0F820BC06CB00983FB6 /* shortcut_tweet@2x.png in Resources */, + B1D5F0F920BC06CB00983FB6 /* vip_3_30@3x.png in Resources */, + B1D5F0FA20BC06CB00983FB6 /* coding_emoji_42@2x.png in Resources */, + B1D5F0FB20BC06CB00983FB6 /* coding_emoji_31@2x.png in Resources */, + B1D5F0FC20BC06CB00983FB6 /* user_info_setup@2x.png in Resources */, + B1D5F0FD20BC06CB00983FB6 /* calendar_0xF56061@3x.png in Resources */, + B16E6CCD20C144930076026D /* done_Nav@3x.png in Resources */, + B1D5F0FE20BC06CB00983FB6 /* blankpage_image_File@2x.png in Resources */, + B1D5F0FF20BC06CB00983FB6 /* icon_add_comment@3x.png in Resources */, + B1D5F10020BC06CB00983FB6 /* button_file_download_enable@2x.png in Resources */, + B1D5F10120BC06CB00983FB6 /* keyboard_page_selected@2x.png in Resources */, + B1D5F10220BC06CB00983FB6 /* taskPriority3@3x.png in Resources */, + B16E6CE820C145BF0076026D /* quick_menu_icon_2fa@2x.png in Resources */, + B1D5F10320BC06CB00983FB6 /* code.html in Resources */, + B1D5F10420BC06CB00983FB6 /* timeline_icon_read@3x.png in Resources */, + B1D5F10520BC06CB00983FB6 /* file_activity_icon_delete_history@3x.png in Resources */, + B1D5F10620BC06CB00983FB6 /* mrpr_icon_commit@2x.png in Resources */, + B1D5F10720BC06CB00983FB6 /* editBoardList@2x.png in Resources */, + B1D5F10820BC06CB00983FB6 /* pop_User@2x.png in Resources */, + B1D5F10920BC06CB00983FB6 /* keyboard_add_photo@2x.png in Resources */, + B1D5F10A20BC06CB00983FB6 /* member_cell_edit_type@2x.png in Resources */, + B1D5F10B20BC06CB00983FB6 /* wiki_menu_icon_delete@2x.png in Resources */, + B1D5F10C20BC06CB00983FB6 /* file_menu_icon_edit@2x.png in Resources */, + B1D5F10D20BC06CB00983FB6 /* AboutPointViewController.xib in Resources */, + B16E6D0E20C147770076026D /* team_info_mem@2x.png in Resources */, + B1D5F10E20BC06CB00983FB6 /* address.json in Resources */, + B1D5F10F20BC06CB00983FB6 /* reward_tip_logo@3x.png in Resources */, + B1D5F11020BC06CB00983FB6 /* code_release_resource_ProjectFile@2x.png in Resources */, + B1D5F11120BC06CB00983FB6 /* share_Nav@3x.png in Resources */, + B1D5F11220BC06CB00983FB6 /* task_activity_icon_add_milestone@2x.png in Resources */, + B1D5F11320BC06CB00983FB6 /* share_btn_copylink@2x.png in Resources */, + B1D5F11420BC06CB00983FB6 /* project_item_branch@3x.png in Resources */, + B1D5F11620BC06CB00983FB6 /* bubble_left_play_0@2x.png in Resources */, + B1D5F11720BC06CB00983FB6 /* little_phone_icon@3x.png in Resources */, + B1D5F11820BC06CB00983FB6 /* icon_file_ppt@2x.png in Resources */, + B1D5F11920BC06CB00983FB6 /* member_type_75@2x.png in Resources */, + B1D5F11A20BC06CB00983FB6 /* icon_search_searchbar@2x.png in Resources */, + B1D5F11B20BC06CB00983FB6 /* register_step_ed@2x.png in Resources */, + B1D5F11C20BC06CB00983FB6 /* project_normal@3x.png in Resources */, + B1D5F11D20BC06CB00983FB6 /* button_terminal@2x.png in Resources */, + B1D5F11E20BC06CB00983FB6 /* privatemessage_normal@2x.png in Resources */, + B1D5F11F20BC06CB00983FB6 /* tipIcon_ProjectMember@2x.png in Resources */, + B1D5F12020BC06CB00983FB6 /* file_activity_icon_rename@2x.png in Resources */, + B1D5F12120BC06CB00983FB6 /* code_release_resource_ProjectTopic@2x.png in Resources */, + B1D5F12220BC06CB00983FB6 /* coding_emoji_17@2x.png in Resources */, + B1D5F12320BC06CB00983FB6 /* messageLeft_bg_img@2x.png in Resources */, + B1D5F12420BC06CB00983FB6 /* search_icon_project@2x.png in Resources */, + B1D5F12520BC06CB00983FB6 /* mrpr_icon_status_cancel@2x.png in Resources */, + B1D5F12620BC06CB00983FB6 /* mrpr_icon_status_cancel@3x.png in Resources */, + B1D5F12720BC06CB00983FB6 /* button_file_createFolder_enable@3x.png in Resources */, + B16E6DD020C149440076026D /* intro_page0_ip5@2x.png in Resources */, + B1D5F12820BC06CB00983FB6 /* PR_mergeChanges@2x.png in Resources */, + B1D5F12920BC06CB00983FB6 /* coding_emoji_20@2x.png in Resources */, + B1D5F12A20BC06CB00983FB6 /* Images.xcassets in Resources */, + B1D5F12B20BC06CB00983FB6 /* task_icon_arrow@2x.png in Resources */, + B1D5F12C20BC06CB00983FB6 /* mrpr_icon_refaused@2x.png in Resources */, + B1D5F12D20BC06CB00983FB6 /* loading_monkey@2x.png in Resources */, + B1D5F12E20BC06CB00983FB6 /* coding_emoji_01@2x.png in Resources */, + B1D5F12F20BC06CB00983FB6 /* taskPriority0@3x.png in Resources */, + B16E6D1620C147770076026D /* team_cell_edit_delete@3x.png in Resources */, + B1D5F13020BC06CB00983FB6 /* taskPriority3_small@3x.png in Resources */, + B1D5F13120BC06CB00983FB6 /* taskResourceReference@2x.png in Resources */, + B1D5F13220BC06CB00983FB6 /* tipIcon_MergeRequestBean@2x.png in Resources */, + B1D5F13320BC06CB00983FB6 /* button_file_denete_enable@2x.png in Resources */, + B1D5F13520BC06CB00983FB6 /* dot_line@2x.png in Resources */, + B1D5F13620BC06CB00983FB6 /* PR_grant_undo@3x.png in Resources */, + B1D5F13720BC06CB00983FB6 /* PR_add_watcher@3x.png in Resources */, + B1D5F13820BC06CB00983FB6 /* coding_emoji_gif_01@2x.png in Resources */, + B1D5F13920BC06CB00983FB6 /* addBtn_Artboard@2x.png in Resources */, + B1D5F13B20BC06CB00983FB6 /* project_item_wiki@2x.png in Resources */, + B1D5F13C20BC06CB00983FB6 /* member_type_90@2x.png in Resources */, + B1D5F13D20BC06CB00983FB6 /* share_btn_inform@2x.png in Resources */, + B1D5F13E20BC06CB00983FB6 /* back_green_Nav@3x.png in Resources */, + B1D5F13F20BC06CB00983FB6 /* README.textile in Resources */, + B1D5F14020BC06CB00983FB6 /* PR_del_reviewer@3x.png in Resources */, + B1D5F14120BC06CB00983FB6 /* search_icon_task@3x.png in Resources */, + B1D5F14220BC06CB00983FB6 /* task_activity_icon_remove_milestone@2x.png in Resources */, + B1D5F14320BC06CB00983FB6 /* checkbox_unchecked@3x.png in Resources */, + B1D5F14420BC06CB00983FB6 /* coding_emoji_06@2x.png in Resources */, + B1D5F14520BC06CB00983FB6 /* button_tip_close@3x.png in Resources */, + B1D5F14620BC06CB00983FB6 /* blankpage_image_ShopOrder@2x.png in Resources */, + B1D5F14720BC06CB00983FB6 /* coding_emoji_40@2x.png in Resources */, + B1D5F14820BC06CB00983FB6 /* blankpage_image_Default@3x.png in Resources */, + B1D5F14920BC06CB00983FB6 /* member_cell_edit_alias@2x.png in Resources */, + B1D5F14A20BC06CB00983FB6 /* messageRight_bg_img@2x.png in Resources */, + B1D5F14B20BC06CB00983FB6 /* project_item_taskboard@2x.png in Resources */, + B1D5F14C20BC06CB00983FB6 /* nav_page_selected@3x.png in Resources */, + B1D5F14D20BC06CB00983FB6 /* terminal_more@3x.png in Resources */, + B16E6CCF20C144930076026D /* done_un_Nav@2x.png in Resources */, + B1D5F14E20BC06CB00983FB6 /* btn_setFrequent@3x.png in Resources */, + B1D5F14F20BC06CB00983FB6 /* tweet_normal@3x.png in Resources */, + B1D5F15020BC06CB00983FB6 /* icon_search_clock@2x.png in Resources */, + B1D5F15120BC06CB00983FB6 /* taskPriority2@2x.png in Resources */, + B1D5F15220BC06CB00983FB6 /* file_activity_icon_upload_file@2x.png in Resources */, + B1D5F15320BC06CB00983FB6 /* tip_normal_Nav@2x.png in Resources */, + B1D5F15420BC06CB00983FB6 /* search_icon_user@2x.png in Resources */, + B16E6DC520C149350076026D /* intro_dot_light_unselected@3x.png in Resources */, + B1D5F15520BC06CB00983FB6 /* button_file_denete_unable@2x.png in Resources */, + B1D5F15620BC06CB00983FB6 /* nav_page_unselected@3x.png in Resources */, + B1D5F15720BC06CB00983FB6 /* EmojisList.plist in Resources */, + B1D5F15820BC06CB00983FB6 /* keyboard_topic@2x.png in Resources */, + B1D5F15920BC06CB00983FB6 /* project_item_tag@3x.png in Resources */, + B1D5F15A20BC06CB00983FB6 /* add_user_icon@2x.png in Resources */, + B1D5F15B20BC06CB00983FB6 /* coding_emoji_11@2x.png in Resources */, + B16E6DDD20C149440076026D /* intro_page2_ip4@2x.png in Resources */, + B1D5F15C20BC06CB00983FB6 /* coding_emoji_gif_02@2x.png in Resources */, + B1D5F15D20BC06CB00983FB6 /* n_sex_woman_icon@2x.png in Resources */, + B1D5F15E20BC06CB00983FB6 /* vip_4_30@3x.png in Resources */, + B1D5F15F20BC06CB00983FB6 /* taskPriority@3x.png in Resources */, + B1D5F16020BC06CB00983FB6 /* tipIcon_TeamMember@2x.png in Resources */, + B1D5F16120BC06CB00983FB6 /* keyboard_emotion_delete@2x.png in Resources */, + B1D5F16220BC06CB00983FB6 /* nav_tweet_friend@2x.png in Resources */, + B1D5F16320BC06CB00983FB6 /* nav_tweet_mine@2x.png in Resources */, + B1D5F16420BC06CB00983FB6 /* shortcut_2FA@3x.png in Resources */, + B1D5F16520BC06CB00983FB6 /* PR_add@3x.png in Resources */, + B1D5F16620BC06CB00983FB6 /* code_release_resource_Zip@3x.png in Resources */, + B1D5F16720BC06CB00983FB6 /* taskboard_add_page_unselected@3x.png in Resources */, + B1D5F16820BC06CB00983FB6 /* blankpage_image_Activity@3x.png in Resources */, + B1D5F16920BC06CB00983FB6 /* pop_Tweet@3x.png in Resources */, + B1D5F16A20BC06CB00983FB6 /* icon_code_image@3x.png in Resources */, + B1D5F16B20BC06CB00983FB6 /* taskboard_normal_page_selected@3x.png in Resources */, + B1D5F16D20BC06CB00983FB6 /* icon_file_txt_big@2x.png in Resources */, + B1D5F16E20BC06CB00983FB6 /* git_icon_stared@2x.png in Resources */, + B1D5F16F20BC06CB00983FB6 /* search_icon_mr@2x.png in Resources */, + B1D5F17020BC06CB00983FB6 /* button_download_cancel@2x.png in Resources */, + B1D5F17120BC06CB00983FB6 /* SVWebViewController.bundle in Resources */, + B1D5F17220BC06CB00983FB6 /* register_step_ed@3x.png in Resources */, + B1D5F17320BC06CB00983FB6 /* keyboard_emotion_emoji_code@2x.png in Resources */, + B1D5F17420BC06CB00983FB6 /* cell_arrow_left@3x.png in Resources */, + B1D5F17520BC06CB00983FB6 /* vip_3_40@2x.png in Resources */, + B1D5F17620BC06CB00983FB6 /* icon_code_git_link@2x.png in Resources */, + B1D5F17720BC06CB00983FB6 /* icon_add_comment@2x.png in Resources */, + B1D5F17920BC06CB00983FB6 /* icon_file_code_big@2x.png in Resources */, + B1D5F17A20BC06CB00983FB6 /* file_changeType_DELETE@3x.png in Resources */, + B1D5F17B20BC06CB00983FB6 /* tweet_more_comment_icon@2x.png in Resources */, + B1D5F17C20BC06CB00983FB6 /* task_activity_icon_add_watcher@2x.png in Resources */, + B1D5F17D20BC06CB00983FB6 /* tipIcon_TweetLike@2x.png in Resources */, + B16E6DCB20C1493A0076026D /* intro_icon_code_up.gif in Resources */, + B1D5F17E20BC06CB00983FB6 /* blankpage_image_LoadFail@2x.png in Resources */, + B1D5F17F20BC06CB00983FB6 /* gif_mark@2x.png in Resources */, + B1D5F18020BC06CB00983FB6 /* icon_file_cell_delete@2x.png in Resources */, + B1D5F18120BC06CB00983FB6 /* blankpage_image_Topic@2x.png in Resources */, + B1D5F18220BC06CB00983FB6 /* MJPhotoBrowser.bundle in Resources */, + B1D5F18320BC06CB00983FB6 /* icon_file_folder_share@2x.png in Resources */, + B1D5F18420BC06CB00983FB6 /* search_icon_pr@3x.png in Resources */, + B1D5F18520BC06CB00983FB6 /* SVWebViewControllerActivityChrome@2x.png in Resources */, + B1D5F18620BC06CB00983FB6 /* taskboard_add_page_selected@3x.png in Resources */, + B1D5F18720BC06CB00983FB6 /* SVWebViewControllerActivitySafari@2x.png in Resources */, + B1D5F18820BC06CB00983FB6 /* editBoardList@3x.png in Resources */, + B1D5F18A20BC06CB00983FB6 /* PR_add@2x.png in Resources */, + B1D5F18B20BC06CB00983FB6 /* tweet_btn_reward@2x.png in Resources */, + B1D5F18C20BC06CB00983FB6 /* project_item_mr_pr@2x.png in Resources */, + B16E6DC220C1492F0076026D /* intro_dot_dark_selected@2x.png in Resources */, + B1D5F18D20BC06CB00983FB6 /* user_info_point@2x.png in Resources */, + B1D5F18E20BC06CB00983FB6 /* btn_fliter_down@2x.png in Resources */, + B1D5F18F20BC06CB00983FB6 /* nav_project_activity@2x.png in Resources */, + B16E6CE420C145BF0076026D /* quick_menu_icon_project@3x.png in Resources */, + B1D5F19020BC06CB00983FB6 /* file_changeType_RENAME@2x.png in Resources */, + B1D5F19120BC06CB00983FB6 /* blankpage_image_Tip@3x.png in Resources */, + B1D5F19220BC06CB00983FB6 /* ProjectSetting.storyboard in Resources */, + B1D5F19320BC06CB00983FB6 /* icon_release_tag@3x.png in Resources */, + B1D5F19420BC06CB00983FB6 /* timeline_icon_unread@2x.png in Resources */, + B1D5F19520BC06CB00983FB6 /* user_info_edit@2x.png in Resources */, + B1D5F19620BC06CB00983FB6 /* AlipaySDK.bundle in Resources */, + B16E6D0220C147770076026D /* team_info_pro@3x.png in Resources */, + B1D5F19720BC06CB00983FB6 /* banner__page_selected@2x.png in Resources */, + B16E6CE220C145BF0076026D /* quick_menu_icon_task@2x.png in Resources */, + B1D5F19820BC06CB00983FB6 /* task_resource_reference_MergeRequestBean@3x.png in Resources */, + B1D5F19920BC06CB00983FB6 /* tipIcon_ProjectFileComment@2x.png in Resources */, + B1D5F19A20BC06CB00983FB6 /* SVWebViewControllerActivitySafari-iPad@2x.png in Resources */, + B1D5F19B20BC06CB00983FB6 /* icon_not_locationed@2x.png in Resources */, + B1D5F19C20BC06CB00983FB6 /* checkbox_unchecked@2x.png in Resources */, + B1D5F19D20BC06CB00983FB6 /* icon_file_psd_big@2x.png in Resources */, + B16E6CB020C13BF50076026D /* btn_next_unable@2x.png in Resources */, + B1D5F19E20BC06CB00983FB6 /* timeline_icon_read@2x.png in Resources */, + B1D5F19F20BC06CB00983FB6 /* topic_add_watcher_btn@3x.png in Resources */, + B1D5F1A020BC06CB00983FB6 /* coding_emoji_27@2x.png in Resources */, + B1D5F1A120BC06CB00983FB6 /* QBImagePicker.strings in Resources */, + B1D5F1A220BC06CB00983FB6 /* icon_file_zip_big@2x.png in Resources */, + B16E6D1220C147770076026D /* team_cell_edit_team@3x.png in Resources */, + B1D5F1A320BC06CB00983FB6 /* messageProjectFollows@3x.png in Resources */, + B1D5F1A420BC06CB00983FB6 /* tipIcon_CommitLineNote@2x.png in Resources */, + B1D5F1A520BC06CB00983FB6 /* wiki_revert@2x.png in Resources */, + B1D5F1A620BC06CB00983FB6 /* search_icon_tweet@3x.png in Resources */, + B1D5F1A720BC06CB00983FB6 /* taskPriority0_small@3x.png in Resources */, + B16E6DD520C149440076026D /* intro_page1_ip6+@3x.png in Resources */, + B1D5F1A820BC06CB00983FB6 /* coding_emoji_24@2x.png in Resources */, + B1D5F1A920BC06CB00983FB6 /* PointLikeHead@2x.png in Resources */, + B1D5F1AA20BC06CB00983FB6 /* coding_emoji_10@2x.png in Resources */, + B1D5F1AB20BC06CB00983FB6 /* me_normal@2x.png in Resources */, + B1D5F1AC20BC06CB00983FB6 /* taskPriority2@3x.png in Resources */, + B1D5F1AD20BC06CB00983FB6 /* blankpage_image_Activity@2x.png in Resources */, + B1DFD0A820C67D3F00F75F2F /* btn_privateMsg_friend@3x.png in Resources */, + B1D5F1AE20BC06CB00983FB6 /* coding_emoji_33@2x.png in Resources */, + B1D5F1AF20BC06CB00983FB6 /* coding_emoji_23@2x.png in Resources */, + B1D5F1B020BC06CB00983FB6 /* taskPriority@2x.png in Resources */, + B1D5F1B120BC06CB00983FB6 /* code_release_resource_ProjectFile@3x.png in Resources */, + B1D5F1B220BC06CB00983FB6 /* tipIcon_Task@2x.png in Resources */, + B1D5F1B320BC06CB00983FB6 /* icon_code_file@2x.png in Resources */, + B1D5F1B420BC06CB00983FB6 /* task_activity_icon_update_description@2x.png in Resources */, + B1D5F1B520BC06CB00983FB6 /* git_icon_star@2x.png in Resources */, + B1D5F1B620BC06CB00983FB6 /* task_description_icon@2x.png in Resources */, + B1D5F1B720BC06CB00983FB6 /* tag_button_editColor@3x.png in Resources */, + B1D5F1B820BC06CB00983FB6 /* moreBtn_Nav@2x.png in Resources */, + B1D5F1BB20BC06CB00983FB6 /* coding_emoji_19@2x.png in Resources */, + B1D5F1BC20BC06CB00983FB6 /* PR_review_undo@3x.png in Resources */, + B1D5F1BD20BC06CB00983FB6 /* taskPriority1@3x.png in Resources */, + B1D5F1BE20BC06CB00983FB6 /* alipay@3x.png in Resources */, + B16E6D0420C147770076026D /* team_info_pro@2x.png in Resources */, + B1D5F1BF20BC06CB00983FB6 /* PR_more@3x.png in Resources */, + B1D5F1C020BC06CB00983FB6 /* share_btn_wxsession@2x.png in Resources */, + B1D5F1C120BC06CB00983FB6 /* task_activity_icon_MergeRequestBean@2x.png in Resources */, + B1D5F1C220BC06CB00983FB6 /* icon_file_txt@2x.png in Resources */, + B1D5F1C320BC06CB00983FB6 /* project_item_member@3x.png in Resources */, + B1D5F1C420BC06CB00983FB6 /* timeline_line_unread@2x.png in Resources */, + B1D5F1C520BC06CB00983FB6 /* tip_2FA@2x.png in Resources */, + B1D5F1C620BC06CB00983FB6 /* PR_add_label@3x.png in Resources */, + B1D5F1C720BC06CB00983FB6 /* back_T_Nav@2x.png in Resources */, + B1D5F1C820BC06CB00983FB6 /* checkbox_checked@3x.png in Resources */, + B1D5F1C920BC06CB00983FB6 /* coding_emoji_05@2x.png in Resources */, + B1D5F1CA20BC06CB00983FB6 /* alipay@2x.png in Resources */, + B1DFD0A420C67D3F00F75F2F /* btn_followed_not@3x.png in Resources */, + B16E6DD820C149440076026D /* intro_page0_ip4@2x.png in Resources */, + B1D5F1CC20BC06CB00983FB6 /* taskPriority0@2x.png in Resources */, + B1D5F1CD20BC06CB00983FB6 /* task_activity_icon_update_label@2x.png in Resources */, + B1D5F1CE20BC06CB00983FB6 /* wiki_menu_2@3x.png in Resources */, + B1D5F1CF20BC06CB00983FB6 /* blankpage_image_Tip@2x.png in Resources */, + B1D5F1D020BC06CB00983FB6 /* keyboard_add_camera@2x.png in Resources */, + B16E6DCE20C1493A0076026D /* intro_icon_task_down.gif in Resources */, + B1D5F1D120BC06CB00983FB6 /* btn_fliter_down@3x.png in Resources */, + B1D5F1D220BC06CB00983FB6 /* topic-ios.html in Resources */, + B1D5F1D320BC06CB00983FB6 /* user_info_help@2x.png in Resources */, + B1D5F1D420BC06CB00983FB6 /* SVWebViewControllerActivitySafari-iPad.png in Resources */, + B1D5F1D520BC06CB00983FB6 /* icon_triangle@2x.png in Resources */, + B1D5F1D620BC06CB00983FB6 /* comment_count_top_line@2x.png in Resources */, + B1D5F1D720BC06CB00983FB6 /* keyboard_voice_record@2x.png in Resources */, + B1D5F1D820BC06CB00983FB6 /* icon_file_music_big@2x.png in Resources */, + B1D5F1D920BC06CB00983FB6 /* password_unlook@2x.png in Resources */, + B1D5F1DA20BC06CB00983FB6 /* coding_emoji_gif_03@2x.png in Resources */, + B1D5F1DB20BC06CB00983FB6 /* mrpr_icon_arrow@2x.png in Resources */, + B1D5F1DC20BC06CB00983FB6 /* vip_3_45@3x.png in Resources */, + B1D5F1DD20BC06CB00983FB6 /* splitlineImg@2x.png in Resources */, + B1D5F1DE20BC06CB00983FB6 /* button_file_move_enable@3x.png in Resources */, + B1D5F1DF20BC06CB00983FB6 /* wiki_menu_0@2x.png in Resources */, + B1D5F1E020BC06CB00983FB6 /* icon_release_tag_blue@3x.png in Resources */, + B1D5F1E120BC06CB00983FB6 /* search_icon_topic@2x.png in Resources */, + B1D5F1E220BC06CB00983FB6 /* file_activity_icon_delete_history@2x.png in Resources */, + B1D5F1E320BC06CB00983FB6 /* icon_file_unknown_big@2x.png in Resources */, + B1D5F1E420BC06CB00983FB6 /* sex_woman_icon@2x.png in Resources */, + B1D5F1E520BC06CB00983FB6 /* privatemessage_selected@3x.png in Resources */, + B1D5F1E620BC06CB00983FB6 /* tipIcon_TaskComment@2x.png in Resources */, + B1D5F1E720BC06CB00983FB6 /* taskDeadline@2x.png in Resources */, + B1D5F1E820BC06CB00983FB6 /* AddReviewerViewController.xib in Resources */, + B1D5F1E920BC06CB00983FB6 /* shop_exchange_icon@3x.png in Resources */, + B1D5F1EA20BC06CB00983FB6 /* vip_3_40@3x.png in Resources */, + B1D5F1EC20BC06CB00983FB6 /* button_file_activity@2x.png in Resources */, + B1D5F1ED20BC06CB00983FB6 /* file_activity_icon_update_file@2x.png in Resources */, + B1D5F1EE20BC06CB00983FB6 /* nav_project_code@2x.png in Resources */, + B1D5F1EF20BC06CB00983FB6 /* user_info_project@3x.png in Resources */, + B1D5F1F020BC06CB00983FB6 /* taskBoardList@2x.png in Resources */, + B1D5F1F120BC06CB00983FB6 /* coding_emoji_gif_08@2x.png in Resources */, + B1D5F1F220BC06CB00983FB6 /* icon_project_private@2x.png in Resources */, + B1D5F1F320BC06CB00983FB6 /* search_Nav@2x.png in Resources */, + B1D5F1F420BC06CB00983FB6 /* terminal_box_selected@3x.png in Resources */, + B1D5F1F520BC06CB00983FB6 /* twoFABtn_Nav@2x.png in Resources */, + B15C98B320D39CA200DDA425 /* project_icon_edit@3x.png in Resources */, + B1D5F1F620BC06CB00983FB6 /* project_selected@3x.png in Resources */, + B1D5F1F720BC06CB00983FB6 /* task_activity_icon_MergeRequestBean@3x.png in Resources */, + B1D5F1F820BC06CB00983FB6 /* tweet_selected@3x.png in Resources */, + B1D5F1F920BC06CB00983FB6 /* taskPriority3@2x.png in Resources */, + B1D5F1FA20BC06CB00983FB6 /* search_icon_file@2x.png in Resources */, + B1D5F1FB20BC06CB00983FB6 /* nav_page_unselected@2x.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -6771,35 +11238,91 @@ runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "/usr/local/bin/carthage copy-frameworks"; + showEnvVarsInLog = 0; }; - B52B540CD39100358CEE8516 /* [CP] Embed Pods Frameworks */ = { + B1D5EBF220BC06CB00983FB6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Coding_iOS-Coding_Enterprise_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Coding_iOS/Pods-Coding_iOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/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# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B7C390DEFD2073480C56FD88 /* [CP] Copy Pods Resources */ = { + B1D5F1FC20BC06CB00983FB6 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 8; files = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Coding_iOS-Coding_Enterprise_iOS/Pods-Coding_iOS-Coding_Enterprise_iOS-resources.sh", + "${PODS_ROOT}/FontAwesome+iOS/Resources/FontAwesome.ttf", + "${PODS_ROOT}/UMengUShare/UShareSDK/UMSocialSDK/UMSocialSDKPromptResources.bundle", + "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle", + "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/Sina/SinaSDK/WeiboSDK.bundle", + "${PODS_ROOT}/evernote-cloud-sdk-ios/ENSDKResources.bundle", ); name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/UMSocialSDKPromptResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TencentOpenApi_IOS_Bundle.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WeiboSDK.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ENSDKResources.bundle", + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Coding_iOS-Coding_Enterprise_iOS/Pods-Coding_iOS-Coding_Enterprise_iOS-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + B1D5F1FE20BC06CB00983FB6 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework", + ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Coding_iOS/Pods-Coding_iOS-resources.sh\"\n"; + shellScript = "/usr/local/bin/carthage copy-frameworks"; + showEnvVarsInLog = 0; + }; + B7C390DEFD2073480C56FD88 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Coding_iOS/Pods-Coding_iOS-resources.sh", + "${PODS_ROOT}/FontAwesome+iOS/Resources/FontAwesome.ttf", + "${PODS_ROOT}/UMengUShare/UShareSDK/UMSocialSDK/UMSocialSDKPromptResources.bundle", + "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/QQ/QQSDK/TencentOpenApi_IOS_Bundle.bundle", + "${PODS_ROOT}/UMengUShare/UShareSDK/SocialLibraries/Sina/SinaSDK/WeiboSDK.bundle", + "${PODS_ROOT}/evernote-cloud-sdk-ios/ENSDKResources.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/UMSocialSDKPromptResources.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TencentOpenApi_IOS_Bundle.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WeiboSDK.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ENSDKResources.bundle", + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Coding_iOS/Pods-Coding_iOS-resources.sh\"\n"; showEnvVarsInLog = 0; }; B7F20F3BC924F718A926E931 /* [CP] Check Pods Manifest.lock */ = { @@ -6808,13 +11331,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Coding_iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - 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"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/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# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -6837,7 +11363,6 @@ 4E8765691A22E5B40090CFB9 /* SWUtilityButtonTapGestureRecognizer.m in Sources */, 4ECE8B041A3946C10021E29C /* UnReadManager.m in Sources */, 4EA679131A1466A6001A0324 /* ProjectFiles.m in Sources */, - 4EBDA87C1A6640340035ED96 /* UIActionSheet+Common.m in Sources */, 4E4D6A581B1C5DC000FD2E49 /* MRPRCommentCell.m in Sources */, 7EB02FF11B6D111300D2166C /* AudioPlayView.m in Sources */, B94C1B6E1AC98CCE0000C271 /* NewProjectTypeViewController.m in Sources */, @@ -6852,10 +11377,13 @@ 7EB02FF61B6DAF3800D2166C /* AudioVolumeView.m in Sources */, 4E8D5D6E1B45400100B70936 /* ZXScanCodeViewController.m in Sources */, 4E3068431E0B781A00AEE0CE /* LDNetTimer.m in Sources */, + B16EEF13209080D7005ABFD5 /* TaskBoardsViewController.m in Sources */, 4ECD72EF1AAD7EC300D69AE1 /* Tweet.m in Sources */, 13DA65E81CBE668E00810CB7 /* PRDetailViewController.m in Sources */, 8EF643CD19FF7E2900F7EEB0 /* TweetCommentMoreCell.m in Sources */, 8E59F1001A01133C009A905F /* CodeTree.m in Sources */, + B1890C3D2015D8C900F52ABA /* WikiMenuListCell.m in Sources */, + B1944147206BB89100147158 /* EALocalCodeViewController.m in Sources */, 4E93F2331B84243D00017916 /* KxMenu.m in Sources */, D0C447B91C02C63000DC1C4B /* UserSearchCell.m in Sources */, 4E83AE7B1CF30F1A006BA3BB /* SettingEmailViewController.m in Sources */, @@ -6877,10 +11405,12 @@ 09A0588A1E0AA9AE00C1CA3F /* ActivityView.m in Sources */, 8EA6D1B519E240C40076D59C /* ListGroupItem.m in Sources */, 4E80E93C1E02353900DE1BC6 /* CodingSearchDisplayView.m in Sources */, + B1D5F21E20BD50D000983FB6 /* ProjectRole.m in Sources */, 8EA6D13919E240C40076D59C /* MyTask_RootViewController.m in Sources */, 8E1C3E0A19E8DFE300EF3032 /* SettingAccountViewController.m in Sources */, 4E8765681A22E5B40090CFB9 /* SWTableViewCell.m in Sources */, 4E94C4E71B4A6AC700EB668A /* ScanBGView.m in Sources */, + B12B641F1FF2835800ACFDCC /* CodingVipTipManager.m in Sources */, 4E0BD8701B6C7E3D0061CAA6 /* CSTopicHeaderView.m in Sources */, 4EBB624D1A6F526C0045DAEF /* NJKWebViewProgressView.m in Sources */, 4E6383F21B32CC7600D98648 /* TaskActivityCell.m in Sources */, @@ -6900,6 +11430,7 @@ 4E2ECEAD1BD4D51000CB6EC9 /* ProjectTransferSettingViewController.m in Sources */, 4EABD2571AD3CAAC005E515F /* UIMessageInputView_Add.m in Sources */, 7EB02FCE1B6CF5D500D2166C /* UIMessageInputView_Voice.m in Sources */, + B1C60C8220BFCEFD0073D3CA /* NFileListViewController.m in Sources */, 8E59F0E21A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.m in Sources */, 4E0022831B72095E005308DE /* PointRecord.m in Sources */, 927AFF3E1BFF608700AAE593 /* ShopGoodsCCell.m in Sources */, @@ -6919,6 +11450,7 @@ 8EA6D1FC19E240C40076D59C /* MJPhotoView.m in Sources */, 8E59F10A1A021053009A905F /* CodeListViewController.m in Sources */, 4ECF702C1B1704C5000280FF /* NProjectItemCell.m in Sources */, + B1817EC7206397F500E9BAD1 /* EACodeReleases.m in Sources */, 4ED4B4AF1D82B28B00EED8C6 /* TeamMembersViewController.m in Sources */, 8E1C3DEC19E7D58A00EF3032 /* ActionSheetDatePicker.m in Sources */, 8EF643B619FF7E2900F7EEB0 /* Input_OnlyText_Cell.m in Sources */, @@ -6933,6 +11465,7 @@ 8EA6D1FA19E240C40076D59C /* MJPhotoProgressView.m in Sources */, 4E30683D1E0B781A00AEE0CE /* EADeviceToServerLog.m in Sources */, 4E4D6A641B1C65F700FD2E49 /* MRPRFilesViewController.m in Sources */, + B12B64821FFC73A900ACFDCC /* PHAsset+Common.m in Sources */, 4EA6791D1A15A943001A0324 /* FileListFolderCell.m in Sources */, 8EA6D1C419E240C40076D59C /* Users.m in Sources */, 8EF643D219FF7E2900F7EEB0 /* UserCell.m in Sources */, @@ -6947,25 +11480,31 @@ 8EF643BE19FF7E2900F7EEB0 /* ProjectTaskListViewCell.m in Sources */, 4ECE8AE31A3943E80021E29C /* UIDevice+Info.m in Sources */, 4EABD25D1AD3CBB9005E515F /* UIMessageInputView_Media.m in Sources */, + B12B64781FFB61AD00ACFDCC /* QBAlbumCell.m in Sources */, 4EAE06B71B7B330900179F4B /* FileActivityCell.m in Sources */, 4E6BA2E31A1EE6AF005FD721 /* UIAlertView+AFNetworking.m in Sources */, + B1890C492015D92600F52ABA /* WikiHistoryListViewController.m in Sources */, 4E4D6AAF1B2047DE00FD2E49 /* CommitCommentCell.m in Sources */, D066BB401BF623DD005AB5D6 /* ProjectAboutOthersListCell.m in Sources */, 4EA7F15F1A6D192B00A046BD /* SDWebImageManager.m in Sources */, - 8E64ED8519ED0CE3006E99DA /* QBImagePickerThumbnailView.m in Sources */, 7EB02FE41B6D0F3E00D2166C /* amrFileCodec.m in Sources */, 8E1C3E0D19E8DFE300EF3032 /* SettingViewController.m in Sources */, 09A058891E0AA9AE00C1CA3F /* ActivityMonScrollView.m in Sources */, 8E1C3DEF19E7D58A00EF3032 /* ActionSheetStringPicker.m in Sources */, 8EF643B919FF7E2900F7EEB0 /* LeftImage_LRTextCell.m in Sources */, + B152ED4E2090B223004A6E8A /* ProjectSettingEntranceController.m in Sources */, + B1890C4D2019B29900F52ABA /* UINavigationBar+Common.m in Sources */, 926C043E1C01A212004937D8 /* ShopOrderListView.m in Sources */, 8E1C3DF119E7D58A00EF3032 /* SWActionSheet.m in Sources */, 4E1A22821AB1729700CFC14F /* ProjectInfoCell.m in Sources */, + B14DE6DE20C914E70072ECEA /* AnimatedGIFImageSerialization.m in Sources */, 8EA6D1BF19E240C40076D59C /* Task.m in Sources */, 0A0519E21ABA918100551B61 /* TweetSendDetailLoctionCell.m in Sources */, 4E5C06EB1AC4009100F427C5 /* CannotLoginViewController.m in Sources */, 927AFF381BFF1CC200AAE593 /* ShopViewController.m in Sources */, 1309BA021CA2EF370034C7A3 /* Reviewer.m in Sources */, + B1944144206BB87F00147158 /* EALocalCodeListViewController.m in Sources */, + B12B640A1FE900D400ACFDCC /* AMPopTip+Exit.m in Sources */, 8EA6D12819E240C40076D59C /* AppDelegate.m in Sources */, 7EB02FE51B6D0F3E00D2166C /* AudioAmrUtil.m in Sources */, 4ECE8AFF1A3946C10021E29C /* Coding_NetAPIManager.m in Sources */, @@ -6980,11 +11519,11 @@ 09A0588F1E0AA9D600C1CA3F /* UserActiveGraphCell.m in Sources */, 4EB0C2001A807ED00042FC4F /* NSURL+Common.m in Sources */, 4E6BA2E71A1EE6AF005FD721 /* UIRefreshControl+AFNetworking.m in Sources */, + B1890C3E2015D8C900F52ABA /* WikiHistoryCell.m in Sources */, 4EE1A22D1B5D02CA004284F1 /* ProjectCodeListView.m in Sources */, 4EF374191BB1255E00DDA662 /* LocalFilesViewController.m in Sources */, 8EF643BF19FF7E2900F7EEB0 /* SettingTextCell.m in Sources */, 4E30683F1E0B781A00AEE0CE /* LDNetConnect.m in Sources */, - 8E64ED8419ED0CE3006E99DA /* QBImagePickerGroupCell.m in Sources */, 136A6DBF1CAF6BAC004AA983 /* MRDetailViewController.m in Sources */, 4ECE8AE71A3943E80021E29C /* UITableView+Common.m in Sources */, 4E996BC81ABA754600C704F1 /* JDStatusBarNotification.m in Sources */, @@ -7007,6 +11546,7 @@ 8EA6D13019E240C40076D59C /* LikersViewController.m in Sources */, 8EF643C719FF7E2900F7EEB0 /* TitleValueMoreCell.m in Sources */, 4E0BD8821B6C7F0A0061CAA6 /* CSSearchModel.m in Sources */, + B1890C412015D8F700F52ABA /* WikiHeaderView.m in Sources */, 8EF643C119FF7E2900F7EEB0 /* TaskCommentCell.m in Sources */, 8E97CE481A0A2DF8006F9AD7 /* AGEmojiPageView.m in Sources */, 4E9113A31A1C426000AC9431 /* ASProgressPopUpView.m in Sources */, @@ -7019,19 +11559,24 @@ 4E72F82D1B144778001B6CE6 /* NSMutableString+Common.m in Sources */, 4E25271A1C327FAE0032A7F4 /* UIViewController+BackButtonHandler.m in Sources */, 4EBD7FB41CE4833D00B3AF49 /* CountryCodeCell.m in Sources */, + B152ED68209420CD004A6E8A /* RATaskBoardListListViewController.m in Sources */, 13C8FE7F1CA79B90001E30FA /* DynamicActivityCell.m in Sources */, 4E4D6A791B1C6C7800FD2E49 /* MRPRDetailCell.m in Sources */, 8EF643CA19FF7E2900F7EEB0 /* TopicContentCell.m in Sources */, 4E0B9A371BAD377600D57D54 /* ForkTreeCell.m in Sources */, + B12B64071FE900D400ACFDCC /* AMPopTip.m in Sources */, + B1D5F20E20BD3BF400983FB6 /* UINavigationController+FullscreenPopGesture.m in Sources */, 4E4D6A6A1B1C688200FD2E49 /* MRPRAcceptViewController.m in Sources */, 4ECE8AE81A3943E80021E29C /* UIView+Common.m in Sources */, 4EA7F15E1A6D192B00A046BD /* SDWebImageDownloaderOperation.m in Sources */, + B12B647B1FFB61AD00ACFDCC /* QBAssetsViewController.m in Sources */, 4E996BD81ABA776500C704F1 /* UserInfoIconCell.m in Sources */, 923399781C00BFC700F29E04 /* ShopOderCell.m in Sources */, 8E1C3E0C19E8DFE300EF3032 /* SettingPasswordViewController.m in Sources */, 4EAE06B41B7B325600179F4B /* FileCommentCell.m in Sources */, 4E9113A21A1C426000AC9431 /* ASPopUpView.m in Sources */, 4E6BA2E21A1EE6AF005FD721 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + 4EAAD05F1E545516008AA957 /* ProjectCodeListSearchCell.m in Sources */, 0A782FDD1AB5B78B00E96661 /* TweetSendCreateLocationCell.m in Sources */, 4E07D3111A4D1484009EDDF2 /* EaseStartView.m in Sources */, 4EE1A2321B5D02CA004284F1 /* ProjectTopicListView.m in Sources */, @@ -7051,7 +11596,9 @@ 09A0589B1E0AAA7200C1CA3F /* ScreenCell.m in Sources */, 8EF643B119FF7E2900F7EEB0 /* ConversationCell.m in Sources */, 4ED4B49A1D8295EA00EED8C6 /* TeamListViewController.m in Sources */, + B186AEB020F462F600A6AF35 /* UIAlertController+Common.m in Sources */, 8EF643D019FF7E2900F7EEB0 /* TweetSendImagesCell.m in Sources */, + B1890C482015D92600F52ABA /* WikiEditViewController.m in Sources */, 4ECF704C1B1876CB000280FF /* MRPRListCell.m in Sources */, 3A38784F1AE557700078D5DE /* TopicPreviewCell.m in Sources */, 8ED0D87519FBA6EA00FBA818 /* NSString+Emojize.m in Sources */, @@ -7068,12 +11615,15 @@ 4EBD7FAF1CE4827A00B3AF49 /* CountryCodeListViewController.m in Sources */, D09AA5B71BFDA38D008CA9EB /* AllSearchDisplayVC.m in Sources */, 0A27A05D1AB5A13B00067833 /* TweetSendLocationDetailViewController.m in Sources */, + B1D5F22220BEA37600983FB6 /* MeRootCompanyCell.m in Sources */, + B1816063202063440022B4C6 /* EATerminalViewController.m in Sources */, 0AB591B01AB6D6BE0076C454 /* TweetSendMapAnnotation.m in Sources */, 4ECF70491B185BCC000280FF /* MRPR.m in Sources */, 09A058921E0AA9FC00C1CA3F /* EaseUserInfoCell.m in Sources */, 4E095A5C1B6907AA008DC439 /* CodingBannersView.m in Sources */, 4E8D5D661B45306900B70936 /* OTPListViewController.m in Sources */, 4EA7F1651A6D192B00A046BD /* UIImageView+WebCache.m in Sources */, + B1D5F21820BD485D00983FB6 /* TeamPurchaseBilling.m in Sources */, 8EF643B819FF7E2900F7EEB0 /* InputOnlyTextPlainCell.m in Sources */, 4E095A681B6909F9008DC439 /* NSTimer+Addition.m in Sources */, 4E6BA2DB1A1EE6AF005FD721 /* AFURLSessionManager.m in Sources */, @@ -7084,33 +11634,41 @@ 8EA6D1F919E240C40076D59C /* MJPhotoLoadingView.m in Sources */, 4E753D441B8AFDEC003A00B9 /* FileEditViewController.m in Sources */, 8EA6D14419E240C40076D59C /* TopicDetailViewController.m in Sources */, + B1C60CA420C0DDF60073D3CA /* TeamSettingViewController.m in Sources */, 4EA7F1641A6D192B00A046BD /* UIImageView+HighlightedWebCache.m in Sources */, E7A046A01A47279E00528C12 /* Helper.m in Sources */, 4E00228C1B721955005308DE /* PointTopCell.m in Sources */, - 8E64ED8019ED0CE3006E99DA /* QBAssetsCollectionViewController.m in Sources */, 4ED4B4AC1D829E1200EED8C6 /* TeamMemberCell.m in Sources */, 13972E2C1CA616AC00489EBA /* ReviewerListController.m in Sources */, 4E996BD71ABA776500C704F1 /* UserInfoDetailTagCell.m in Sources */, 4E87656A1A22E5B40090CFB9 /* SWUtilityButtonView.m in Sources */, 7EB02FFC1B6E001300D2166C /* VoiceMedia.m in Sources */, 8EABE3C819F10D2400A17784 /* TaskComment.m in Sources */, + B1817EE72064FC6100E9BAD1 /* EACodeReleaseTopCell.m in Sources */, + B1BCB88F1FCE61D60098B87B /* EAPayViewController.m in Sources */, 8E97CE471A0A2DF8006F9AD7 /* AGEmojiKeyBoardView.m in Sources */, 4E53EB521AFA03990034FE1C /* RKSwipeBetweenViewControllers.m in Sources */, 8EA6D12C19E240C40076D59C /* EditTopicViewController.m in Sources */, 4E94C4FE1B4D2B9300EB668A /* GlowImageView.m in Sources */, 4E24B2681B43D33F004D7989 /* ProjectToChooseListViewController.m in Sources */, 4EA7F15B1A6D192B00A046BD /* SDWebImageCompat.m in Sources */, + B1817EEA2064FC7300E9BAD1 /* EACodeReleaseBodyCell.m in Sources */, 8EA6D13A19E240C40076D59C /* Project_RootViewController.m in Sources */, 4ECF70401B180740000280FF /* EaseGitButtonsView.m in Sources */, 8EF83F8A19E92AA500E86DE7 /* SettingTagsViewController.m in Sources */, + B194414A206BB8BB00147158 /* EALocalCodeListCell.m in Sources */, + B1D5F23220BEADD200983FB6 /* TeamSupportCell.m in Sources */, 8EF643D319FF7E2900F7EEB0 /* ValueListCell.m in Sources */, 4EB52F3F1C7C464400B5EBEA /* TaskResourceReferenceViewController.m in Sources */, 4E217F0C1A70EDC700F6DF88 /* SVModalWebViewController.m in Sources */, - 4E19E7071BCE03CD00C66DC6 /* UIActionSheet+Front.m in Sources */, + B19D4EF21F710EF900C598F3 /* ShopSwitchCell.m in Sources */, 4EF17E5F1B3AB10F003CDD2D /* IntroductionViewController.m in Sources */, 4EA7F1601A6D192B00A046BD /* SDWebImagePrefetcher.m in Sources */, 4E4D6A941B1D851E00FD2E49 /* FileChanges.m in Sources */, 4E6BA2E81A1EE6AF005FD721 /* UIWebView+AFNetworking.m in Sources */, + B1890C352015D87900F52ABA /* EAWiki.m in Sources */, + B1890C382015D89A00F52ABA /* WikiMenuListView.m in Sources */, + B1817EC4206397E000E9BAD1 /* EACodeRelease.m in Sources */, 4E0B9A341BAC1CD100D57D54 /* ForkTreeViewController.m in Sources */, 4E4D6A7F1B1C6D1E00FD2E49 /* CommitContentCell.m in Sources */, 8EA6D13519E240C40076D59C /* ProjectViewController.m in Sources */, @@ -7118,22 +11676,29 @@ 4E996BDC1ABA79AB00C704F1 /* UserInfoDetailViewController.m in Sources */, B9A00D851ACA3A55008BA008 /* ProjectAdvancedSettingViewController.m in Sources */, 4E8765671A22E5B40090CFB9 /* SWLongPressGestureRecognizer.m in Sources */, + B12B647A1FFB61AD00ACFDCC /* QBAlbumsViewController.m in Sources */, 0AB591AC1AB6D2F60076C454 /* TweetSendLocaitonMapViewController.m in Sources */, 4EA7F1611A6D192B00A046BD /* UIButton+WebCache.m in Sources */, + B152ED6320935524004A6E8A /* EABoardTaskListBlankView.m in Sources */, 8EE72BE419E3F2E8002C11D9 /* SDWebImageManager+MJ.m in Sources */, 3A38784C1AE36EF00078D5DE /* TopicListView.m in Sources */, 8E1C3DEA19E7D58A00EF3032 /* AbstractActionSheetPicker.m in Sources */, 8EA6D1AF19E240C40076D59C /* CodingTips.m in Sources */, 4E4D6A5B1B1C5DDF00FD2E49 /* MRPRCommentCCell.m in Sources */, + B12B64061FE900D400ACFDCC /* AMPopTip+Animation.m in Sources */, + B1C60C9020BFF7950073D3CA /* ProjectTypeExplanationViewController.m in Sources */, 8EF643C219FF7E2900F7EEB0 /* TaskCommentTopCell.m in Sources */, 4E4D6A611B1C65C100FD2E49 /* MRPRCommitsViewController.m in Sources */, - 8E64ED7D19ED0CE3006E99DA /* QBAssetsCollectionOverlayView.m in Sources */, + B1817EBF2063951000E9BAD1 /* EABasePageModel.m in Sources */, + B1C871541EADF4D4003DACF0 /* UITableViewCell+Common.m in Sources */, + B1817ECA20639E9500E9BAD1 /* EACodeReleaseListCell.m in Sources */, 4E0BD86B1B6C7E3D0061CAA6 /* CSLikesVC.m in Sources */, 8EA6D14919E240C40076D59C /* UserOrProjectTweetsViewController.m in Sources */, 4E4D6AA01B1D89D400FD2E49 /* CommitDetail.m in Sources */, 4ECE8AD71A3943E80021E29C /* DownMenuCell.m in Sources */, 4E6C41201A846AC30098DC17 /* RFToolbarButton.m in Sources */, 3A3878491AE36ED70078D5DE /* TopicListButton.m in Sources */, + B1C60CA820C0DDF60073D3CA /* TeamSupportViewController.m in Sources */, 4ECE8B011A3946C10021E29C /* ImageSizeManager.m in Sources */, 8EA6D1B319E240C40076D59C /* File.m in Sources */, 923399751C00ABDE00F29E04 /* ShopOrderViewController.m in Sources */, @@ -7148,6 +11713,7 @@ 4E6BA2DC1A1EE6AF005FD721 /* AFNetworkReachabilityManager.m in Sources */, 4E3068441E0B781A00AEE0CE /* LDNetTraceRoute.m in Sources */, D09E6AD11BF9D999009D37F8 /* SearchViewController.m in Sources */, + B12B647C1FFB61AD00ACFDCC /* QBImagePickerController.m in Sources */, 4EB52F251C76C16300B5EBEA /* EditColorViewController.m in Sources */, 8E59F0E31A0098BA009A905F /* UIScrollView+SVPullToRefresh.m in Sources */, 4E8D5D5B1B45295D00B70936 /* NSData+OTPBase32Encoding.m in Sources */, @@ -7162,21 +11728,25 @@ D0C448181C03187100DC1C4B /* TaskSearchCell.m in Sources */, 4E6BA2D91A1EE6AF005FD721 /* AFURLConnectionOperation.m in Sources */, 8EA6D1BB19E240C40076D59C /* ProjectTopic.m in Sources */, + B1817EB62063899400E9BAD1 /* EACodeBranchListViewController.m in Sources */, 4ED4B4A01D82962100EED8C6 /* TeamProjectsViewController.m in Sources */, 8EA6D13219E240C40076D59C /* RegisterViewController.m in Sources */, 923399661C00441700F29E04 /* ShopBanner.m in Sources */, 8EF643C519FF7E2900F7EEB0 /* TitleRImageMoreCell.m in Sources */, + B152ED602093018A004A6E8A /* EABoardTaskListView.m in Sources */, 4E4969401DCB0BCE0065028E /* FileShare.m in Sources */, 4ED6181B1C3A72AE0017946C /* ShopMutileValueCell.m in Sources */, 4E217F151A70EDC700F6DF88 /* SVWebViewControllerActivitySafari.m in Sources */, 4E8D5D5A1B45295D00B70936 /* HOTPGenerator.m in Sources */, + B1890C4A2015D92600F52ABA /* WikiViewController.m in Sources */, 8EA6D14519E240C40076D59C /* TweetDetailViewController.m in Sources */, 4ED4B4971D82939700EED8C6 /* Team.m in Sources */, 8EA6D13119E240C40076D59C /* LoginViewController.m in Sources */, - 8E64ED7C19ED0CE3006E99DA /* QBAssetsCollectionFooterView.m in Sources */, 4E3068461E0B781A00AEE0CE /* NSData+gzip.m in Sources */, 4E8D5D5C1B45295D00B70936 /* NSString+OTPURLArguments.m in Sources */, D066BB3A1BF30EB9005AB5D6 /* ProjectSquareViewController.m in Sources */, + B1817EBC2063936100E9BAD1 /* EACodeBranches.m in Sources */, + B1BCB8931FCE662A0098B87B /* NSLayoutConstraintLine.m in Sources */, 8E6F1C951A03BD6000BF79C8 /* ProjectMemberActivityListViewController.m in Sources */, 8EA6D13619E240C40076D59C /* BaseViewController.m in Sources */, 4E5F39051ACA958C0010515D /* TopicCommentCCell.m in Sources */, @@ -7195,6 +11765,7 @@ 4EA7F15D1A6D192B00A046BD /* SDWebImageDownloader.m in Sources */, 8EA6D1B419E240C40076D59C /* HtmlMedia.m in Sources */, 3A3878451AE296240078D5DE /* EditLabelCell.m in Sources */, + B1C60CA620C0DDF60073D3CA /* TeamPurchaseViewController.m in Sources */, 4ECE8ADE1A3943E80021E29C /* NSString+Common.m in Sources */, 4ECE8B081A3947300021E29C /* BasicPreviewItem.m in Sources */, 4E2247FC1D82C98800551EA4 /* MeDisplayViewController.m in Sources */, @@ -7208,6 +11779,7 @@ 4EAE06A41B7AE4EF00179F4B /* FileComment.m in Sources */, 8EA6D13C19E240C40076D59C /* Tweet_RootViewController.m in Sources */, B93D904B1ACBA3110057A6EE /* ProjectDeleteAlertControllerVisualStyle.m in Sources */, + B1D5F21620BD485D00983FB6 /* TeamPurchaseOrder.m in Sources */, 4E1A22851AB172C400CFC14F /* ProjectItemsCell.m in Sources */, 4ECE8B051A3946C10021E29C /* WebContentManager.m in Sources */, 4E94C4F41B4D007600EB668A /* Login2FATipCell.m in Sources */, @@ -7215,29 +11787,35 @@ 8EA6D1F819E240C40076D59C /* MJPhotoBrowser.m in Sources */, 4E0BD86C1B6C7E3D0061CAA6 /* CSMyTopicVC.m in Sources */, 4ED618151C3A6B4B0017946C /* LocationViewController.m in Sources */, + B12B641C1FF0F5E400ACFDCC /* JDStatusBarLayoutMarginHelper.m in Sources */, 8ED4612019E4DC470059B3BE /* iCarousel.m in Sources */, 4E1A22881AB1731600CFC14F /* ProjectDescriptionCell.m in Sources */, 4ECE8AE11A3943E80021E29C /* UIButton+Common.m in Sources */, 4ECE8AD81A3943E80021E29C /* UIDownMenuButton.m in Sources */, 4E6CBE511D8E962300644086 /* TopicAnswerDetailViewController.m in Sources */, 8EA6D14819E240C40076D59C /* UsersViewController.m in Sources */, + B12B64151FF0DE4800ACFDCC /* SkillCCell.m in Sources */, 4E94C4FF1B4D2B9300EB668A /* MenuButton.m in Sources */, + B12B64091FE900D400ACFDCC /* AMPopTip+Draw.m in Sources */, + B152ED542091B7CB004A6E8A /* ProjectArchiveViewController.m in Sources */, 4ED4B49D1D8295F600EED8C6 /* TeamViewController.m in Sources */, 4EF3741C1BB1258600DDA662 /* LocalFileViewController.m in Sources */, 3A3878401AE295970078D5DE /* ResetLabelCell.m in Sources */, - 4EA679201A15AB9F001A0324 /* FileListViewController.m in Sources */, + B1817ECD20639F0A00E9BAD1 /* EACodeBranchListCell.m in Sources */, 8EA6D14119E240C40076D59C /* ValueListViewController.m in Sources */, 4EB52F151C7599FC00B5EBEA /* ActivateViewController.m in Sources */, + 4EAAD0141E5306F3008AA957 /* MRPRListViewController.m in Sources */, 4ECE8ADD1A3943E80021E29C /* NSObject+ObjectMap.m in Sources */, 4E8765661A22E5B40090CFB9 /* SWCellScrollView.m in Sources */, 8E1C3DEB19E7D58A00EF3032 /* ActionSheetCustomPicker.m in Sources */, D02BE0AF1C0434DB008374C0 /* PRMRSearchCell.m in Sources */, 8EA6D14619E240C40076D59C /* TweetSendViewController.m in Sources */, 8EA6D1B819E240C40076D59C /* PrivateMessages.m in Sources */, - 8E64ED7F19ED0CE3006E99DA /* QBAssetsCollectionViewCell.m in Sources */, 4E6D718A1A75F00E005AD988 /* YLImageView.m in Sources */, 4E095A591B690494008DC439 /* CodingBanner.m in Sources */, 9233997B1C00C55600F29E04 /* ShopOrderModel.m in Sources */, + B12B63F91FE8FF0400ACFDCC /* MartFunctionTipView.m in Sources */, + B19D4EEE1F6FCEAC00C598F3 /* CodingSkill.m in Sources */, 923399721C00A9EF00F29E04 /* DashesLineView.m in Sources */, 8EA6D1C119E240C40076D59C /* Tweets.m in Sources */, 4E8D5D5F1B45295D00B70936 /* OTPAuthURL.m in Sources */, @@ -7249,6 +11827,7 @@ 4E0022921B721973005308DE /* PointRecordCell.m in Sources */, 4E5A66951B268D160007A0AD /* UIView+PressMenu.m in Sources */, 8EA6D1C019E240C40076D59C /* Tasks.m in Sources */, + B1C60C9820C004C80073D3CA /* TeamPurchaseTopCell.m in Sources */, 8EE72BE819E3F4A8002C11D9 /* MBProgressHUD+Add.m in Sources */, 8E59F10D1A02188D009A905F /* CodeViewController.m in Sources */, 4E59D32F1D3E1920008C914B /* ProjectTweetSendViewController.m in Sources */, @@ -7257,7 +11836,9 @@ 8EA6D20B19E240C40076D59C /* RDVTabBarController.m in Sources */, 4E787DE21B0329B300F06E83 /* ProjectLineNote.m in Sources */, D066BB3D1BF38844005AB5D6 /* ProjectAboutMeListCell.m in Sources */, + 4EAAD0171E53EFF2008AA957 /* EAFliterMenu.m in Sources */, 8BDF9AA61B7456060093BF2C /* HotTopicBannerView.m in Sources */, + B1D5F21A20BD485D00983FB6 /* TeamPurchaseBillingDetail.m in Sources */, 8EA6D12E19E240C40076D59C /* EditTaskViewController.m in Sources */, 4EB52F2B1C76ED7000B5EBEA /* TagColorDisplayCell.m in Sources */, 8EA6D1BC19E240C40076D59C /* ProjectTopics.m in Sources */, @@ -7273,15 +11854,15 @@ 4E0BD8721B6C7E3D0061CAA6 /* CSTopicModel.m in Sources */, 4E4D6AA31B1DB63A00FD2E49 /* FileLineChange.m in Sources */, 4E5C06EE1AC4405300F427C5 /* PasswordViewController.m in Sources */, + B1C60C7E20BFCDBE0073D3CA /* EditMemberTypeProjectListViewController.m in Sources */, 927AFF441BFF61FF00AAE593 /* BaseCollectionCell.m in Sources */, 4E217F0E1A70EDC700F6DF88 /* SVWebViewController.m in Sources */, + B1817EE42064F92C00E9BAD1 /* EACodeReleaseViewController.m in Sources */, 4E6BA2DE1A1EE6AF005FD721 /* AFSecurityPolicy.m in Sources */, 4EA7F1631A6D192B00A046BD /* UIImage+MultiFormat.m in Sources */, 8EF643AE19FF7E2900F7EEB0 /* TweetMediaItemSingleCCell.m in Sources */, 8EF643AC19FF7E2900F7EEB0 /* TweetLikeUserCCell.m in Sources */, - 8E64ED7B19ED0CE3006E99DA /* QBAssetsCollectionCheckmarkView.m in Sources */, 4E80E9351E011D6000DE1BC6 /* RewardTipManager.m in Sources */, - 4EE1A22E1B5D02CA004284F1 /* ProjectFolderListView.m in Sources */, 4E4D6A701B1C68F100FD2E49 /* CommitFilesViewController.m in Sources */, 4E4D6A911B1D84B400FD2E49 /* FileChange.m in Sources */, 8EA6D1AB19E240C40076D59C /* main.m in Sources */, @@ -7290,13 +11871,18 @@ 4E996BD91ABA776500C704F1 /* UserInfoTextCell.m in Sources */, 4E4D6AA61B1DBA3A00FD2E49 /* MRPRDisclosureCell.m in Sources */, 8E1C3E0819E8DFE300EF3032 /* AboutViewController.m in Sources */, + B12B647F1FFB61AD00ACFDCC /* QBAssetCell.m in Sources */, + B1817EB9206389F500E9BAD1 /* EACodeReleaseListViewController.m in Sources */, 4E87DDFD1D813B1E00D1B5B1 /* MeRootUserCell.m in Sources */, 9233996C1C00524A00F29E04 /* ShopGoods.m in Sources */, + B12B64081FE900D400ACFDCC /* AMPopTip+Entrance.m in Sources */, 4E0022861B720966005308DE /* PointRecords.m in Sources */, + B12B647D1FFB61AD00ACFDCC /* QBCheckmarkView.m in Sources */, 4E6BA2D71A1EE6AF005FD721 /* AFHTTPRequestOperation.m in Sources */, 4EF8181F1B05C9D8005F974B /* ProjectLineNoteActivity.m in Sources */, 8EF643A919FF7E2900F7EEB0 /* MessageMediaItemCCell.m in Sources */, 4ECF70461B18557E000280FF /* MRPRS.m in Sources */, + B1817F062069F67700E9BAD1 /* EAEditCodeReleaseViewController.m in Sources */, 4ECE8AE41A3943E80021E29C /* UIImage+Common.m in Sources */, 8EF643D619FF7E9F00F7EEB0 /* ProjectTopicCell.m in Sources */, 4E4D6A8B1B1C6E3100FD2E49 /* TextCheckMarkCell.m in Sources */, @@ -7304,20 +11890,21 @@ 4E94C5121B4E0C0300EB668A /* XHRealTimeBlur.m in Sources */, 4EA6790A1A1461C3001A0324 /* ProjectFile.m in Sources */, 4E0BD8711B6C7E3D0061CAA6 /* CSTopiclistView.m in Sources */, - 4E63189C1BDA198000EFED97 /* MRListViewController.m in Sources */, 4ECE8AE61A3943E80021E29C /* UILabel+Common.m in Sources */, + B12B647E1FFB61AD00ACFDCC /* QBSlomoIconView.m in Sources */, 4EA7F15C1A6D192B00A046BD /* SDWebImageDecoder.m in Sources */, - 8E64ED8219ED0CE3006E99DA /* QBImagePickerController.m in Sources */, D09AA5BD1BFDE5F5008CA9EB /* TweetSearchCell.m in Sources */, 4E6BA2E01A1EE6AF005FD721 /* AFURLResponseSerialization.m in Sources */, 8E59F1031A0120F1009A905F /* CodeFile.m in Sources */, + B1ACFE0D20A975E2000BC41E /* EAMilestone.m in Sources */, 4E0BD8801B6C7F0A0061CAA6 /* CSSearchCell.m in Sources */, + B1C60C9A20C004C80073D3CA /* TeamPurchaseBillingCell.m in Sources */, 4E996BCA1ABA754600C704F1 /* JDStatusBarView.m in Sources */, 4E4D6A881B1C6E1B00FD2E49 /* MRPRAcceptEditCell.m in Sources */, + B1817EED2064FD9400E9BAD1 /* EACodeReleaseAttachmentsOrReferencesCell.m in Sources */, 4E94C5001B4D2B9300EB668A /* MenuItem.m in Sources */, 8EF643AD19FF7E2900F7EEB0 /* TweetMediaItemCCell.m in Sources */, 3A3878461AE296240078D5DE /* EditLabelHeadCell.m in Sources */, - 8E64ED7E19ED0CE3006E99DA /* QBAssetsCollectionVideoIndicatorView.m in Sources */, 8EF643C319FF7E2900F7EEB0 /* TaskContentCell.m in Sources */, 4E59E1D31A5E6B34004DAEEC /* TaskDescriptionViewController.m in Sources */, 4ECE8AFD1A3946C10021E29C /* AddressManager.m in Sources */, @@ -7326,22 +11913,26 @@ 8E59F0F41A00F3B9009A905F /* ProjectCodeListCell.m in Sources */, 4E87DE031D813BBE00D1B5B1 /* UserServiceInfo.m in Sources */, 0A6E6BAA1AAF4B24004C0107 /* TweetSendLocationViewController.m in Sources */, + B1C60C7A20BFA2150073D3CA /* NProjectFileListView.m in Sources */, 8E59F0F71A00F3E2009A905F /* ProjectFolderListCell.m in Sources */, 8EA6D1C319E240C40076D59C /* User.m in Sources */, 8EA6D1FB19E240C40076D59C /* MJPhotoToolbar.m in Sources */, 8EF643CF19FF7E2900F7EEB0 /* TweetDetailCommentCell.m in Sources */, + B12B64121FF0D54800ACFDCC /* SettingSkillsViewController.m in Sources */, 4E4D6A8E1B1D5B9A00FD2E49 /* MRPRBaseInfo.m in Sources */, 7EB02FF31B6D111300D2166C /* AudioRecordView.m in Sources */, 4EB52F281C76ED4A00B5EBEA /* TagColorEditCell.m in Sources */, + B12B64771FFB61AD00ACFDCC /* QBVideoIndicatorView.m in Sources */, + B1C60C9C20C004C80073D3CA /* TeamPurchaseOrderCell.m in Sources */, 4E93F2441B85C4C300017916 /* FileInfoViewController.m in Sources */, 4E4D6A9A1B1D893500FD2E49 /* CommitInfo.m in Sources */, 4E38CF5F1A7A28AF005536C0 /* CodeBranchTagButton.m in Sources */, 9233996F1C00970900F29E04 /* ShopGoodsInfoView.m in Sources */, - 8E64ED8119ED0CE3006E99DA /* QBAssetsCollectionViewLayout.m in Sources */, 8EA6D1C819E240C40076D59C /* UIBadgeView.m in Sources */, 927AFF411BFF613500AAE593 /* BaseModel.m in Sources */, 09A058951E0AAA2F00C1CA3F /* TaskSelectionView.m in Sources */, 8EF643BD19FF7E2900F7EEB0 /* ProjectListCell.m in Sources */, + B152ED5A2092BF46004A6E8A /* EABoardTaskList.m in Sources */, 4E0BD86F1B6C7E3D0061CAA6 /* CSTopicDetailVC.m in Sources */, 8EF643C819FF7E2900F7EEB0 /* ToMessageCell.m in Sources */, 4E217F111A70EDC700F6DF88 /* SVWebViewControllerActivityChrome.m in Sources */, @@ -7358,7 +11949,9 @@ 4E3068401E0B781A00AEE0CE /* LDNetDiagnoService.m in Sources */, 4E2F6A571C437D1D00A25502 /* EditCodeViewController.m in Sources */, 8EF83F9419EB78CC00E86DE7 /* SettingTextViewController.m in Sources */, + B152ED5D2092D51E004A6E8A /* EATaskBoardListTaskCell.m in Sources */, 4ED618181C3A6CA50017946C /* LocationCell.m in Sources */, + B12B64761FFB61AD00ACFDCC /* QBVideoIconView.m in Sources */, 8EA6D1B019E240C40076D59C /* Comment.m in Sources */, 0A6E6BA71AAF4162004C0107 /* TweetSendLocationCell.m in Sources */, 4E9E3B751DCC2DB10005FD79 /* HtmlMediaViewController.m in Sources */, @@ -7368,11 +11961,11 @@ 8ECA8BB419FB42CC00C598C6 /* UILongPressMenuImageView.m in Sources */, 4E4D6A821B1C6D5F00FD2E49 /* FileChangesIntroduceCell.m in Sources */, 8EA6D1BE19E240C40076D59C /* Register.m in Sources */, - 4ECF70431B18514F000280FF /* PRListViewController.m in Sources */, 926C043B1C019CD3004937D8 /* ShopOrder.m in Sources */, 4E6CBE4B1D8E71DC00644086 /* TopicAnswerCell.m in Sources */, 4E969CD01AF0EB87005C0CCE /* NSTimer+Common.m in Sources */, 8EF643B019FF7E2900F7EEB0 /* CodingTipCell.m in Sources */, + B19D4EEA1F6FAA6000C598F3 /* AboutPointViewController.m in Sources */, 4E6FB0581B58DB0A00B0A17B /* ProjectTagsView.m in Sources */, 8EA6D1BA19E240C40076D59C /* Projects.m in Sources */, 4E996BDF1ABA7CE100C704F1 /* UserInfoDetailUserCell.m in Sources */, @@ -7389,6 +11982,642 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B1D5EBF320BC06CB00983FB6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B1D5EBF420BC06CB00983FB6 /* RootTabViewController.m in Sources */, + B1D5EBF520BC06CB00983FB6 /* WebViewController.m in Sources */, + B1D5EBF620BC06CB00983FB6 /* ProjectTag.m in Sources */, + B1D5EBF720BC06CB00983FB6 /* SendRewardManager.m in Sources */, + B1D5EBF820BC06CB00983FB6 /* UIImageView+AFNetworking.m in Sources */, + B1D5EBF920BC06CB00983FB6 /* ExchangeGoodsViewController.m in Sources */, + B1D5EBFA20BC06CB00983FB6 /* ProjectMember.m in Sources */, + B1D5EBFB20BC06CB00983FB6 /* UserInfoViewController.m in Sources */, + B1D5EBFC20BC06CB00983FB6 /* Me_RootViewController.m in Sources */, + B1D5EBFD20BC06CB00983FB6 /* ProjectActivity.m in Sources */, + B1D5EBFE20BC06CB00983FB6 /* SWUtilityButtonTapGestureRecognizer.m in Sources */, + B1D5EBFF20BC06CB00983FB6 /* UnReadManager.m in Sources */, + B1D5EC0020BC06CB00983FB6 /* ProjectFiles.m in Sources */, + B1D5EC0220BC06CB00983FB6 /* MRPRCommentCell.m in Sources */, + B1D5EC0320BC06CB00983FB6 /* AudioPlayView.m in Sources */, + B1D5EC0420BC06CB00983FB6 /* NewProjectTypeViewController.m in Sources */, + B1D5EC0520BC06CB00983FB6 /* EAIntroPage.m in Sources */, + B1D5EC0620BC06CB00983FB6 /* PopFliterMenu.m in Sources */, + B1D5EC0720BC06CB00983FB6 /* ProjectPublicListCell.m in Sources */, + B1D5EC0820BC06CB00983FB6 /* DirectoryWatcher.m in Sources */, + B1D5EC0920BC06CB00983FB6 /* SVWebViewControllerActivityReport.m in Sources */, + B1D5EC0A20BC06CB00983FB6 /* TeamMember.m in Sources */, + B1D5EC0B20BC06CB00983FB6 /* UIButton+AFNetworking.m in Sources */, + B1D5EC0C20BC06CB00983FB6 /* TopicCommentCell.m in Sources */, + B1D5EC0D20BC06CB00983FB6 /* AudioVolumeView.m in Sources */, + B1D5EC0E20BC06CB00983FB6 /* ZXScanCodeViewController.m in Sources */, + B1D5EC0F20BC06CB00983FB6 /* LDNetTimer.m in Sources */, + B1D5EC1020BC06CB00983FB6 /* TaskBoardsViewController.m in Sources */, + B1D5EC1120BC06CB00983FB6 /* Tweet.m in Sources */, + B1D5EC1220BC06CB00983FB6 /* PRDetailViewController.m in Sources */, + B1D5EC1320BC06CB00983FB6 /* TweetCommentMoreCell.m in Sources */, + B1D5EC1420BC06CB00983FB6 /* CodeTree.m in Sources */, + B1D5EC1520BC06CB00983FB6 /* WikiMenuListCell.m in Sources */, + B1D5EC1620BC06CB00983FB6 /* EALocalCodeViewController.m in Sources */, + B1D5EC1720BC06CB00983FB6 /* KxMenu.m in Sources */, + B1D5EC1820BC06CB00983FB6 /* UserSearchCell.m in Sources */, + B1D5EC1920BC06CB00983FB6 /* SettingEmailViewController.m in Sources */, + B1D5EC1A20BC06CB00983FB6 /* MemberCell.m in Sources */, + B1D5EC1B20BC06CB00983FB6 /* JobManager.m in Sources */, + B1D5EC1C20BC06CB00983FB6 /* UIView+Frame.m in Sources */, + B1D5EC1D20BC06CB00983FB6 /* TagsManager.m in Sources */, + B1D5EC1E20BC06CB00983FB6 /* AddCommentCell.m in Sources */, + B1D5EC1F20BC06CB00983FB6 /* UITTTAttributedLabel.m in Sources */, + B1D5EC2020BC06CB00983FB6 /* TitleValueCell.m in Sources */, + B1D5EC2120BC06CB00983FB6 /* ODRefreshControl.m in Sources */, + B1D5EC2220BC06CB00983FB6 /* FileSearchCell.m in Sources */, + B1D5EC2320BC06CB00983FB6 /* RDVTabBarItem.m in Sources */, + B1D5EC2420BC06CB00983FB6 /* PointShopCell.m in Sources */, + B1D5EC2520BC06CB00983FB6 /* ProjectTopicActivity.m in Sources */, + B1D5EC2620BC06CB00983FB6 /* FileChangeListCell.m in Sources */, + B1D5EC2720BC06CB00983FB6 /* ProjectListViewController.m in Sources */, + B1D5EC2820BC06CB00983FB6 /* EaseMarkdownTextView.m in Sources */, + B1D5EC2920BC06CB00983FB6 /* ActivityView.m in Sources */, + B1D5EC2A20BC06CB00983FB6 /* ListGroupItem.m in Sources */, + B1D5EC2B20BC06CB00983FB6 /* CodingSearchDisplayView.m in Sources */, + B1D5F21F20BD50D000983FB6 /* ProjectRole.m in Sources */, + B1D5EC2C20BC06CB00983FB6 /* MyTask_RootViewController.m in Sources */, + B1D5EC2D20BC06CB00983FB6 /* SettingAccountViewController.m in Sources */, + B1D5EC2E20BC06CB00983FB6 /* SWTableViewCell.m in Sources */, + B1D5EC2F20BC06CB00983FB6 /* ScanBGView.m in Sources */, + B1D5EC3020BC06CB00983FB6 /* CodingVipTipManager.m in Sources */, + B1D5EC3120BC06CB00983FB6 /* CSTopicHeaderView.m in Sources */, + B1D5EC3220BC06CB00983FB6 /* NJKWebViewProgressView.m in Sources */, + B1D5EC3320BC06CB00983FB6 /* TaskActivityCell.m in Sources */, + B1D5EC3420BC06CB00983FB6 /* ActivenessModel.m in Sources */, + B1D5EC3520BC06CB00983FB6 /* Close2FAViewController.m in Sources */, + B1D5EC3620BC06CB00983FB6 /* NSDate+Common.m in Sources */, + B1D5EC3720BC06CB00983FB6 /* RDVTabBar.m in Sources */, + B1D5EC3820BC06CB00983FB6 /* TMCacheExtend.m in Sources */, + B1D5EC3920BC06CB00983FB6 /* CodingShareView.m in Sources */, + B1D5EC3A20BC06CB00983FB6 /* DistancePickerView.m in Sources */, + B1D5EC3B20BC06CB00983FB6 /* FileVersionsViewController.m in Sources */, + B1D5EC3C20BC06CB00983FB6 /* FileVersion.m in Sources */, + B1D5EC3D20BC06CB00983FB6 /* Depot.m in Sources */, + B1D5EC3E20BC06CB00983FB6 /* ReportIllegalViewController.m in Sources */, + B1D5EC3F20BC06CB00983FB6 /* ShopBannerView.m in Sources */, + B1D5EC4020BC06CB00983FB6 /* TweetDetailCell.m in Sources */, + B1D5EC4120BC06CB00983FB6 /* ProjectTransferSettingViewController.m in Sources */, + B1D5EC4220BC06CB00983FB6 /* UIMessageInputView_Add.m in Sources */, + B1D5EC4320BC06CB00983FB6 /* UIMessageInputView_Voice.m in Sources */, + B1C60C8320BFCEFD0073D3CA /* NFileListViewController.m in Sources */, + B1D5EC4420BC06CB00983FB6 /* UIScrollView+SVInfiniteScrolling.m in Sources */, + B1D5EC4520BC06CB00983FB6 /* PointRecord.m in Sources */, + B1D5EC4620BC06CB00983FB6 /* ShopGoodsCCell.m in Sources */, + B1D5EC4720BC06CB00983FB6 /* FolderToMoveViewController.m in Sources */, + B1D5EC4820BC06CB00983FB6 /* Shop.m in Sources */, + B1D5EC4920BC06CB00983FB6 /* CategorySearchBar.m in Sources */, + B1D5EC4A20BC06CB00983FB6 /* UISearchBar+Common.m in Sources */, + B1D5EC4B20BC06CB00983FB6 /* UIImage+GIF.m in Sources */, + B1D5EC4C20BC06CB00983FB6 /* MessageCell.m in Sources */, + B1D5EC4D20BC06CB00983FB6 /* SettingMineInfoViewController.m in Sources */, + B1D5EC4E20BC06CB00983FB6 /* TweetSendImageCCell.m in Sources */, + B1D5EC4F20BC06CB00983FB6 /* OTPGenerator.m in Sources */, + B1D5EC5020BC06CB00983FB6 /* AddUserViewController.m in Sources */, + B1D5EC5120BC06CB00983FB6 /* TaskResourceReferenceCell.m in Sources */, + B1D5EC5220BC06CB00983FB6 /* UIButton+Bootstrap.m in Sources */, + B1D5EC5320BC06CB00983FB6 /* NSDate+Helper.m in Sources */, + B1D5EC5420BC06CB00983FB6 /* MJPhotoView.m in Sources */, + B1D5EC5520BC06CB00983FB6 /* CodeListViewController.m in Sources */, + B1D5EC5620BC06CB00983FB6 /* NProjectItemCell.m in Sources */, + B1D5EC5720BC06CB00983FB6 /* EACodeReleases.m in Sources */, + B1D5EC5820BC06CB00983FB6 /* TeamMembersViewController.m in Sources */, + B1D5EC5920BC06CB00983FB6 /* ActionSheetDatePicker.m in Sources */, + B1D5EC5A20BC06CB00983FB6 /* Input_OnlyText_Cell.m in Sources */, + B1D5EC5B20BC06CB00983FB6 /* FileListUploadCell.m in Sources */, + B1D5EC5C20BC06CB00983FB6 /* ProjectServiceInfo.m in Sources */, + B1D5EC5D20BC06CB00983FB6 /* ProjectListView.m in Sources */, + B1D5EC5E20BC06CB00983FB6 /* EAIntroView.m in Sources */, + B1D5EC5F20BC06CB00983FB6 /* ProjectFolders.m in Sources */, + B1D5EC6020BC06CB00983FB6 /* ProjectTagLabel.m in Sources */, + B1D5EC6120BC06CB00983FB6 /* NSData+ImageContentType.m in Sources */, + B1D5EC6220BC06CB00983FB6 /* UIColor+MobileColors.m in Sources */, + B1D5EC6320BC06CB00983FB6 /* MJPhotoProgressView.m in Sources */, + B1D5EC6420BC06CB00983FB6 /* EADeviceToServerLog.m in Sources */, + B1D5EC6520BC06CB00983FB6 /* MRPRFilesViewController.m in Sources */, + B1D5EC6620BC06CB00983FB6 /* PHAsset+Common.m in Sources */, + B1D5EC6720BC06CB00983FB6 /* FileListFolderCell.m in Sources */, + B1D5EC6820BC06CB00983FB6 /* Users.m in Sources */, + B1D5EC6920BC06CB00983FB6 /* UserCell.m in Sources */, + B1D5EC6A20BC06CB00983FB6 /* PointRecordsViewController.m in Sources */, + B1D5EC6B20BC06CB00983FB6 /* OTPAuthClock.m in Sources */, + B1D5EC6C20BC06CB00983FB6 /* TOTPGenerator.m in Sources */, + B1D5EC6D20BC06CB00983FB6 /* CSHotTopicView.m in Sources */, + B1D5EC6E20BC06CB00983FB6 /* CodingTip.m in Sources */, + B1D5EC6F20BC06CB00983FB6 /* NProjectViewController.m in Sources */, + B1D5EC7020BC06CB00983FB6 /* SettingPhoneViewController.m in Sources */, + B1D5EC7120BC06CB00983FB6 /* PrivateMessage.m in Sources */, + B1D5EC7220BC06CB00983FB6 /* ProjectTaskListViewCell.m in Sources */, + B1D5EC7320BC06CB00983FB6 /* UIDevice+Info.m in Sources */, + B1D5EC7420BC06CB00983FB6 /* UIMessageInputView_Media.m in Sources */, + B1D5EC7520BC06CB00983FB6 /* QBAlbumCell.m in Sources */, + B1D5EC7620BC06CB00983FB6 /* FileActivityCell.m in Sources */, + B1D5EC7720BC06CB00983FB6 /* UIAlertView+AFNetworking.m in Sources */, + B1D5EC7820BC06CB00983FB6 /* WikiHistoryListViewController.m in Sources */, + B1D5EC7920BC06CB00983FB6 /* CommitCommentCell.m in Sources */, + B1D5EC7A20BC06CB00983FB6 /* ProjectAboutOthersListCell.m in Sources */, + B1D5EC7B20BC06CB00983FB6 /* SDWebImageManager.m in Sources */, + B1D5EC7C20BC06CB00983FB6 /* amrFileCodec.m in Sources */, + B1D5EC7D20BC06CB00983FB6 /* SettingViewController.m in Sources */, + B1D5EC7E20BC06CB00983FB6 /* ActivityMonScrollView.m in Sources */, + B1D5EC7F20BC06CB00983FB6 /* ActionSheetStringPicker.m in Sources */, + B1D5EC8020BC06CB00983FB6 /* LeftImage_LRTextCell.m in Sources */, + B1D5EC8120BC06CB00983FB6 /* ProjectSettingEntranceController.m in Sources */, + B1D5EC8220BC06CB00983FB6 /* UINavigationBar+Common.m in Sources */, + B1D5EC8320BC06CB00983FB6 /* ShopOrderListView.m in Sources */, + B1D5EC8420BC06CB00983FB6 /* SWActionSheet.m in Sources */, + B1D5EC8520BC06CB00983FB6 /* ProjectInfoCell.m in Sources */, + B14DE6DF20C914E70072ECEA /* AnimatedGIFImageSerialization.m in Sources */, + B1D5EC8620BC06CB00983FB6 /* Task.m in Sources */, + B1D5EC8720BC06CB00983FB6 /* TweetSendDetailLoctionCell.m in Sources */, + B1D5EC8820BC06CB00983FB6 /* CannotLoginViewController.m in Sources */, + B1D5EC8920BC06CB00983FB6 /* ShopViewController.m in Sources */, + B1D5EC8A20BC06CB00983FB6 /* Reviewer.m in Sources */, + B1D5EC8B20BC06CB00983FB6 /* EALocalCodeListViewController.m in Sources */, + B1D5EC8C20BC06CB00983FB6 /* AMPopTip+Exit.m in Sources */, + B1D5EC8D20BC06CB00983FB6 /* AppDelegate.m in Sources */, + B1D5EC8E20BC06CB00983FB6 /* AudioAmrUtil.m in Sources */, + B1D5EC8F20BC06CB00983FB6 /* Coding_NetAPIManager.m in Sources */, + B1D5EC9020BC06CB00983FB6 /* FileListFileCell.m in Sources */, + B1D5EC9120BC06CB00983FB6 /* TipsViewController.m in Sources */, + B1D5EC9220BC06CB00983FB6 /* ReviewCell.m in Sources */, + B1D5EC9320BC06CB00983FB6 /* TopicHotkeyView.m in Sources */, + B1D5EC9420BC06CB00983FB6 /* UIPlaceHolderTextView.m in Sources */, + B1D5EC9520BC06CB00983FB6 /* TopicSearchCell.m in Sources */, + B1D5EC9620BC06CB00983FB6 /* ProjectCommitsViewController.m in Sources */, + B1D5EC9720BC06CB00983FB6 /* UIProgressView+AFNetworking.m in Sources */, + B1D5EC9820BC06CB00983FB6 /* UserActiveGraphCell.m in Sources */, + B1D5EC9920BC06CB00983FB6 /* NSURL+Common.m in Sources */, + B1D5EC9A20BC06CB00983FB6 /* UIRefreshControl+AFNetworking.m in Sources */, + B1D5EC9B20BC06CB00983FB6 /* WikiHistoryCell.m in Sources */, + B1D5EC9C20BC06CB00983FB6 /* ProjectCodeListView.m in Sources */, + B1D5EC9D20BC06CB00983FB6 /* LocalFilesViewController.m in Sources */, + B1D5EC9E20BC06CB00983FB6 /* SettingTextCell.m in Sources */, + B1D5EC9F20BC06CB00983FB6 /* LDNetConnect.m in Sources */, + B1D5ECA020BC06CB00983FB6 /* MRDetailViewController.m in Sources */, + B1D5ECA120BC06CB00983FB6 /* UITableView+Common.m in Sources */, + B1D5ECA220BC06CB00983FB6 /* JDStatusBarNotification.m in Sources */, + B1D5ECA320BC06CB00983FB6 /* RFKeyboardToolbar.m in Sources */, + B1D5ECA420BC06CB00983FB6 /* CSSearchDisplayVC.m in Sources */, + B1D5ECA520BC06CB00983FB6 /* CodeBranchOrTag.m in Sources */, + B1D5ECA620BC06CB00983FB6 /* EasePageViewController.m in Sources */, + B1D5ECA720BC06CB00983FB6 /* ObjcRuntime.m in Sources */, + B1D5ECA820BC06CB00983FB6 /* UIVerticalAlignmentLabel.m in Sources */, + B1D5ECA920BC06CB00983FB6 /* TaskSelectionCell.m in Sources */, + B1D5ECAA20BC06CB00983FB6 /* EANetTraceRoute.m in Sources */, + B1D5ECAB20BC06CB00983FB6 /* AFURLRequestSerialization.m in Sources */, + B1D5ECAC20BC06CB00983FB6 /* UIUnderlinedButton.m in Sources */, + B1D5ECAD20BC06CB00983FB6 /* TaskCommentCCell.m in Sources */, + B1D5ECAE20BC06CB00983FB6 /* AutoSlideScrollView.m in Sources */, + B1D5ECAF20BC06CB00983FB6 /* LocalFoldersViewController.m in Sources */, + B1D5ECB020BC06CB00983FB6 /* LDNetGetAddress.m in Sources */, + B1D5ECB120BC06CB00983FB6 /* UIViewController+DownMenu.m in Sources */, + B1D5ECB220BC06CB00983FB6 /* PopMenu.m in Sources */, + B1D5ECB320BC06CB00983FB6 /* LikersViewController.m in Sources */, + B1D5ECB420BC06CB00983FB6 /* TitleValueMoreCell.m in Sources */, + B1D5ECB520BC06CB00983FB6 /* CSSearchModel.m in Sources */, + B1D5ECB620BC06CB00983FB6 /* WikiHeaderView.m in Sources */, + B1D5ECB720BC06CB00983FB6 /* TaskCommentCell.m in Sources */, + B1D5ECB820BC06CB00983FB6 /* AGEmojiPageView.m in Sources */, + B1D5ECB920BC06CB00983FB6 /* ASProgressPopUpView.m in Sources */, + B1D5ECBA20BC06CB00983FB6 /* EditLabelViewController.m in Sources */, + B1D5ECBB20BC06CB00983FB6 /* AddMDCommentViewController.m in Sources */, + B1D5ECBC20BC06CB00983FB6 /* Coding_FileManager.m in Sources */, + B1D5ECBD20BC06CB00983FB6 /* UIMessageInputView.m in Sources */, + B1D5ECBE20BC06CB00983FB6 /* AudioManager.m in Sources */, + B1D5ECBF20BC06CB00983FB6 /* MRPRPreInfo.m in Sources */, + B1D5ECC020BC06CB00983FB6 /* NSMutableString+Common.m in Sources */, + B1D5ECC120BC06CB00983FB6 /* UIViewController+BackButtonHandler.m in Sources */, + B1D5ECC220BC06CB00983FB6 /* CountryCodeCell.m in Sources */, + B1D5ECC320BC06CB00983FB6 /* RATaskBoardListListViewController.m in Sources */, + B1D5ECC420BC06CB00983FB6 /* DynamicActivityCell.m in Sources */, + B1D5ECC520BC06CB00983FB6 /* MRPRDetailCell.m in Sources */, + B1D5ECC620BC06CB00983FB6 /* TopicContentCell.m in Sources */, + B1D5ECC720BC06CB00983FB6 /* ForkTreeCell.m in Sources */, + B1D5ECC820BC06CB00983FB6 /* AMPopTip.m in Sources */, + B1D5F20F20BD3BF400983FB6 /* UINavigationController+FullscreenPopGesture.m in Sources */, + B1D5ECC920BC06CB00983FB6 /* MRPRAcceptViewController.m in Sources */, + B1D5ECCA20BC06CB00983FB6 /* UIView+Common.m in Sources */, + B1D5ECCB20BC06CB00983FB6 /* SDWebImageDownloaderOperation.m in Sources */, + B1D5ECCC20BC06CB00983FB6 /* QBAssetsViewController.m in Sources */, + B1D5ECCD20BC06CB00983FB6 /* UserInfoIconCell.m in Sources */, + B1D5ECCE20BC06CB00983FB6 /* ShopOderCell.m in Sources */, + B1D5ECCF20BC06CB00983FB6 /* SettingPasswordViewController.m in Sources */, + B1D5ECD020BC06CB00983FB6 /* FileCommentCell.m in Sources */, + B1D5ECD120BC06CB00983FB6 /* ASPopUpView.m in Sources */, + B1D5ECD220BC06CB00983FB6 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + B1D5ECD320BC06CB00983FB6 /* ProjectCodeListSearchCell.m in Sources */, + B1D5ECD420BC06CB00983FB6 /* TweetSendCreateLocationCell.m in Sources */, + B1D5ECD520BC06CB00983FB6 /* EaseStartView.m in Sources */, + B1D5ECD620BC06CB00983FB6 /* ProjectTopicListView.m in Sources */, + B1D5ECD720BC06CB00983FB6 /* Message_RootViewController.m in Sources */, + B1D5ECD820BC06CB00983FB6 /* LDSimplePing.m in Sources */, + B1D5ECD920BC06CB00983FB6 /* HelpViewController.m in Sources */, + B1D5ECDA20BC06CB00983FB6 /* CSSearchVC.m in Sources */, + B1D5ECDB20BC06CB00983FB6 /* FunctionTipsManager.m in Sources */, + B1D5ECDC20BC06CB00983FB6 /* TweetSendCreateLocationViewController.m in Sources */, + B1D5ECDD20BC06CB00983FB6 /* Commits.m in Sources */, + B1D5ECDE20BC06CB00983FB6 /* QcTask.m in Sources */, + B1D5ECDF20BC06CB00983FB6 /* FileViewController.m in Sources */, + B1D5ECE020BC06CB00983FB6 /* UIImage+WebP.m in Sources */, + B1D5ECE120BC06CB00983FB6 /* TweetSendLocation.m in Sources */, + B1D5ECE220BC06CB00983FB6 /* CodingNetAPIClient.m in Sources */, + B1D5ECE320BC06CB00983FB6 /* ShopOrderTextFieldCell.m in Sources */, + B1D5ECE420BC06CB00983FB6 /* ScreenCell.m in Sources */, + B1D5ECE520BC06CB00983FB6 /* ConversationCell.m in Sources */, + B1D5ECE620BC06CB00983FB6 /* TeamListViewController.m in Sources */, + B186AEB120F462F600A6AF35 /* UIAlertController+Common.m in Sources */, + B1D5ECE720BC06CB00983FB6 /* TweetSendImagesCell.m in Sources */, + B1D5ECE820BC06CB00983FB6 /* WikiEditViewController.m in Sources */, + B1D5ECE920BC06CB00983FB6 /* MRPRListCell.m in Sources */, + B1D5ECEA20BC06CB00983FB6 /* TopicPreviewCell.m in Sources */, + B1D5ECEB20BC06CB00983FB6 /* NSString+Emojize.m in Sources */, + B1D5ECEC20BC06CB00983FB6 /* EaseGitButton.m in Sources */, + B1D5ECED20BC06CB00983FB6 /* ProjectListTaCell.m in Sources */, + B1D5ECEE20BC06CB00983FB6 /* UIImageView+MJWebCache.m in Sources */, + B1D5ECEF20BC06CB00983FB6 /* Commit.m in Sources */, + B1D5ECF020BC06CB00983FB6 /* FileVersionCell.m in Sources */, + B1D5ECF120BC06CB00983FB6 /* TeamListCell.m in Sources */, + B1D5ECF220BC06CB00983FB6 /* UIView+WebCacheOperation.m in Sources */, + B1D5ECF320BC06CB00983FB6 /* TweetSendTextCell.m in Sources */, + B1D5ECF420BC06CB00983FB6 /* XTSegmentControl.m in Sources */, + B1D5ECF520BC06CB00983FB6 /* YLGIFImage.m in Sources */, + B1D5ECF620BC06CB00983FB6 /* CountryCodeListViewController.m in Sources */, + B1D5ECF720BC06CB00983FB6 /* AllSearchDisplayVC.m in Sources */, + B1D5ECF820BC06CB00983FB6 /* TweetSendLocationDetailViewController.m in Sources */, + B1D5F22320BEA37600983FB6 /* MeRootCompanyCell.m in Sources */, + B1D5ECF920BC06CB00983FB6 /* EATerminalViewController.m in Sources */, + B1D5ECFA20BC06CB00983FB6 /* TweetSendMapAnnotation.m in Sources */, + B1D5ECFB20BC06CB00983FB6 /* MRPR.m in Sources */, + B1D5ECFC20BC06CB00983FB6 /* EaseUserInfoCell.m in Sources */, + B1D5ECFD20BC06CB00983FB6 /* CodingBannersView.m in Sources */, + B1D5ECFE20BC06CB00983FB6 /* OTPListViewController.m in Sources */, + B1D5ECFF20BC06CB00983FB6 /* UIImageView+WebCache.m in Sources */, + B1D5F21920BD485D00983FB6 /* TeamPurchaseBilling.m in Sources */, + B1D5ED0020BC06CB00983FB6 /* InputOnlyTextPlainCell.m in Sources */, + B1D5ED0120BC06CB00983FB6 /* NSTimer+Addition.m in Sources */, + B1D5ED0220BC06CB00983FB6 /* AFURLSessionManager.m in Sources */, + B1D5ED0320BC06CB00983FB6 /* MeRootServiceCell.m in Sources */, + B1D5ED0420BC06CB00983FB6 /* ActionSheetLocalePicker.m in Sources */, + B1D5ED0520BC06CB00983FB6 /* UIViewController+Swizzle.m in Sources */, + B1D5ED0620BC06CB00983FB6 /* PublicSearchModel.m in Sources */, + B1D5ED0720BC06CB00983FB6 /* MJPhotoLoadingView.m in Sources */, + B1D5ED0820BC06CB00983FB6 /* FileEditViewController.m in Sources */, + B1D5ED0920BC06CB00983FB6 /* TopicDetailViewController.m in Sources */, + B1C60CA520C0DDF60073D3CA /* TeamSettingViewController.m in Sources */, + B1D5ED0A20BC06CB00983FB6 /* UIImageView+HighlightedWebCache.m in Sources */, + B1D5ED0B20BC06CB00983FB6 /* Helper.m in Sources */, + B1D5ED0C20BC06CB00983FB6 /* PointTopCell.m in Sources */, + B1D5ED0D20BC06CB00983FB6 /* TeamMemberCell.m in Sources */, + B1D5ED0E20BC06CB00983FB6 /* ReviewerListController.m in Sources */, + B1D5ED0F20BC06CB00983FB6 /* UserInfoDetailTagCell.m in Sources */, + B1D5ED1020BC06CB00983FB6 /* SWUtilityButtonView.m in Sources */, + B1D5ED1120BC06CB00983FB6 /* VoiceMedia.m in Sources */, + B1D5ED1220BC06CB00983FB6 /* TaskComment.m in Sources */, + B1D5ED1320BC06CB00983FB6 /* EACodeReleaseTopCell.m in Sources */, + B1D5ED1420BC06CB00983FB6 /* EAPayViewController.m in Sources */, + B1D5ED1520BC06CB00983FB6 /* AGEmojiKeyBoardView.m in Sources */, + B1D5ED1620BC06CB00983FB6 /* RKSwipeBetweenViewControllers.m in Sources */, + B1D5ED1720BC06CB00983FB6 /* EditTopicViewController.m in Sources */, + B1D5ED1820BC06CB00983FB6 /* GlowImageView.m in Sources */, + B1D5ED1920BC06CB00983FB6 /* ProjectToChooseListViewController.m in Sources */, + B1D5ED1A20BC06CB00983FB6 /* SDWebImageCompat.m in Sources */, + B1D5ED1B20BC06CB00983FB6 /* EACodeReleaseBodyCell.m in Sources */, + B1D5ED1C20BC06CB00983FB6 /* Project_RootViewController.m in Sources */, + B1D5ED1D20BC06CB00983FB6 /* EaseGitButtonsView.m in Sources */, + B1D5ED1E20BC06CB00983FB6 /* SettingTagsViewController.m in Sources */, + B1D5ED1F20BC06CB00983FB6 /* EALocalCodeListCell.m in Sources */, + B1D5F23320BEADD200983FB6 /* TeamSupportCell.m in Sources */, + B1D5ED2020BC06CB00983FB6 /* ValueListCell.m in Sources */, + B1D5ED2120BC06CB00983FB6 /* TaskResourceReferenceViewController.m in Sources */, + B1D5ED2220BC06CB00983FB6 /* SVModalWebViewController.m in Sources */, + B1D5ED2320BC06CB00983FB6 /* ShopSwitchCell.m in Sources */, + B1D5ED2520BC06CB00983FB6 /* IntroductionViewController.m in Sources */, + B1D5ED2620BC06CB00983FB6 /* SDWebImagePrefetcher.m in Sources */, + B1D5ED2720BC06CB00983FB6 /* FileChanges.m in Sources */, + B1D5ED2820BC06CB00983FB6 /* UIWebView+AFNetworking.m in Sources */, + B1D5ED2920BC06CB00983FB6 /* EAWiki.m in Sources */, + B1D5ED2A20BC06CB00983FB6 /* WikiMenuListView.m in Sources */, + B1D5ED2B20BC06CB00983FB6 /* EACodeRelease.m in Sources */, + B1D5ED2C20BC06CB00983FB6 /* ForkTreeViewController.m in Sources */, + B1D5ED2D20BC06CB00983FB6 /* CommitContentCell.m in Sources */, + B1D5ED2E20BC06CB00983FB6 /* ProjectViewController.m in Sources */, + B1D5ED2F20BC06CB00983FB6 /* TagCCell.m in Sources */, + B1D5ED3020BC06CB00983FB6 /* UserInfoDetailViewController.m in Sources */, + B1D5ED3120BC06CB00983FB6 /* ProjectAdvancedSettingViewController.m in Sources */, + B1D5ED3220BC06CB00983FB6 /* SWLongPressGestureRecognizer.m in Sources */, + B1D5ED3320BC06CB00983FB6 /* QBAlbumsViewController.m in Sources */, + B1D5ED3420BC06CB00983FB6 /* TweetSendLocaitonMapViewController.m in Sources */, + B1D5ED3520BC06CB00983FB6 /* UIButton+WebCache.m in Sources */, + B1D5ED3620BC06CB00983FB6 /* EABoardTaskListBlankView.m in Sources */, + B1D5ED3720BC06CB00983FB6 /* SDWebImageManager+MJ.m in Sources */, + B1D5ED3820BC06CB00983FB6 /* TopicListView.m in Sources */, + B1D5ED3920BC06CB00983FB6 /* AbstractActionSheetPicker.m in Sources */, + B1D5ED3A20BC06CB00983FB6 /* CodingTips.m in Sources */, + B1D5ED3B20BC06CB00983FB6 /* MRPRCommentCCell.m in Sources */, + B1D5ED3C20BC06CB00983FB6 /* AMPopTip+Animation.m in Sources */, + B1C60C9120BFF7950073D3CA /* ProjectTypeExplanationViewController.m in Sources */, + B1D5ED3D20BC06CB00983FB6 /* TaskCommentTopCell.m in Sources */, + B1D5ED3E20BC06CB00983FB6 /* MRPRCommitsViewController.m in Sources */, + B1D5ED3F20BC06CB00983FB6 /* EABasePageModel.m in Sources */, + B1D5ED4020BC06CB00983FB6 /* UITableViewCell+Common.m in Sources */, + B1D5ED4120BC06CB00983FB6 /* EACodeReleaseListCell.m in Sources */, + B1D5ED4220BC06CB00983FB6 /* CSLikesVC.m in Sources */, + B1D5ED4320BC06CB00983FB6 /* UserOrProjectTweetsViewController.m in Sources */, + B1D5ED4420BC06CB00983FB6 /* CommitDetail.m in Sources */, + B1D5ED4520BC06CB00983FB6 /* DownMenuCell.m in Sources */, + B1D5ED4620BC06CB00983FB6 /* RFToolbarButton.m in Sources */, + B1D5ED4720BC06CB00983FB6 /* TopicListButton.m in Sources */, + B1C60CA920C0DDF60073D3CA /* TeamSupportViewController.m in Sources */, + B1D5ED4820BC06CB00983FB6 /* ImageSizeManager.m in Sources */, + B1D5ED4920BC06CB00983FB6 /* File.m in Sources */, + B1D5ED4A20BC06CB00983FB6 /* ShopOrderViewController.m in Sources */, + B1D5ED4B20BC06CB00983FB6 /* OTPTableViewCell.m in Sources */, + B1D5ED4C20BC06CB00983FB6 /* UIMessageInputView_CCell.m in Sources */, + B1D5ED4D20BC06CB00983FB6 /* DemoModel.m in Sources */, + B1D5ED4E20BC06CB00983FB6 /* TaskCommentBlankCell.m in Sources */, + B1D5ED4F20BC06CB00983FB6 /* AFNetworkActivityIndicatorManager.m in Sources */, + B1D5ED5020BC06CB00983FB6 /* Login.m in Sources */, + B1D5ED5120BC06CB00983FB6 /* TitleDisclosureCell.m in Sources */, + B1D5ED5220BC06CB00983FB6 /* FileDownloadView.m in Sources */, + B1D5ED5320BC06CB00983FB6 /* AFNetworkReachabilityManager.m in Sources */, + B1D5ED5420BC06CB00983FB6 /* LDNetTraceRoute.m in Sources */, + B1D5ED5520BC06CB00983FB6 /* SearchViewController.m in Sources */, + B1D5ED5620BC06CB00983FB6 /* QBImagePickerController.m in Sources */, + B1D5ED5720BC06CB00983FB6 /* EditColorViewController.m in Sources */, + B1D5ED5820BC06CB00983FB6 /* UIScrollView+SVPullToRefresh.m in Sources */, + B1D5ED5920BC06CB00983FB6 /* NSData+OTPBase32Encoding.m in Sources */, + B1D5ED5A20BC06CB00983FB6 /* StartImagesManager.m in Sources */, + B1D5ED5B20BC06CB00983FB6 /* ProjectMemberListViewController.m in Sources */, + B1D5ED5C20BC06CB00983FB6 /* ProjectActivitiesView.m in Sources */, + B1D5ED5D20BC06CB00983FB6 /* MRReviewerCell.m in Sources */, + B1D5ED5E20BC06CB00983FB6 /* TweetCommentCell.m in Sources */, + B1D5ED5F20BC06CB00983FB6 /* BaseNavigationController.m in Sources */, + B1D5ED6020BC06CB00983FB6 /* LocationHelper.m in Sources */, + B1D5ED6120BC06CB00983FB6 /* CSHotTopicPagesVC.m in Sources */, + B1D5ED6220BC06CB00983FB6 /* TaskSearchCell.m in Sources */, + B1D5ED6320BC06CB00983FB6 /* AFURLConnectionOperation.m in Sources */, + B1D5ED6420BC06CB00983FB6 /* ProjectTopic.m in Sources */, + B1D5ED6520BC06CB00983FB6 /* EACodeBranchListViewController.m in Sources */, + B1D5ED6620BC06CB00983FB6 /* TeamProjectsViewController.m in Sources */, + B1D5ED6720BC06CB00983FB6 /* RegisterViewController.m in Sources */, + B1D5ED6820BC06CB00983FB6 /* ShopBanner.m in Sources */, + B1D5ED6920BC06CB00983FB6 /* TitleRImageMoreCell.m in Sources */, + B1D5ED6A20BC06CB00983FB6 /* EABoardTaskListView.m in Sources */, + B1D5ED6B20BC06CB00983FB6 /* FileShare.m in Sources */, + B1D5ED6C20BC06CB00983FB6 /* ShopMutileValueCell.m in Sources */, + B1D5ED6D20BC06CB00983FB6 /* SVWebViewControllerActivitySafari.m in Sources */, + B1D5ED6E20BC06CB00983FB6 /* HOTPGenerator.m in Sources */, + B1D5ED6F20BC06CB00983FB6 /* WikiViewController.m in Sources */, + B1D5ED7020BC06CB00983FB6 /* TweetDetailViewController.m in Sources */, + B1D5ED7120BC06CB00983FB6 /* Team.m in Sources */, + B1D5ED7220BC06CB00983FB6 /* LoginViewController.m in Sources */, + B1D5ED7320BC06CB00983FB6 /* NSData+gzip.m in Sources */, + B1D5ED7420BC06CB00983FB6 /* NSString+OTPURLArguments.m in Sources */, + B1D5ED7520BC06CB00983FB6 /* ProjectSquareViewController.m in Sources */, + B1D5ED7620BC06CB00983FB6 /* EACodeBranches.m in Sources */, + B1D5ED7720BC06CB00983FB6 /* NSLayoutConstraintLine.m in Sources */, + B1D5ED7820BC06CB00983FB6 /* ProjectMemberActivityListViewController.m in Sources */, + B1D5ED7920BC06CB00983FB6 /* BaseViewController.m in Sources */, + B1D5ED7A20BC06CB00983FB6 /* TopicCommentCCell.m in Sources */, + B1D5ED7B20BC06CB00983FB6 /* EaseToolBar.m in Sources */, + B1D5ED7C20BC06CB00983FB6 /* Project.m in Sources */, + B1D5ED7D20BC06CB00983FB6 /* ProjectActivityListView.m in Sources */, + B1D5ED7E20BC06CB00983FB6 /* AFHTTPRequestOperationManager.m in Sources */, + B1D5ED7F20BC06CB00983FB6 /* BubblePlayView.m in Sources */, + B1D5ED8020BC06CB00983FB6 /* FRDLivelyButton.m in Sources */, + B1D5ED8120BC06CB00983FB6 /* UIColor+expanded.m in Sources */, + B1D5ED8220BC06CB00983FB6 /* MRListView.m in Sources */, + B1D5ED8320BC06CB00983FB6 /* UserActiveStatusView.m in Sources */, + B1D5ED8420BC06CB00983FB6 /* ScreenView.m in Sources */, + B1D5ED8520BC06CB00983FB6 /* ProjectCount.m in Sources */, + B1D5ED8620BC06CB00983FB6 /* ResourceReference.m in Sources */, + B1D5ED8720BC06CB00983FB6 /* SDWebImageDownloader.m in Sources */, + B1D5ED8820BC06CB00983FB6 /* HtmlMedia.m in Sources */, + B1D5ED8920BC06CB00983FB6 /* EditLabelCell.m in Sources */, + B1C60CA720C0DDF60073D3CA /* TeamPurchaseViewController.m in Sources */, + B1D5ED8A20BC06CB00983FB6 /* NSString+Common.m in Sources */, + B1D5ED8B20BC06CB00983FB6 /* BasicPreviewItem.m in Sources */, + B1D5ED8C20BC06CB00983FB6 /* MeDisplayViewController.m in Sources */, + B1D5ED8D20BC06CB00983FB6 /* SDImageCache.m in Sources */, + B1D5ED8E20BC06CB00983FB6 /* AddReviewerViewController.m in Sources */, + B1D5ED8F20BC06CB00983FB6 /* FunctionIntroManager.m in Sources */, + B1D5ED9020BC06CB00983FB6 /* NJKWebViewProgress.m in Sources */, + B1D5ED9120BC06CB00983FB6 /* MRPRTopCell.m in Sources */, + B1D5ED9220BC06CB00983FB6 /* ProjectTaskListView.m in Sources */, + B1D5ED9320BC06CB00983FB6 /* ResetLabelViewController.m in Sources */, + B1D5ED9420BC06CB00983FB6 /* FileComment.m in Sources */, + B1D5ED9520BC06CB00983FB6 /* Tweet_RootViewController.m in Sources */, + B1D5ED9620BC06CB00983FB6 /* ProjectDeleteAlertControllerVisualStyle.m in Sources */, + B1D5F21720BD485D00983FB6 /* TeamPurchaseOrder.m in Sources */, + B1D5ED9720BC06CB00983FB6 /* ProjectItemsCell.m in Sources */, + B1D5ED9820BC06CB00983FB6 /* WebContentManager.m in Sources */, + B1D5ED9920BC06CB00983FB6 /* Login2FATipCell.m in Sources */, + B1D5ED9A20BC06CB00983FB6 /* FileChangeDetailViewController.m in Sources */, + B1D5ED9B20BC06CB00983FB6 /* MJPhotoBrowser.m in Sources */, + B1D5ED9C20BC06CB00983FB6 /* CSMyTopicVC.m in Sources */, + B1D5ED9D20BC06CB00983FB6 /* LocationViewController.m in Sources */, + B1D5ED9E20BC06CB00983FB6 /* JDStatusBarLayoutMarginHelper.m in Sources */, + B1D5ED9F20BC06CB00983FB6 /* iCarousel.m in Sources */, + B1D5EDA020BC06CB00983FB6 /* ProjectDescriptionCell.m in Sources */, + B1D5EDA120BC06CB00983FB6 /* UIButton+Common.m in Sources */, + B1D5EDA220BC06CB00983FB6 /* UIDownMenuButton.m in Sources */, + B1D5EDA320BC06CB00983FB6 /* TopicAnswerDetailViewController.m in Sources */, + B1D5EDA420BC06CB00983FB6 /* UsersViewController.m in Sources */, + B1D5EDA520BC06CB00983FB6 /* SkillCCell.m in Sources */, + B1D5EDA620BC06CB00983FB6 /* MenuButton.m in Sources */, + B1D5EDA720BC06CB00983FB6 /* AMPopTip+Draw.m in Sources */, + B1D5EDA820BC06CB00983FB6 /* ProjectArchiveViewController.m in Sources */, + B1D5EDA920BC06CB00983FB6 /* TeamViewController.m in Sources */, + B1D5EDAA20BC06CB00983FB6 /* LocalFileViewController.m in Sources */, + B1D5EDAB20BC06CB00983FB6 /* ResetLabelCell.m in Sources */, + B1D5EDAD20BC06CB00983FB6 /* EACodeBranchListCell.m in Sources */, + B1D5EDAE20BC06CB00983FB6 /* ValueListViewController.m in Sources */, + B1D5EDAF20BC06CB00983FB6 /* ActivateViewController.m in Sources */, + B1D5EDB020BC06CB00983FB6 /* MRPRListViewController.m in Sources */, + B1D5EDB120BC06CB00983FB6 /* NSObject+ObjectMap.m in Sources */, + B1D5EDB220BC06CB00983FB6 /* SWCellScrollView.m in Sources */, + B1D5EDB320BC06CB00983FB6 /* ActionSheetCustomPicker.m in Sources */, + B1D5EDB420BC06CB00983FB6 /* PRMRSearchCell.m in Sources */, + B1D5EDB520BC06CB00983FB6 /* TweetSendViewController.m in Sources */, + B1D5EDB620BC06CB00983FB6 /* PrivateMessages.m in Sources */, + B1D5EDB720BC06CB00983FB6 /* YLImageView.m in Sources */, + B1D5EDB820BC06CB00983FB6 /* CodingBanner.m in Sources */, + B1D5EDB920BC06CB00983FB6 /* ShopOrderModel.m in Sources */, + B1D5EDBA20BC06CB00983FB6 /* MartFunctionTipView.m in Sources */, + B1D5EDBB20BC06CB00983FB6 /* CodingSkill.m in Sources */, + B1D5EDBC20BC06CB00983FB6 /* DashesLineView.m in Sources */, + B1D5EDBD20BC06CB00983FB6 /* Tweets.m in Sources */, + B1D5EDBE20BC06CB00983FB6 /* OTPAuthURL.m in Sources */, + B1D5EDBF20BC06CB00983FB6 /* MJPhoto.m in Sources */, + B1D5EDC020BC06CB00983FB6 /* TweetCell.m in Sources */, + B1D5EDC120BC06CB00983FB6 /* UIBarButtonItem+Common.m in Sources */, + B1D5EDC220BC06CB00983FB6 /* RRFPSBar.m in Sources */, + B1D5EDC320BC06CB00983FB6 /* EaseUserHeaderView.m in Sources */, + B1D5EDC420BC06CB00983FB6 /* PointRecordCell.m in Sources */, + B1D5EDC520BC06CB00983FB6 /* UIView+PressMenu.m in Sources */, + B1D5EDC620BC06CB00983FB6 /* Tasks.m in Sources */, + B1C60C9920C004C80073D3CA /* TeamPurchaseTopCell.m in Sources */, + B1D5EDC720BC06CB00983FB6 /* MBProgressHUD+Add.m in Sources */, + B1D5EDC820BC06CB00983FB6 /* CodeViewController.m in Sources */, + B1D5EDC920BC06CB00983FB6 /* ProjectTweetSendViewController.m in Sources */, + B1D5EDCA20BC06CB00983FB6 /* CommitListCell.m in Sources */, + B1D5EDCB20BC06CB00983FB6 /* EARestrictedScrollView.m in Sources */, + B1D5EDCC20BC06CB00983FB6 /* RDVTabBarController.m in Sources */, + B1D5EDCD20BC06CB00983FB6 /* ProjectLineNote.m in Sources */, + B1D5EDCE20BC06CB00983FB6 /* ProjectAboutMeListCell.m in Sources */, + B1D5EDCF20BC06CB00983FB6 /* EAFliterMenu.m in Sources */, + B1D5EDD020BC06CB00983FB6 /* HotTopicBannerView.m in Sources */, + B1D5F21B20BD485D00983FB6 /* TeamPurchaseBillingDetail.m in Sources */, + B1D5EDD120BC06CB00983FB6 /* EditTaskViewController.m in Sources */, + B1D5EDD220BC06CB00983FB6 /* TagColorDisplayCell.m in Sources */, + B1D5EDD320BC06CB00983FB6 /* ProjectTopics.m in Sources */, + B1D5EDD420BC06CB00983FB6 /* ReviewersInfo.m in Sources */, + B1D5EDD520BC06CB00983FB6 /* ProjectTasksView.m in Sources */, + B1D5EDD620BC06CB00983FB6 /* UICustomCollectionView.m in Sources */, + B1D5EDD720BC06CB00983FB6 /* NSObject+Common.m in Sources */, + B1D5EDD820BC06CB00983FB6 /* SMPageControl.m in Sources */, + B1D5EDD920BC06CB00983FB6 /* Coding_iOS.xcdatamodeld in Sources */, + B1D5EDDA20BC06CB00983FB6 /* ConversationViewController.m in Sources */, + B1D5EDDB20BC06CB00983FB6 /* EaseInputTipsView.m in Sources */, + B1D5EDDC20BC06CB00983FB6 /* NSDate+convenience.m in Sources */, + B1D5EDDD20BC06CB00983FB6 /* CSTopicModel.m in Sources */, + B1D5EDDE20BC06CB00983FB6 /* FileLineChange.m in Sources */, + B1D5EDDF20BC06CB00983FB6 /* PasswordViewController.m in Sources */, + B1C60C7F20BFCDBE0073D3CA /* EditMemberTypeProjectListViewController.m in Sources */, + B1D5EDE020BC06CB00983FB6 /* BaseCollectionCell.m in Sources */, + B1D5EDE120BC06CB00983FB6 /* SVWebViewController.m in Sources */, + B1D5EDE220BC06CB00983FB6 /* EACodeReleaseViewController.m in Sources */, + B1D5EDE320BC06CB00983FB6 /* AFSecurityPolicy.m in Sources */, + B1D5EDE420BC06CB00983FB6 /* UIImage+MultiFormat.m in Sources */, + B1D5EDE520BC06CB00983FB6 /* TweetMediaItemSingleCCell.m in Sources */, + B1D5EDE620BC06CB00983FB6 /* TweetLikeUserCCell.m in Sources */, + B1D5EDE720BC06CB00983FB6 /* RewardTipManager.m in Sources */, + B1D5EDE920BC06CB00983FB6 /* CommitFilesViewController.m in Sources */, + B1D5EDEA20BC06CB00983FB6 /* FileChange.m in Sources */, + B1D5EDEB20BC06CB00983FB6 /* main.m in Sources */, + B1D5EDEC20BC06CB00983FB6 /* NewProjectViewController.m in Sources */, + B1D5EDED20BC06CB00983FB6 /* TeamTopCell.m in Sources */, + B1D5EDEE20BC06CB00983FB6 /* UserInfoTextCell.m in Sources */, + B1D5EDEF20BC06CB00983FB6 /* MRPRDisclosureCell.m in Sources */, + B1D5EDF020BC06CB00983FB6 /* AboutViewController.m in Sources */, + B1D5EDF120BC06CB00983FB6 /* QBAssetCell.m in Sources */, + B1D5EDF220BC06CB00983FB6 /* EACodeReleaseListViewController.m in Sources */, + B1D5EDF320BC06CB00983FB6 /* MeRootUserCell.m in Sources */, + B1D5EDF420BC06CB00983FB6 /* ShopGoods.m in Sources */, + B1D5EDF520BC06CB00983FB6 /* AMPopTip+Entrance.m in Sources */, + B1D5EDF620BC06CB00983FB6 /* PointRecords.m in Sources */, + B1D5EDF720BC06CB00983FB6 /* QBCheckmarkView.m in Sources */, + B1D5EDF820BC06CB00983FB6 /* AFHTTPRequestOperation.m in Sources */, + B1D5EDF920BC06CB00983FB6 /* ProjectLineNoteActivity.m in Sources */, + B1D5EDFA20BC06CB00983FB6 /* MessageMediaItemCCell.m in Sources */, + B1D5EDFB20BC06CB00983FB6 /* MRPRS.m in Sources */, + B1D5EDFC20BC06CB00983FB6 /* EAEditCodeReleaseViewController.m in Sources */, + B1D5EDFD20BC06CB00983FB6 /* UIImage+Common.m in Sources */, + B1D5EDFE20BC06CB00983FB6 /* ProjectTopicCell.m in Sources */, + B1D5EDFF20BC06CB00983FB6 /* TextCheckMarkCell.m in Sources */, + B1D5EE0020BC06CB00983FB6 /* AFHTTPSessionManager.m in Sources */, + B1D5EE0120BC06CB00983FB6 /* XHRealTimeBlur.m in Sources */, + B1D5EE0220BC06CB00983FB6 /* ProjectFile.m in Sources */, + B1D5EE0320BC06CB00983FB6 /* CSTopiclistView.m in Sources */, + B1D5EE0420BC06CB00983FB6 /* UILabel+Common.m in Sources */, + B1D5EE0520BC06CB00983FB6 /* QBSlomoIconView.m in Sources */, + B1D5EE0620BC06CB00983FB6 /* SDWebImageDecoder.m in Sources */, + B1D5EE0720BC06CB00983FB6 /* TweetSearchCell.m in Sources */, + B1D5EE0820BC06CB00983FB6 /* AFURLResponseSerialization.m in Sources */, + B1D5EE0920BC06CB00983FB6 /* CodeFile.m in Sources */, + B1D5EE0A20BC06CB00983FB6 /* EAMilestone.m in Sources */, + B1D5EE0B20BC06CB00983FB6 /* CSSearchCell.m in Sources */, + B1C60C9B20C004C80073D3CA /* TeamPurchaseBillingCell.m in Sources */, + B1D5EE0C20BC06CB00983FB6 /* JDStatusBarView.m in Sources */, + B1D5EE0D20BC06CB00983FB6 /* MRPRAcceptEditCell.m in Sources */, + B1D5EE0E20BC06CB00983FB6 /* EACodeReleaseAttachmentsOrReferencesCell.m in Sources */, + B1D5EE0F20BC06CB00983FB6 /* MenuItem.m in Sources */, + B1D5EE1020BC06CB00983FB6 /* TweetMediaItemCCell.m in Sources */, + B1D5EE1120BC06CB00983FB6 /* EditLabelHeadCell.m in Sources */, + B1D5EE1220BC06CB00983FB6 /* TaskContentCell.m in Sources */, + B1D5EE1320BC06CB00983FB6 /* TaskDescriptionViewController.m in Sources */, + B1D5EE1420BC06CB00983FB6 /* AddressManager.m in Sources */, + B1D5EE1520BC06CB00983FB6 /* ProjectSettingViewController.m in Sources */, + B1D5EE1620BC06CB00983FB6 /* ActionSheetDistancePicker.m in Sources */, + B1D5EE1720BC06CB00983FB6 /* ProjectCodeListCell.m in Sources */, + B1D5EE1820BC06CB00983FB6 /* UserServiceInfo.m in Sources */, + B1D5EE1920BC06CB00983FB6 /* TweetSendLocationViewController.m in Sources */, + B1C60C7B20BFA2150073D3CA /* NProjectFileListView.m in Sources */, + B1D5EE1A20BC06CB00983FB6 /* ProjectFolderListCell.m in Sources */, + B1D5EE1B20BC06CB00983FB6 /* User.m in Sources */, + B1D5EE1C20BC06CB00983FB6 /* MJPhotoToolbar.m in Sources */, + B1D5EE1D20BC06CB00983FB6 /* TweetDetailCommentCell.m in Sources */, + B1D5EE1E20BC06CB00983FB6 /* SettingSkillsViewController.m in Sources */, + B1D5EE1F20BC06CB00983FB6 /* MRPRBaseInfo.m in Sources */, + B1D5EE2020BC06CB00983FB6 /* AudioRecordView.m in Sources */, + B1D5EE2120BC06CB00983FB6 /* TagColorEditCell.m in Sources */, + B1D5EE2220BC06CB00983FB6 /* QBVideoIndicatorView.m in Sources */, + B1C60C9D20C004C80073D3CA /* TeamPurchaseOrderCell.m in Sources */, + B1D5EE2320BC06CB00983FB6 /* FileInfoViewController.m in Sources */, + B1D5EE2420BC06CB00983FB6 /* CommitInfo.m in Sources */, + B1D5EE2520BC06CB00983FB6 /* CodeBranchTagButton.m in Sources */, + B1D5EE2620BC06CB00983FB6 /* ShopGoodsInfoView.m in Sources */, + B1D5EE2720BC06CB00983FB6 /* UIBadgeView.m in Sources */, + B1D5EE2820BC06CB00983FB6 /* BaseModel.m in Sources */, + B1D5EE2920BC06CB00983FB6 /* TaskSelectionView.m in Sources */, + B1D5EE2A20BC06CB00983FB6 /* ProjectListCell.m in Sources */, + B1D5EE2B20BC06CB00983FB6 /* EABoardTaskList.m in Sources */, + B1D5EE2C20BC06CB00983FB6 /* CSTopicDetailVC.m in Sources */, + B1D5EE2D20BC06CB00983FB6 /* ToMessageCell.m in Sources */, + B1D5EE2E20BC06CB00983FB6 /* SVWebViewControllerActivityChrome.m in Sources */, + B1D5EE2F20BC06CB00983FB6 /* PhoneCodeButton.m in Sources */, + B1D5EE3020BC06CB00983FB6 /* TopicAnswerCommentMoreCell.m in Sources */, + B1D5EE3120BC06CB00983FB6 /* LDNetPing.m in Sources */, + B1D5EE3220BC06CB00983FB6 /* DynamicCommentCell.m in Sources */, + B1D5EE3320BC06CB00983FB6 /* CSScrollview.m in Sources */, + B1D5EE3420BC06CB00983FB6 /* NSString+Attribute.m in Sources */, + B1D5EE3520BC06CB00983FB6 /* ProjectTopicsView.m in Sources */, + B1D5EE3620BC06CB00983FB6 /* ProjectFolder.m in Sources */, + B1D5EE3720BC06CB00983FB6 /* ProjectActivityListCell.m in Sources */, + B1D5EE3820BC06CB00983FB6 /* JDStatusBarStyle.m in Sources */, + B1D5EE3920BC06CB00983FB6 /* LDNetDiagnoService.m in Sources */, + B1D5EE3A20BC06CB00983FB6 /* EditCodeViewController.m in Sources */, + B1D5EE3B20BC06CB00983FB6 /* SettingTextViewController.m in Sources */, + B1D5EE3C20BC06CB00983FB6 /* EATaskBoardListTaskCell.m in Sources */, + B1D5EE3D20BC06CB00983FB6 /* LocationCell.m in Sources */, + B1D5EE3E20BC06CB00983FB6 /* QBVideoIconView.m in Sources */, + B1D5EE3F20BC06CB00983FB6 /* Comment.m in Sources */, + B1D5EE4020BC06CB00983FB6 /* TweetSendLocationCell.m in Sources */, + B1D5EE4120BC06CB00983FB6 /* HtmlMediaViewController.m in Sources */, + B1D5EE4220BC06CB00983FB6 /* CSTopicCreateVC.m in Sources */, + B1D5EE4320BC06CB00983FB6 /* NSMutableArray+SWUtilityButtons.m in Sources */, + B1D5EE4420BC06CB00983FB6 /* MActivityInfo.m in Sources */, + B1D5EE4520BC06CB00983FB6 /* UILongPressMenuImageView.m in Sources */, + B1D5EE4620BC06CB00983FB6 /* FileChangesIntroduceCell.m in Sources */, + B1D5EE4720BC06CB00983FB6 /* Register.m in Sources */, + B1D5EE4820BC06CB00983FB6 /* ShopOrder.m in Sources */, + B1D5EE4920BC06CB00983FB6 /* TopicAnswerCell.m in Sources */, + B1D5EE4A20BC06CB00983FB6 /* NSTimer+Common.m in Sources */, + B1D5EE4B20BC06CB00983FB6 /* CodingTipCell.m in Sources */, + B1D5EE4C20BC06CB00983FB6 /* AboutPointViewController.m in Sources */, + B1D5EE4D20BC06CB00983FB6 /* ProjectTagsView.m in Sources */, + B1D5EE4E20BC06CB00983FB6 /* Projects.m in Sources */, + B1D5EE4F20BC06CB00983FB6 /* UserInfoDetailUserCell.m in Sources */, + B1D5EE5020BC06CB00983FB6 /* ProjectActivities.m in Sources */, + B1D5EE5120BC06CB00983FB6 /* LocalFileCell.m in Sources */, + B1D5EE5220BC06CB00983FB6 /* MRReviewerListCell.m in Sources */, + B1D5EE5320BC06CB00983FB6 /* UITapImageView.m in Sources */, + B1D5EE5420BC06CB00983FB6 /* NSURL+OTPURLArguments.m in Sources */, + B1D5EE5520BC06CB00983FB6 /* FileActivitiesViewController.m in Sources */, + B1D5EE5620BC06CB00983FB6 /* LocalFolderCell.m in Sources */, + B1D5EE5720BC06CB00983FB6 /* SVWebViewControllerActivity.m in Sources */, + B1D5EE5820BC06CB00983FB6 /* TagsScrollView.m in Sources */, + B1D5EE5920BC06CB00983FB6 /* TaskDescriptionCell.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ @@ -7410,6 +12639,18 @@ name = InfoPlist.strings; sourceTree = ""; }; + B12B645A1FFB61AD00ACFDCC /* QBImagePicker.strings */ = { + isa = PBXVariantGroup; + children = ( + B12B645B1FFB61AD00ACFDCC /* de */, + B12B645D1FFB61AD00ACFDCC /* zh-Hans */, + B12B645E1FFB61AD00ACFDCC /* ja */, + B12B64631FFB61AD00ACFDCC /* en */, + B12B64641FFB61AD00ACFDCC /* es */, + ); + name = QBImagePicker.strings; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -7417,24 +12658,38 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Yuanchuang Wang (6KJRVPP9CY)"; COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -7447,7 +12702,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; @@ -7457,23 +12712,37 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = NO; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = NO; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Shenzhen Coding Network Technology Co., Ltd. (QN5Z87S3LH)"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = NS_BLOCK_ASSERTIONS; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -7481,7 +12750,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -7493,7 +12762,6 @@ baseConfigurationReference = 34E37865A7DAAE68AEF68258 /* Pods-Coding_iOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_ENTITLEMENTS = Coding_iOS/Coding_iOS.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -7504,6 +12772,7 @@ "$(inherited)", "$(PROJECT_DIR)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Coding_iOS/Vendor/AlipaySDK", ); GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -7516,13 +12785,12 @@ "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework/Headers/", ); INFOPLIST_FILE = "Coding_iOS/Coding_iOS-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Coding_iOS/Vendor/XGPush", "$(PROJECT_DIR)/Coding_iOS/Util/Audio/opencore-amr-iOS/lib", - "$(PROJECT_DIR)/Coding_iOS/Vendor/UMSocial_Sdk_4.3.0_Extra/SinaSSO", ); PRODUCT_BUNDLE_IDENTIFIER = net.coding.CodingForiOS; PRODUCT_NAME = Coding_iOS; @@ -7538,7 +12806,6 @@ baseConfigurationReference = 2FD5D8DD0689696D28A6D49E /* Pods-Coding_iOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_ENTITLEMENTS = Coding_iOS/Coding_iOS.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -7549,6 +12816,7 @@ "$(inherited)", "$(PROJECT_DIR)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Coding_iOS/Vendor/AlipaySDK", ); GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -7561,13 +12829,12 @@ "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework/Headers/", ); INFOPLIST_FILE = "Coding_iOS/Coding_iOS-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Coding_iOS/Vendor/XGPush", "$(PROJECT_DIR)/Coding_iOS/Util/Audio/opencore-amr-iOS/lib", - "$(PROJECT_DIR)/Coding_iOS/Vendor/UMSocial_Sdk_4.3.0_Extra/SinaSSO", ); PRODUCT_BUNDLE_IDENTIFIER = net.coding.CodingForiOS; PRODUCT_NAME = Coding_iOS; @@ -7578,6 +12845,94 @@ }; name = Release; }; + B1D5F20020BC06CB00983FB6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 59EA81AF0F8C7610F675E1EB /* Pods-Coding_iOS-Coding_Enterprise_iOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon_E; + CODE_SIGN_ENTITLEMENTS = Coding_iOS/Coding_Enterprise_iOS.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = QN5Z87S3LH; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Coding_iOS/Vendor/AlipaySDK", + ); + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Coding_iOS/Coding_Enterprise_iOS-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /usr/include/libxml2, + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "Pods/evernote-cloud-sdk-ios/**", + "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework/Headers/", + ); + INFOPLIST_FILE = "$(SRCROOT)/Coding_iOS/Coding_Enterprise_iOS-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Coding_iOS/Vendor/XGPush", + "$(PROJECT_DIR)/Coding_iOS/Util/Audio/opencore-amr-iOS/lib", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.coding.CodingEnterpriseForiOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE_SPECIFIER = ""; + TARGETED_DEVICE_FAMILY = 1; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + B1D5F20120BC06CB00983FB6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 22A08D8B77355DB8A773B8E2 /* Pods-Coding_iOS-Coding_Enterprise_iOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon_E; + CODE_SIGN_ENTITLEMENTS = Coding_iOS/Coding_Enterprise_iOS.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = QN5Z87S3LH; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Coding_iOS/Vendor/AlipaySDK", + ); + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Coding_iOS/Coding_Enterprise_iOS-Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /usr/include/libxml2, + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "Pods/evernote-cloud-sdk-ios/**", + "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework/Headers/", + ); + INFOPLIST_FILE = "$(SRCROOT)/Coding_iOS/Coding_Enterprise_iOS-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Coding_iOS/Vendor/XGPush", + "$(PROJECT_DIR)/Coding_iOS/Util/Audio/opencore-amr-iOS/lib", + ); + PRODUCT_BUNDLE_IDENTIFIER = net.coding.CodingEnterpriseForiOS; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE_SPECIFIER = ""; + TARGETED_DEVICE_FAMILY = 1; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -7599,6 +12954,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B1D5F1FF20BC06CB00983FB6 /* Build configuration list for PBXNativeTarget "Coding_Enterprise_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B1D5F20020BC06CB00983FB6 /* Debug */, + B1D5F20120BC06CB00983FB6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ diff --git a/Coding_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Coding_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/Coding_iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Coding_iOS.xcodeproj/xcshareddata/xcschemes/Coding_Enterprise_iOS.xcscheme b/Coding_iOS.xcodeproj/xcshareddata/xcschemes/Coding_Enterprise_iOS.xcscheme new file mode 100644 index 000000000..b934a3b52 --- /dev/null +++ b/Coding_iOS.xcodeproj/xcshareddata/xcschemes/Coding_Enterprise_iOS.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Coding_iOS.xcodeproj/xcshareddata/xcschemes/Coding_iOS.xcscheme b/Coding_iOS.xcodeproj/xcshareddata/xcschemes/Coding_iOS.xcscheme new file mode 100644 index 000000000..7eacabe99 --- /dev/null +++ b/Coding_iOS.xcodeproj/xcshareddata/xcschemes/Coding_iOS.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Coding_iOS.xcworkspace/contents.xcworkspacedata b/Coding_iOS.xcworkspace/contents.xcworkspacedata old mode 100755 new mode 100644 index 7c557954e..790df574d --- a/Coding_iOS.xcworkspace/contents.xcworkspacedata +++ b/Coding_iOS.xcworkspace/contents.xcworkspacedata @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + + diff --git a/Coding_iOS.xcworkspace/xcshareddata/Coding_iOS.xcscmblueprint b/Coding_iOS.xcworkspace/xcshareddata/Coding_iOS.xcscmblueprint deleted file mode 100644 index f116bcfea..000000000 --- a/Coding_iOS.xcworkspace/xcshareddata/Coding_iOS.xcscmblueprint +++ /dev/null @@ -1,37 +0,0 @@ -{ - "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "9F3660E5AC46AAE96CC141F90EBB3A671D67F2C2", - "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : { - - }, - "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : { - "0BE8B4916C79C0D6BC415A5C19AC33B37D62A706" : 0, - "B810104048DF61B07FF1F2922D434EA5073F4362" : 0, - "9F3660E5AC46AAE96CC141F90EBB3A671D67F2C2" : 0 - }, - "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "433ECD69-91E4-4E60-9763-B27EA86C3648", - "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : { - "0BE8B4916C79C0D6BC415A5C19AC33B37D62A706" : "Coding-iOS\/Coding_iOS\/Resources\/webview\/", - "B810104048DF61B07FF1F2922D434EA5073F4362" : "Coding_iOS", - "9F3660E5AC46AAE96CC141F90EBB3A671D67F2C2" : "Coding-iOS\/" - }, - "DVTSourceControlWorkspaceBlueprintNameKey" : "Coding_iOS", - "DVTSourceControlWorkspaceBlueprintVersion" : 204, - "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "Coding_iOS.xcworkspace", - "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [ - { - "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "git:\/\/git.coding.net\/bluishoul\/CodingAppWebviewTemplate.git", - "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", - "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "0BE8B4916C79C0D6BC415A5C19AC33B37D62A706" - }, - { - "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/coding.net\/coding\/Coding-iOS.git", - "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", - "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "9F3660E5AC46AAE96CC141F90EBB3A671D67F2C2" - }, - { - "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/coding.net\/ease\/Coding-iOS.git", - "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", - "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "B810104048DF61B07FF1F2922D434EA5073F4362" - } - ] -} \ No newline at end of file diff --git a/Coding_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Coding_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/Coding_iOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Coding_iOS.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Coding_iOS.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..08de0be8d --- /dev/null +++ b/Coding_iOS.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + diff --git a/Coding_iOS.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist b/Coding_iOS.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100644 index 62cf889c4..000000000 --- a/Coding_iOS.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/Coding_iOS/.DS_Store b/Coding_iOS/.DS_Store index cc57d71f7..cb024efb6 100644 Binary files a/Coding_iOS/.DS_Store and b/Coding_iOS/.DS_Store differ diff --git a/Coding_iOS/AppDelegate.m b/Coding_iOS/AppDelegate.m index cb7a0956f..cf64487f2 100644 --- a/Coding_iOS/AppDelegate.m +++ b/Coding_iOS/AppDelegate.m @@ -30,15 +30,13 @@ #import "TweetSendViewController.h" #import "ProjectToChooseListViewController.h" #import "OTPListViewController.h" +#import "WikiEditViewController.h" #import "FunctionIntroManager.h" -#import -#import -#import #import -#import "UMSocialSinaSSOHandler.h" #import "Coding_NetAPIManager.h" #import "EADeviceToServerLog.h" +#import #import "Tweet.h" #import "sys/utsname.h" @@ -51,17 +49,10 @@ @implementation AppDelegate #pragma mark XGPush - (void)registerPush{ - float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue]; - if(sysVer < 8){ - [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)]; - }else{ -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= _IPHONE80_ - UIMutableUserNotificationCategory *categorys = [[UIMutableUserNotificationCategory alloc] init]; - UIUserNotificationSettings *userSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert - categories:[NSSet setWithObject:categorys]]; - [[UIApplication sharedApplication] registerUserNotificationSettings:userSettings]; -#endif - } + UIMutableUserNotificationCategory *categorys = [[UIMutableUserNotificationCategory alloc] init]; + UIUserNotificationSettings *userSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert + categories:[NSSet setWithObject:categorys]]; + [[UIApplication sharedApplication] registerUserNotificationSettings:userSettings]; } #pragma mark UserAgent @@ -72,8 +63,11 @@ - (void)registerUserAgent{ } #pragma lifeCycle -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ + if (kTarget_Enterprise) {//这是很早之前为测试弄的吧 + [NSObject preCookieHandle];//cookie 设置 + } + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; @@ -101,16 +95,20 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [self.window makeKeyAndVisible]; [FunctionIntroManager showIntroPage]; - EaseStartView *startView = [EaseStartView startView]; - @weakify(self); - [startView startAnimationWithCompletionBlock:^(EaseStartView *easeStartView) { - @strongify(self); + if (kTarget_Enterprise) { [self completionStartAnimationWithOptions:launchOptions]; - }]; + }else{ + EaseStartView *startView = [EaseStartView new]; + @weakify(self); + [startView startAnimationWithCompletionBlock:^(EaseStartView *easeStartView) { + @strongify(self); + [self completionStartAnimationWithOptions:launchOptions]; + }]; + } #if DEBUG -// [[RRFPSBar sharedInstance] setShowsAverage:YES]; -// [[RRFPSBar sharedInstance] setHidden:NO]; + [[RRFPSBar sharedInstance] setShowsAverage:YES]; + [[RRFPSBar sharedInstance] setHidden:NO]; #endif return YES; } @@ -124,30 +122,19 @@ - (void)completionStartAnimationWithOptions:(NSDictionary *)launchOptions{ } // UMENG 统计 - [MobClick startWithAppkey:kUmeng_AppKey reportPolicy:BATCH channelId:nil]; + UMConfigInstance.appKey = kUmeng_AppKey; + [MobClick startWithConfigure:UMConfigInstance]; - // UMENG Social Account - [UMSocialData setAppKey:kUmeng_AppKey]; - [UMSocialWechatHandler setWXAppId:kSocial_WX_ID appSecret:kSocial_WX_Secret url:[NSObject baseURLStr]]; - [UMSocialQQHandler setQQWithAppId:kSocial_QQ_ID appKey:kSocial_QQ_Secret url:[NSObject baseURLStr]]; - [ENSession setSharedSessionConsumerKey:kSocial_EN_Key consumerSecret:kSocial_EN_Secret optionalHost:nil]; - [UMSocialSinaSSOHandler openNewSinaSSOWithRedirectURL:kSocial_Sina_RedirectURL]; - - // UMENG Social Config - [UMSocialConfig setFollowWeiboUids:@{UMShareToSina : kSocial_Sina_OfficailAccount}];//设置默认关注官方账号 - [UMSocialConfig setFinishToastIsHidden:YES position:UMSocialiToastPositionCenter]; - [UMSocialConfig setNavigationBarConfig:^(UINavigationBar *bar, UIButton *closeButton, UIButton *backButton, UIButton *postButton, UIButton *refreshButton, UINavigationItem *navigationItem) { - if (bar) { - [bar setBackgroundImage:[UIImage imageWithColor:kColorNavBG] forBarMetrics:UIBarMetricsDefault]; - } - if (navigationItem) { - if ([[navigationItem titleView] isKindOfClass:[UILabel class]]) { - UILabel *titleL = (UILabel *)[navigationItem titleView]; - titleL.font = [UIFont boldSystemFontOfSize:kNavTitleFontSize]; - titleL.textColor = [UIColor whiteColor]; - } - } - }]; + if (!kTarget_Enterprise) { + //UMSocialManager & 第三方登录 + [[UMSocialManager defaultManager] openLog:YES]; + [UMSocialGlobal shareInstance].isUsingHttpsWhenShareContent = NO; + [[UMSocialManager defaultManager] setUmSocialAppkey:kUmeng_AppKey]; + [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:kSocial_WX_ID appSecret:kSocial_WX_Secret redirectURL:nil]; + [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:kSocial_QQ_ID appSecret:kSocial_QQ_Secret redirectURL:nil]; + [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Sina appKey:kSocial_Sina_ID appSecret:kSocial_Sina_Secret redirectURL:kSocial_Sina_RedirectURL]; + [ENSession setSharedSessionConsumerKey:kSocial_EN_Key consumerSecret:kSocial_EN_Secret optionalHost:nil]; + } // 信鸽推送 [XGPush startApp:kXGPush_Id appKey:kXGPush_Key]; @@ -173,6 +160,9 @@ - (void)applicationWillResignActive:(UIApplication *)application { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + if ([[BaseViewController presentingVC] isKindOfClass:[WikiEditViewController class]]) { + [(WikiEditViewController *)[BaseViewController presentingVC] saveWikiDraft]; + } [[ImageSizeManager shareManager] save]; [[Tweet tweetForSend] saveSendData]; } @@ -203,7 +193,7 @@ - (void)applicationDidBecomeActive:(UIApplication *)application #pragma clang diagnostic pop } } - // Coding 报告 + // CODING 报告 [[EADeviceToServerLog shareManager] tryToStart]; } @@ -212,6 +202,27 @@ - (void)applicationWillTerminate:(UIApplication *)application // Saves changes in the application's managed object context before the application terminates. [self saveContext]; } + +#ifndef Target_Enterprise + +// Universal Links - 个人版支持的东西 +#pragma mark Universal Links + +- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler{ + if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) { +// UIViewController *vc = [BaseViewController analyseVCFromLinkStr:userActivity.webpageURL.absoluteString]; +// if (vc) { +// [BaseViewController presentVC:vc]; +// } + [BaseViewController presentLinkStr:userActivity.webpageURL.absoluteString];//支持的链接就 native 打开,不支持的就用 web 打开 + }else{ + [[UIApplication sharedApplication] openURL:userActivity.webpageURL]; + } + return YES; +} + +#endif + #pragma mark - XGPush Message - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -237,13 +248,29 @@ - (void)application:(UIApplication *)application didRegisterUserNotificationSett #pragma mark - Methods Private - (void)setupLoginViewController{ +#ifdef Target_Enterprise + + IntroductionViewController *introductionVC = [[IntroductionViewController alloc] init]; + [self.window setRootViewController:introductionVC]; + [introductionVC presentLoginUI]; + +#else + LoginViewController *loginVC = [[LoginViewController alloc] init]; - [self.window setRootViewController:[[BaseNavigationController alloc] initWithRootViewController:loginVC]]; + [self.window setRootViewController:[[UINavigationController alloc] initWithRootViewController:loginVC]]; + +#endif } - (void)setupIntroductionViewController{ - IntroductionViewController *introductionVC = [[IntroductionViewController alloc] init]; - [self.window setRootViewController:introductionVC]; + if (kTarget_Enterprise) { + IntroductionViewController *introductionVC = [[IntroductionViewController alloc] init]; + [self.window setRootViewController:introductionVC]; + }else{ + [self setupLoginViewController];//猥琐换 +// IntroductionViewController *introductionVC = [[IntroductionViewController alloc] init]; +// [self.window setRootViewController:introductionVC]; + } } - (void)setupTabViewController{ @@ -254,27 +281,40 @@ - (void)setupTabViewController{ } - (void)customizeInterface { + {//UIBarButtonItem 颜色&字体 + NSDictionary *textAttributes = @{ + NSFontAttributeName: [UIFont systemFontOfSize:kBackButtonFontSize], + NSForegroundColorAttributeName: kColorLightBlue, + }; + [[UIBarButtonItem appearance] setTitleTextAttributes:textAttributes forState:UIControlStateNormal]; + [[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:kBackButtonFontSize]} forState:UIControlStateDisabled]; + [[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:kBackButtonFontSize]} forState:UIControlStateHighlighted]; + } //设置Nav的背景色和title色 UINavigationBar *navigationBarAppearance = [UINavigationBar appearance]; - [navigationBarAppearance setBackgroundImage:[UIImage imageWithColor:[NSObject baseURLStrIsProduction]? kColorNavBG: kColorBrandGreen] forBarMetrics:UIBarMetricsDefault]; - [navigationBarAppearance setTintColor:kColorBrandGreen];//返回按钮的箭头颜色 + [navigationBarAppearance setBackgroundImage:[UIImage imageWithColor:[NSObject baseURLStrIsProduction]? kColorNavBG: kColorActionYellow] forBarMetrics:UIBarMetricsDefault]; + [navigationBarAppearance setTintColor:kColorLightBlue];//返回按钮的箭头颜色 NSDictionary *textAttributes = @{ NSFontAttributeName: [UIFont systemFontOfSize:kNavTitleFontSize], NSForegroundColorAttributeName: kColorNavTitle, }; [navigationBarAppearance setTitleTextAttributes:textAttributes]; - - [[UITextField appearance] setTintColor:kColorBrandGreen];//设置UITextField的光标颜色 - [[UITextView appearance] setTintColor:kColorBrandGreen];//设置UITextView的光标颜色 + navigationBarAppearance.backIndicatorImage = [UIImage imageNamed:@"back_green_Nav"]; + navigationBarAppearance.backIndicatorTransitionMaskImage = [UIImage imageNamed:@"back_green_Nav"]; + + [[UITextField appearance] setTintColor:kColorLightBlue];//设置UITextField的光标颜色 + [[UITextView appearance] setTintColor:kColorLightBlue];//设置UITextView的光标颜色 [[UISearchBar appearance] setBackgroundImage:[UIImage imageWithColor:kColorTableSectionBg] forBarPosition:0 barMetrics:UIBarMetricsDefault]; } #pragma mark URL Schemes -- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ +- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options{ DebugLog(@"path: %@, params: %@", [url path], [url queryParams]); if ([url.absoluteString hasPrefix:kCodingAppScheme]) { NSDictionary *queryParams = [url queryParams]; - if (queryParams[@"email"] && queryParams[@"key"]) {//重置密码 + if ([url.host isEqualToString:@"safepay"]) {//支付宝支付 + [self p_handlePayURL:url]; + }else if (queryParams[@"email"] && queryParams[@"key"]) {//重置密码 [self showPasswordWithURL:url]; }else if ([queryParams[@"type"] isEqualToString:@"tweet"]){//发冒泡 if ([Login isLogin]) { @@ -285,12 +325,51 @@ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceAppl }else{//一般模式解析网页 [BaseViewController presentLinkStr:url.absoluteString]; } - return YES; + }else if ([url.scheme isEqualToString:kSocial_WX_ID] && [url.host isEqualToString:@"pay"]){//微信支付 + [self p_handlePayURL:url]; }else if ([url.absoluteString hasPrefix:@"en-:"]){ return [[ENSession sharedSession] handleOpenURL:url]; }else{ - return [UMSocialSnsService handleOpenURL:url]; + return [[UMSocialManager defaultManager] handleOpenURL:url options:options]; } + return YES; +} + +//- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ +// DebugLog(@"path: %@, params: %@", [url path], [url queryParams]); +// if ([url.absoluteString hasPrefix:kCodingAppScheme]) { +// NSDictionary *queryParams = [url queryParams]; +// if ([url.host isEqualToString:@"safepay"]) {//支付宝支付 +// [self p_handlePayURL:url]; +// }else if (queryParams[@"email"] && queryParams[@"key"]) {//重置密码 +// [self showPasswordWithURL:url]; +// }else if ([queryParams[@"type"] isEqualToString:@"tweet"]){//发冒泡 +// if ([Login isLogin]) { +// [TweetSendViewController presentWithParams:queryParams]; +// }else{ +// [NSObject showHudTipStr:@"未登录"]; +// } +// }else{//一般模式解析网页 +// [BaseViewController presentLinkStr:url.absoluteString]; +// } +// }else if ([url.scheme isEqualToString:kSocial_WX_ID] && [url.host isEqualToString:@"pay"]){//微信支付 +// [self p_handlePayURL:url]; +// }else if ([url.absoluteString hasPrefix:@"en-:"]){ +// return [[ENSession sharedSession] handleOpenURL:url]; +// }else{ +// return [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation]; +// } +// return YES; +//} + +- (void)p_handlePayURL:(NSURL *)url{ + UIViewController *vc = [BaseViewController presentingVC]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + if ([vc respondsToSelector:@selector(handlePayURL:)]) { + [vc performSelector:@selector(handlePayURL:) withObject:url]; + } +#pragma clang diagnostic pop } - (BOOL)showPasswordWithURL:(NSURL *)url{ @@ -457,7 +536,6 @@ - (void)application:(UIApplication *)application performActionForShortcutItem:(U }else if ([shortcutItem.type isEqualToString:@"shortcut_tweet"]){ TweetSendViewController *vc = [[TweetSendViewController alloc] init]; vc.sendNextTweet = ^(Tweet *nextTweet){ - [nextTweet saveSendData];//发送前保存草稿 [[Coding_NetAPIManager sharedManager] request_Tweet_DoTweet_WithObj:nextTweet andBlock:^(id data, NSError *error) { if (data) { if ([[BaseViewController presentingVC] respondsToSelector:NSSelectorFromString(@"refresh")]) { @@ -468,6 +546,8 @@ - (void)application:(UIApplication *)application performActionForShortcutItem:(U } [Tweet deleteSendData];//发送成功后删除草稿 + }else{ + [nextTweet saveSendData];//发送失败,保存草稿 } }]; }; diff --git a/Coding_iOS/Coding_Enterprise_iOS-Info.plist b/Coding_iOS/Coding_Enterprise_iOS-Info.plist new file mode 100644 index 000000000..d652e9f7b --- /dev/null +++ b/Coding_iOS/Coding_Enterprise_iOS-Info.plist @@ -0,0 +1,134 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + CODING + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 2.10 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleURLName + net.coding.CodingForiOS + + + CFBundleVersion + 2.10.20190523.1 + ITSAppUsesNonExemptEncryption + + LSApplicationQueriesSchemes + + wechat + weixin + sinaweibohd + sinaweibo + sinaweibosso + weibosdk + weibosdk2.5 + mqqapi + mqq + mqqOpensdkSSoLogin + mqqconnect + mqqopensdkdataline + mqqopensdkgrouptribeshare + mqqopensdkfriend + mqqopensdkapi + mqqopensdkapiV2 + mqqopensdkapiV3 + mqzoneopensdk + wtloginmqq + wtloginmqq2 + mqqwpa + mqzone + mqzonev2 + mqzoneshare + wtloginqzone + mqzonewx + mqzoneopensdkapiV2 + mqzoneopensdkapi19 + mqzoneopensdkapi + mqzoneopensdk + evernote + mart-coding-net + + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + NSCameraUsageDescription + 需要扫描二维码或拍照,是否允许打开相机? + NSLocationWhenInUseUsageDescription + 需要通过定位获取您周边的地理位置信息,是否允许获取你的定位? + NSMicrophoneUsageDescription + 需要录制音频,是否允许打开麦克风? + NSPhotoLibraryAddUsageDescription + 需要存储图片到相册,是够允许向相册添加照片? + NSPhotoLibraryUsageDescription + 需要添加照片,是否允许访问相册? + UIAppFonts + + FontAwesome.ttf + + UIApplicationShortcutItems + + + UIApplicationShortcutItemIconFile + shortcut_task + UIApplicationShortcutItemTitle + 新任务 + UIApplicationShortcutItemType + shortcut_task + UIApplicationShortcutItemUserInfo + + + + UIApplicationShortcutItemIconFile + shortcut_2FA + UIApplicationShortcutItemTitle + 两步验证 + UIApplicationShortcutItemType + shortcut_2FA + UIApplicationShortcutItemUserInfo + + + + UIFileSharingEnabled + + UILaunchStoryboardName + Launch Screen_E + UIRequiredDeviceCapabilities + + armv7 + + UIStatusBarHidden + + UIStatusBarStyle + UIStatusBarStyleDefault + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/Coding_iOS/Coding_Enterprise_iOS.entitlements b/Coding_iOS/Coding_Enterprise_iOS.entitlements new file mode 100644 index 000000000..903def2af --- /dev/null +++ b/Coding_iOS/Coding_Enterprise_iOS.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/Coding_iOS/Coding_iOS-Info.plist b/Coding_iOS/Coding_iOS-Info.plist index dfb457661..9abf93e37 100644 --- a/Coding_iOS/Coding_iOS-Info.plist +++ b/Coding_iOS/Coding_iOS-Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - Coding + CODING CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.2 + 5.4.5 CFBundleSignature ???? CFBundleURLTypes @@ -30,13 +30,14 @@ coding-net wb600921819 QQ41C16356 - wx261aca93a0e9893c + tencent1103192918 + wx6ef6df9e9706b1bd en- CFBundleVersion - 4.2.201701201700 + 5.4.5.20190219.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes @@ -82,13 +83,15 @@ NSCameraUsageDescription - 我们需要您的同意才能使用相机 + 需要扫描二维码或拍照,是否允许打开相机? NSLocationWhenInUseUsageDescription - 我们需要通过您的地理位置信息获取您周边的相关数据 + 需要通过定位获取您周边的地理位置信息,是否允许获取你的定位? NSMicrophoneUsageDescription - 我们需要您的同意才能使用麦克风 + 需要录制音频,是否允许打开麦克风? + NSPhotoLibraryAddUsageDescription + 需要存储图片到相册,是够允许向相册添加照片? NSPhotoLibraryUsageDescription - 我们需要您的同意才能读取您的照片 + 需要添加照片,是否允许访问相册? UIAppFonts FontAwesome.ttf diff --git a/Coding_iOS/Coding_iOS-Prefix.pch.example b/Coding_iOS/Coding_iOS-Prefix.pch.example index e26dd8234..25cc487e5 100644 --- a/Coding_iOS/Coding_iOS-Prefix.pch.example +++ b/Coding_iOS/Coding_iOS-Prefix.pch.example @@ -26,13 +26,12 @@ #import "UILabel+Common.h" #import "NSDate+Common.h" #import "UIBarButtonItem+Common.h" -#import "UIActionSheet+Common.h" #import "NSURL+Common.h" #import "UISearchBar+Common.h" #import "UITTTAttributedLabel.h" #import "NSObject+ObjectMap.h" #import "ImageSizeManager.h" -#import "MobClick.h" +#import #import #import #import @@ -40,6 +39,8 @@ #import #import "UIView+SDAutoLayout.h" #import "UITableView+SDAutoTableViewCellHeight.h" +#import "PHAsset+Common.h" +#import "UINavigationBar+Common.h" #import "BaseNavigationController.h" #import "BaseViewController.h" @@ -66,6 +67,9 @@ #define kSocial_Sina_RedirectURL @"" #define kSocial_Sina_OfficailAccount @"" +#define kSocial_Sina_ID @"" +#define kSocial_Sina_Secret @"" + //信鸽推送 #define kXGPush_Id 123456 #define kXGPush_Key @"" @@ -106,6 +110,16 @@ #define kDevice_Is_iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) #define kDevice_Is_iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO) #define kDevice_Is_iPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO) +#define kDevice_Is_iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO) +#define kDevice_Is_iPhoneXR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) : NO) +#define kDevice_Is_iPhoneXMax ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) : NO) +#define kDevice_Is_FullScreen (kDevice_Is_iPhoneX || kDevice_Is_iPhoneXR || kDevice_Is_iPhoneXMax) +#define kDevice_Is_iPad [[UIDevice currentDevice].model isEqualToString:@"iPad"] +#define kDevice_Use_iPhone4_Layout (kDevice_Is_iPhone4 || kDevice_Is_iPad) + +#define kSafeArea_Top (kDevice_Is_FullScreen? 44: 20) +#define kSafeArea_Bottom (kDevice_Is_FullScreen? 34: 0) +#define kLine_MinHeight (1.0/ [UIScreen mainScreen].scale) #define kScreen_Bounds [UIScreen mainScreen].bounds #define kScreen_Height [UIScreen mainScreen].bounds.size.height @@ -121,17 +135,39 @@ #define kDefaultLastId [NSNumber numberWithInteger:99999999] -#define kColorNavBG [UIColor colorWithHexString:@"0xF8F8F8"] +//#define kColorNavBG [UIColor colorWithHexString:@"0xF8F8F8"] +#define kColorNavBG [UIColor colorWithHexString:@"0xFFFFFF" andAlpha:1.0] #define kColorNavTitle [UIColor colorWithHexString:@"0x323A45"] #define kColorTableBG [UIColor colorWithHexString:@"0xFFFFFF"] #define kColorTableSectionBg [UIColor colorWithHexString:@"0xF2F4F6"] #define kColor222 [UIColor colorWithHexString:@"0x222222"] #define kColor666 [UIColor colorWithHexString:@"0x666666"] #define kColor999 [UIColor colorWithHexString:@"0x999999"] -#define kColorDDD [UIColor colorWithHexString:@"0xDDDDDD"] -#define kColorCCC [UIColor colorWithHexString:@"0xCCCCCC"] -#define kColorBrandGreen [UIColor colorWithHexString:@"0x3BBD79"] -#define kColorBrandRed [UIColor colorWithHexString:@"0xFF5846"] +//#define kColorDDD [UIColor colorWithHexString:@"0xDDDDDD"] +//#define kColorCCC [UIColor colorWithHexString:@"0xCCCCCC"] +#define kColorDDD kColorD8DDE4 +#define kColorCCC kColorD8DDE4 +#define kColorD8DDE4 [UIColor colorWithHexString:@"0xD8DDE4"] +#define kColorBrandGreen [UIColor colorWithHexString:@"0x2EBE76"] +#define kColorBrandBlue [UIColor colorWithHexString:@"0x0060FF"] +#define kColorBrandRed [UIColor colorWithHexString:@"0xF56061"] +#define kColorBrandOrange [UIColor colorWithHexString:@"0xF68435"] +#define kColorLightBlue [UIColor colorWithHexString:@"0x136BFB"] +#define kColorLinkBlue [UIColor colorWithHexString:@"0x2D59A2"] + +#pragma mark New Color +#define kColorDark2 [UIColor colorWithHexString:@"0x272C33"] +#define kColorDark3 [UIColor colorWithHexString:@"0x323A45"] +#define kColorDark4 [UIColor colorWithHexString:@"0x425063"] +#define kColorDark7 [UIColor colorWithHexString:@"0x76808E"] +#define kColorDarkA [UIColor colorWithHexString:@"0xA9B3BE"] +#define kColorDarkD [UIColor colorWithHexString:@"0xD8DDE4"] +#define kColorDarkF [UIColor colorWithHexString:@"0xF2F4F6"] +#define kColorWhite [UIColor colorWithHexString:@"0xFFFFFF"] +#define kColorActionGreen [UIColor colorWithHexString:@"0x2EBE76"] +#define kColorActionBlue [UIColor colorWithHexString:@"0x0060FF"] +#define kColorActionRed [UIColor colorWithHexString:@"0xF56061"] +#define kColorActionYellow [UIColor colorWithHexString:@"0xF3C033"] #define kPlaceholderMonkeyRoundWidth(_width_) [UIImage imageNamed:[NSString stringWithFormat:@"placeholder_monkey_round_%.0f", _width_]] #define kPlaceholderMonkeyRoundView(_view_) [UIImage imageNamed:[NSString stringWithFormat:@"placeholder_monkey_round_%.0f", CGRectGetWidth(_view_.frame)]] diff --git a/Coding_iOS/Coding_iOS.entitlements b/Coding_iOS/Coding_iOS.entitlements index 903def2af..8593d979d 100644 --- a/Coding_iOS/Coding_iOS.entitlements +++ b/Coding_iOS/Coding_iOS.entitlements @@ -4,5 +4,9 @@ aps-environment development + com.apple.developer.associated-domains + + applinks:coding.net + diff --git a/Coding_iOS/Controllers/AboutPointViewController.h b/Coding_iOS/Controllers/AboutPointViewController.h new file mode 100644 index 000000000..4f55e75e9 --- /dev/null +++ b/Coding_iOS/Controllers/AboutPointViewController.h @@ -0,0 +1,13 @@ +// +// AboutPointViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2017/9/18. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "BaseViewController.h" + +@interface AboutPointViewController : BaseViewController + +@end diff --git a/Coding_iOS/Controllers/AboutPointViewController.m b/Coding_iOS/Controllers/AboutPointViewController.m new file mode 100644 index 000000000..aead75ef5 --- /dev/null +++ b/Coding_iOS/Controllers/AboutPointViewController.m @@ -0,0 +1,43 @@ +// +// AboutPointViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2017/9/18. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "AboutPointViewController.h" + +@interface AboutPointViewController () +@property (weak, nonatomic) IBOutlet UILabel *aboutL; + +@end + +@implementation AboutPointViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. + self.title = @"关于码币"; + + NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:_aboutL.text]; + //段落 + NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; + [paragraphStyle setLineSpacing:5.0]; +// [paragraphStyle setParagraphSpacing:10]; + [paragraphStyle setLineBreakMode:_aboutL.lineBreakMode]; + [paragraphStyle setAlignment:_aboutL.textAlignment]; + [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [_aboutL.text length])]; + //标题 + NSArray *titleList = @[@"什么是码币", @"码币的用途", @"如何获取码币"]; + for (NSString *title in titleList) { + NSRange textR = [_aboutL.text rangeOfString:title]; + if (textR.location != NSNotFound) { + [attributedString addAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:15 weight:UIFontWeightMedium], + NSForegroundColorAttributeName: kColorDark3} range:textR]; + } + } + _aboutL.attributedText = attributedString; +} + +@end diff --git a/Coding_iOS/Controllers/AboutPointViewController.xib b/Coding_iOS/Controllers/AboutPointViewController.xib new file mode 100644 index 000000000..5c48e111e --- /dev/null +++ b/Coding_iOS/Controllers/AboutPointViewController.xib @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Coding_iOS/Controllers/AddMDCommentViewController.h b/Coding_iOS/Controllers/AddMDCommentViewController.h index fdd0a859f..a9c840453 100644 --- a/Coding_iOS/Controllers/AddMDCommentViewController.h +++ b/Coding_iOS/Controllers/AddMDCommentViewController.h @@ -15,5 +15,6 @@ @property (strong, nonatomic) NSMutableDictionary *requestParams; @property (strong, nonatomic) NSString *contentStr; @property (strong, nonatomic) Project *curProject; +@property (assign, nonatomic) BOOL isLineNote;//这个字段单纯是为友盟统计的,没啥特别的作用 @end diff --git a/Coding_iOS/Controllers/AddMDCommentViewController.m b/Coding_iOS/Controllers/AddMDCommentViewController.m index c54c32053..ba8aa69f6 100644 --- a/Coding_iOS/Controllers/AddMDCommentViewController.m +++ b/Coding_iOS/Controllers/AddMDCommentViewController.m @@ -174,8 +174,11 @@ - (void)previewLoadMDData{ - (void)saveBtnClicked{ _contentStr = [_contentStr aliasedString]; [_requestParams setObject:_contentStr forKey:@"content"]; - + _requestParams[@"isLineNote"] = @(_isLineNote); + + [NSObject showHUDQueryStr:@"正在保存..."]; [[Coding_NetAPIManager sharedManager] request_PostCommentWithPath:_requestPath params:_requestParams andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; if (data) { if (self.completeBlock) { self.completeBlock(data); diff --git a/Coding_iOS/Controllers/AddReviewerViewController.m b/Coding_iOS/Controllers/AddReviewerViewController.m index 93fef76af..bc5db3f6a 100644 --- a/Coding_iOS/Controllers/AddReviewerViewController.m +++ b/Coding_iOS/Controllers/AddReviewerViewController.m @@ -51,7 +51,7 @@ -(void)viewDidLoad { UISearchBar *searchBar = [[UISearchBar alloc] init]; searchBar.delegate = self; [searchBar sizeToFit]; - [searchBar setPlaceholder:@"昵称,个性后缀"]; + [searchBar setPlaceholder:@"昵称,用户名"]; searchBar; }); [self.myTableView sizeToFit]; @@ -132,9 +132,9 @@ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ ReviewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_ReviewCell forIndexPath:indexPath]; User* cellReviewer = self.allUsers[indexPath.row]; - cell.tintColor = kColorBrandGreen; + cell.tintColor = kColorBrandBlue; [cell initCellWithUsers:cellReviewer]; - [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:60]; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:70]; NSInteger index = indexPath.row; NSNumber* userState = self.selectUsers[index]; // cell.selectionStyle = UITableViewCellSelectionStyleNone; diff --git a/Coding_iOS/Controllers/AddReviewerViewController.xib b/Coding_iOS/Controllers/AddReviewerViewController.xib index 8341b5ebd..d205e6fb5 100644 --- a/Coding_iOS/Controllers/AddReviewerViewController.xib +++ b/Coding_iOS/Controllers/AddReviewerViewController.xib @@ -1,8 +1,11 @@ - + + + + - + @@ -18,6 +21,7 @@ + diff --git a/Coding_iOS/Controllers/AddUserViewController.h b/Coding_iOS/Controllers/AddUserViewController.h index 8b208e044..3a5bf5b7e 100755 --- a/Coding_iOS/Controllers/AddUserViewController.h +++ b/Coding_iOS/Controllers/AddUserViewController.h @@ -14,6 +14,7 @@ typedef NS_ENUM(NSInteger, AddUserType) { AddUserTypeProjectRoot = 0, AddUserTypeProjectFollows,//我的关注 AddUserTypeProjectFans,//我的粉丝 + AddUserTypeProjectCompany,//企业成员 AddUserTypeFollow//添加好友 }; @interface AddUserViewController : BaseViewController diff --git a/Coding_iOS/Controllers/AddUserViewController.m b/Coding_iOS/Controllers/AddUserViewController.m index 9179de1e0..45065de6f 100755 --- a/Coding_iOS/Controllers/AddUserViewController.m +++ b/Coding_iOS/Controllers/AddUserViewController.m @@ -30,7 +30,8 @@ - (void)viewDidLoad { if (self.type < AddUserTypeFollow) { self.title = (self.type == AddUserTypeProjectRoot? @"添加成员": self.type == AddUserTypeProjectFollows? @"我的关注": - @"我的粉丝"); + self.type == AddUserTypeProjectFans? @"我的粉丝": + @"企业成员"); _queryingArray = [NSMutableArray array]; _searchedArray = [NSMutableArray array]; }else if (self.type == AddUserTypeFollow){ @@ -49,20 +50,26 @@ - (void)viewDidLoad { [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _mySearchBar = ({ UISearchBar *searchBar = [[UISearchBar alloc] init]; searchBar.delegate = self; [searchBar sizeToFit]; - [searchBar setPlaceholder:@"昵称/个性后缀"]; + [searchBar setPlaceholder:@"昵称/用户名"]; searchBar; }); _myTableView.tableHeaderView = _mySearchBar; - if (self.type == AddUserTypeProjectFollows || self.type == AddUserTypeProjectFans) { + if (self.type == AddUserTypeProjectFollows || self.type == AddUserTypeProjectFans || self.type == AddUserTypeProjectCompany) { _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; [_myRefreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; - _curUsers = [Users usersWithOwner:[Login curLoginUser] Type:self.type == AddUserTypeProjectFollows? UsersTypeFriends_Attentive: UsersTypeFollowers]; + UsersType userType = (self.type == AddUserTypeProjectFollows? UsersTypeFriends_Attentive: + self.type == AddUserTypeProjectFans? UsersTypeFollowers: + UsersType_CompanyMember); + _curUsers = [Users usersWithOwner:[Login curLoginUser] Type:userType]; [self refresh]; } } @@ -131,7 +138,7 @@ - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSIntege } - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ - if (_type == AddUserTypeFollow) { + if (_type == AddUserTypeFollow || kTarget_Enterprise) { return [UIView new]; }else{ NSInteger leftNum = _curProject.max_member.integerValue - _addedArray.count; @@ -213,9 +220,15 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath } - (void)goToUserInfo:(User *)user{ - UserInfoViewController *vc = [[UserInfoViewController alloc] init]; - vc.curUser = user; - [self.navigationController pushViewController:vc animated:YES]; + if (kTarget_Enterprise) { + UserInfoDetailViewController *vc = [UserInfoDetailViewController new]; + vc.curUser = user; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + UserInfoViewController *vc = [[UserInfoViewController alloc] init]; + vc.curUser = user; + [self.navigationController pushViewController:vc animated:YES]; + } } #pragma mark ScrollView Delegate diff --git a/Coding_iOS/Controllers/AllSearchDisplayVC.m b/Coding_iOS/Controllers/AllSearchDisplayVC.m index 7d1ca1db6..1f0be70dd 100644 --- a/Coding_iOS/Controllers/AllSearchDisplayVC.m +++ b/Coding_iOS/Controllers/AllSearchDisplayVC.m @@ -74,7 +74,8 @@ - (void)dealloc { - (NSArray *)titlesArray{ if (!_titlesArray) { - _titlesArray = @[@"项目", @"任务", @"讨论", @"冒泡", @"文档", @"用户", @"合并请求", @"Pull 请求"]; +// _titlesArray = @[@"项目", @"任务", @"讨论", @"冒泡", @"文档", @"用户", @"合并请求", @"Pull 请求"]; + _titlesArray = @[@"项目", @"任务", @"冒泡", @"文档", @"用户", @"合并请求"]; } return _titlesArray; } @@ -261,10 +262,11 @@ - (void)initSearchHistoryView { make.height.mas_equalTo(_historyHeight); }]; _searchHistoryView.contentSize = CGSizeMake(kScreen_Width, _historyHeight); + NSInteger itemNum = 3; CGFloat designScale = (kScreen_Width/ 375); CGFloat tipVWidth = 210 * designScale; CGFloat imageWidth = 24 * designScale; - CGFloat paddingWidth = MAX(0, (tipVWidth - 4* imageWidth)/ 3); + CGFloat paddingWidth = MAX(0, (tipVWidth - itemNum* imageWidth)/ (itemNum - 1)); CGFloat fontSize = 13 * designScale; UIView *tipV = [UIView new]; @@ -283,7 +285,8 @@ - (void)initSearchHistoryView { make.top.equalTo(titleL.mas_bottom).offset(15); make.height.mas_equalTo(1); }]; - NSArray *imageArray = @[@"project", @"task", @"topic", @"tweet", @"file", @"user", @"mr", @"pr"]; +// NSArray *imageArray = @[@"project", @"task", @"topic", @"tweet", @"file", @"user", @"mr", @"pr"]; + NSArray *imageArray = @[@"project", @"task", @"tweet", @"file", @"user", @"mr"]; for (int index = 0; index < self.titlesArray.count && index < imageArray.count; index++) { UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"search_icon_%@", imageArray[index]]]]; UILabel *label = [UILabel labelWithSystemFontSize:fontSize textColorHexString:@"0x999999"]; @@ -292,8 +295,8 @@ - (void)initSearchHistoryView { [tipV addSubview:label]; [imageV mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(imageWidth, imageWidth)); - make.top.equalTo(lineV.mas_bottom).offset(20 + (imageWidth + 45) * (index / 4)); - make.left.equalTo(tipV).offset((paddingWidth + imageWidth) * (index % 4)); + make.top.equalTo(lineV.mas_bottom).offset(20 + (imageWidth + 45) * (index / itemNum)); + make.left.equalTo(tipV).offset((paddingWidth + imageWidth) * (index % itemNum)); }]; [label mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(imageV.mas_bottom).offset(10); @@ -352,13 +355,14 @@ - (void)cellClickedObj:(id)obj type:(eSearchType)type{ [self goToUserInfo:obj]; }else if (type==eSearchType_Task){ [self goToTask:obj]; - }else if (type==eSearchType_Topic){ - [self goToTopic:obj]; +// }else if (type==eSearchType_Topic){ +// [self goToTopic:obj]; }else if (type==eSearchType_Merge){ [self goToMRDetail:obj]; - }else if(type==eSearchType_Pull){ - [self goToMRDetail:obj]; } +// else if(type==eSearchType_Pull){ +// [self goToMRDetail:obj]; +// } } - (void)goToProject:(Project *)project{ diff --git a/Coding_iOS/Controllers/CodeListViewController.h b/Coding_iOS/Controllers/CodeListViewController.h index f36c3a072..b1b6d19e1 100755 --- a/Coding_iOS/Controllers/CodeListViewController.h +++ b/Coding_iOS/Controllers/CodeListViewController.h @@ -13,4 +13,7 @@ @interface CodeListViewController : BaseViewController @property (strong, nonatomic) Project *myProject; @property (strong, nonatomic) CodeTree *myCodeTree; + +@property (assign, nonatomic) BOOL hideBranchTagButton; + @end diff --git a/Coding_iOS/Controllers/CodeListViewController.m b/Coding_iOS/Controllers/CodeListViewController.m index cbdf4165b..52bc530c1 100755 --- a/Coding_iOS/Controllers/CodeListViewController.m +++ b/Coding_iOS/Controllers/CodeListViewController.m @@ -10,9 +10,10 @@ #import "CodeViewController.h" #import "ProjectViewController.h" #import "ProjectCommitsViewController.h" +#import "ProjectViewController.h" @interface CodeListViewController () - +@property (strong, nonatomic) ProjectCodeListView *listView; @end @implementation CodeListViewController @@ -23,20 +24,19 @@ - (void)viewDidLoad { self.title = [[_myCodeTree.path componentsSeparatedByString:@"/"] lastObject]; [self configRightNavBtn]; - ProjectCodeListView *listView = [[ProjectCodeListView alloc] initWithFrame:self.view.bounds project:_myProject andCodeTree:_myCodeTree]; + _listView = [[ProjectCodeListView alloc] initWithFrame:self.view.bounds project:_myProject andCodeTree:_myCodeTree]; + _listView.hideBranchTagButton = _hideBranchTagButton; __weak typeof(self) weakSelf = self; - listView.codeTreeFileOfRefBlock = ^(CodeTree_File *curCodeTreeFile, NSString *ref){ + _listView.codeTreeFileOfRefBlock = ^(CodeTree_File *curCodeTreeFile, NSString *ref){ [weakSelf goToVCWith:curCodeTreeFile andRef:ref]; }; - listView.refChangedBlock = ^(NSString *ref){ - weakSelf.myCodeTree.ref = ref; + _listView.codeTreeChangedBlock = ^(CodeTree *tree){ + weakSelf.myCodeTree = tree; }; - [self.view addSubview:listView]; - [listView mas_makeConstraints:^(MASConstraintMaker *make) { + [self.view addSubview:_listView]; + [_listView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; - [listView addBranchTagButton]; - } - (void)configRightNavBtn{ @@ -46,45 +46,28 @@ - (void)configRightNavBtn{ } - (void)rightNavBtnClicked{ + NSMutableArray *actionTitles = @[@"上传图片", @"创建文本文件", @"查看提交记录", @"退出代码查看"].mutableCopy; + if (!self.myCodeTree.can_edit) { + [actionTitles removeObjectsInRange:NSMakeRange(0, 2)]; + } __weak typeof(self) weakSelf = self; - [[UIActionSheet bk_actionSheetCustomWithTitle:nil buttonTitles:@[@"查看提交记录", @"退出代码查看"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { - switch (index) { - case 0:{ - [weakSelf goToCommitsVC]; - } - break; - case 1:{ - [weakSelf.navigationController.viewControllers enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(UIViewController *obj, NSUInteger idx, BOOL *stop) { - if (![obj isKindOfClass:[CodeViewController class]] && - ![obj isKindOfClass:[CodeListViewController class]] && - !([obj isKindOfClass:[ProjectViewController class]] && [(ProjectViewController *)obj curType] == ProjectViewTypeCodes)) { - *stop = YES; - [weakSelf.navigationController popToViewController:obj animated:YES]; - } - }]; - } - break; - default: - break; + [[UIAlertController ea_actionSheetCustomWithTitle:nil buttonTitles:actionTitles destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (!weakSelf.myCodeTree.can_edit) { + index += 2; + } + if (index == 0) { + [weakSelf.listView uploadImageClicked]; + }else if (index == 1){ + [weakSelf.listView createFileClicked]; + }else if (index == 2){ + [weakSelf goToCommitsVC]; + }else if (index == 3){ + [weakSelf popOutCodeVC]; } }] showInView:self.view]; } -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - +#pragma mark action - (void)goToVCWith:(CodeTree_File *)codeTreeFile andRef:(NSString *)ref{ DebugLog(@"%@", codeTreeFile.path); if ([codeTreeFile.mode isEqualToString:@"tree"]) {//文件夹 @@ -92,11 +75,19 @@ - (void)goToVCWith:(CodeTree_File *)codeTreeFile andRef:(NSString *)ref{ CodeListViewController *vc = [[CodeListViewController alloc] init]; vc.myProject = _myProject; vc.myCodeTree = nextCodeTree; + vc.hideBranchTagButton = self.hideBranchTagButton; [self.navigationController pushViewController:vc animated:YES]; }else if ([@[@"file", @"image", @"sym_link", @"executable"] containsObject:codeTreeFile.mode]){//文件 CodeFile *nextCodeFile = [CodeFile codeFileWithRef:ref andPath:codeTreeFile.path]; CodeViewController *vc = [CodeViewController codeVCWithProject:_myProject andCodeFile:nextCodeFile]; [self.navigationController pushViewController:vc animated:YES]; + }else if ([codeTreeFile.mode isEqualToString:@"git_link"]){ + UIViewController *vc = [BaseViewController analyseVCFromLinkStr:codeTreeFile.info.submoduleLink]; + if (vc) { + [self.navigationController pushViewController:vc animated:YES]; + }else{ + [NSObject showHudTipStr:@"有些文件还不支持查看呢_(:з」∠)_"]; + } }else{ [NSObject showHudTipStr:@"有些文件还不支持查看呢_(:з」∠)_"]; } @@ -109,4 +100,16 @@ - (void)goToCommitsVC{ [self.navigationController pushViewController:vc animated:YES]; } +- (void)popOutCodeVC{ + __weak typeof(self) weakSelf = self; + [self.navigationController.viewControllers enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(UIViewController *obj, NSUInteger idx, BOOL *stop) { + if (![obj isKindOfClass:[CodeViewController class]] && + ![obj isKindOfClass:[CodeListViewController class]] && + !([obj isKindOfClass:[ProjectViewController class]] && [(ProjectViewController *)obj curType] == ProjectViewTypeCodes)) { + *stop = YES; + [weakSelf.navigationController popToViewController:obj animated:YES]; + } + }]; +} + @end diff --git a/Coding_iOS/Controllers/CodeViewController.m b/Coding_iOS/Controllers/CodeViewController.m index 89346fe59..70bdc92a2 100755 --- a/Coding_iOS/Controllers/CodeViewController.m +++ b/Coding_iOS/Controllers/CodeViewController.m @@ -91,36 +91,56 @@ - (void)doSomethingWithResponse:(id)data andError:(NSError *)error{ self.myCodeFile = data; [self refreshCodeViewData]; }else{ - self.myCodeFile = [CodeFile codeFileWithMDStr:data]; + self.myCodeFile = [CodeFile codeFileWithMDPreview:data]; [self refreshCodeViewData]; } - [self.view configBlankPage:EaseBlankPageTypeView hasData:(data != nil) hasError:(error != nil) reloadButtonBlock:^(id sender) { + BOOL hasError = (error != nil && error.code != 1204);//depot_has_no_commit + [self.view configBlankPage:EaseBlankPageTypeCode hasData:(data != nil) hasError:hasError reloadButtonBlock:^(id sender) { [self sendRequest]; }]; + self.webContentView.hidden = hasError; [self configRightNavBtn]; } - (void)refreshCodeViewData{ if ([_myCodeFile.file.mode isEqualToString:@"image"]) { // NSURL *imageUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@u/%@/p/%@/git/raw/%@", [NSObject baseURLStr], _myProject.owner_user_name, _myProject.name, [NSString handelRef:_myCodeFile.ref path:_myCodeFile.file.path]]]; - NSURL *imageUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@u/%@/p/%@/git/raw/%@/%@", [NSObject baseURLStr], _myProject.owner_user_name, _myProject.name, _myCodeFile.ref, _myCodeFile.file.path]]; + NSURL *imageUrl; + if (kTarget_Enterprise) {//企业版不需要 owner_user_name + imageUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@p/%@/git/raw/%@/%@", [NSObject baseURLStr], _myProject.name, _myCodeFile.ref, _myCodeFile.file.path]]; + }else{ + imageUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@u/%@/p/%@/git/raw/%@/%@", [NSObject baseURLStr], _myProject.owner_user_name, _myProject.name, _myCodeFile.ref, _myCodeFile.file.path]]; + } DebugLog(@"imageUrl: %@", imageUrl); [self.webContentView loadRequest:[NSURLRequest requestWithURL:imageUrl]]; }else if ([@[@"file", @"sym_link", @"executable"] containsObject:_myCodeFile.file.mode]){ NSString *contentStr = [WebContentManager codePatternedWithContent:_myCodeFile isEdit:NO]; - [self.webContentView loadHTMLString:contentStr baseURL:nil]; + [self.webContentView loadHTMLString:contentStr baseURL:[NSURL URLWithString:[self p_baseHref]]]; } } +- (NSString *)p_baseHref{//写在 html 文件里的,没有 baseHref 的话,锚点会异常 + return @"https://coding.net/"; +} + #pragma mark UIWebViewDelegate - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ DebugLog(@"strLink=[%@]",request.URL.absoluteString); if ([_myCodeFile.file.mode isEqualToString:@"image"]) { - NSString *imageStr = [NSString stringWithFormat:@"%@u/%@/p/%@/git/raw/%@/%@", [NSObject baseURLStr], _myProject.owner_user_name, _myProject.name, _myCodeFile.ref, _myCodeFile.file.path]; + NSString *imageStr; + if (kTarget_Enterprise) { + imageStr = [NSString stringWithFormat:@"%@p/%@/git/raw/%@/%@", [NSObject baseURLStr], _myProject.name, _myCodeFile.ref, _myCodeFile.file.path]; + }else{ + imageStr = [NSString stringWithFormat:@"%@u/%@/p/%@/git/raw/%@/%@", [NSObject baseURLStr], _myProject.owner_user_name, _myProject.name, _myCodeFile.ref, _myCodeFile.file.path]; + } if ([imageStr isEqualToString:request.URL.absoluteString]) { return YES; } } + if ([request.URL.absoluteString isEqualToString:[self p_baseHref]] || + [request.URL.absoluteString hasPrefix:[[self p_baseHref] stringByAppendingString:@"#"]]) { + return YES; + } UIViewController *vc = [BaseViewController analyseVCFromLinkStr:request.URL.absoluteString]; if (vc) { [self.navigationController pushViewController:vc animated:YES]; @@ -146,7 +166,11 @@ - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ - (void)configRightNavBtn{ if (!self.navigationItem.rightBarButtonItem) { if (_isReadMe) { - [self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"tweetBtn_Nav"] style:UIBarButtonItemStylePlain target:self action:@selector(goToEditVC)] animated:NO]; + if (self.myCodeFile.can_edit) { + [self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"tweetBtn_Nav"] style:UIBarButtonItemStylePlain target:self action:@selector(goToEditVC)] animated:NO]; + }else{ + [self.navigationItem setRightBarButtonItem:nil animated:NO]; + } }else{ [self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"moreBtn_Nav"] style:UIBarButtonItemStylePlain target:self action:@selector(rightNavBtnClicked)] animated:NO]; } @@ -155,17 +179,17 @@ - (void)configRightNavBtn{ - (void)rightNavBtnClicked{ NSMutableArray *actionTitles = @[@"编辑代码", @"查看提交记录", @"退出代码查看"].mutableCopy; - if (!self.myCodeFile.can_edit) { + if (!self.myCodeFile.can_edit || [self.myCodeFile.file.mode isEqualToString:@"image"]) { [actionTitles removeObjectAtIndex:0]; } __weak typeof(self) weakSelf = self; - [[UIActionSheet bk_actionSheetCustomWithTitle:nil buttonTitles:actionTitles destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { - [weakSelf actionSheetClicked:sheet index:index]; + [[UIAlertController ea_actionSheetCustomWithTitle:nil buttonTitles:actionTitles destructiveTitle:self.myCodeFile.can_edit? @"删除文件": nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + [weakSelf actionSheetClickedIndex:index]; }] showInView:self.view]; } -- (void)actionSheetClicked:(UIActionSheet *)sheet index:(NSInteger)index{ - if (!self.myCodeFile.can_edit) { +- (void)actionSheetClickedIndex:(NSInteger)index{ + if (!self.myCodeFile.can_edit || [self.myCodeFile.file.mode isEqualToString:@"image"]) { index++; } if (index == 0) { @@ -174,9 +198,33 @@ - (void)actionSheetClicked:(UIActionSheet *)sheet index:(NSInteger)index{ [self goToCommitsVC]; }else if (index == 2){ [self popOut]; + }else if (index == 3 && self.myCodeFile.can_edit){ + [self deleteBtnClicked]; } } +- (void)deleteBtnClicked{ + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_actionSheetCustomWithTitle:[NSString stringWithFormat:@"确定要删除文件 %@ 吗?", _myCodeFile.file.name] buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf sendDeleteRequst]; + } + }] showInView:self.view]; +} + +- (void)sendDeleteRequst{ + [NSObject showHUDQueryStr:@"正在删除..."]; + [[Coding_NetAPIManager sharedManager] request_DeleteCodeFile:_myCodeFile withPro:_myProject andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; + if (data) { + // if (self.savedSucessBlock) { + // self.savedSucessBlock(); + // } + [self.navigationController popViewControllerAnimated:YES]; + } + }]; +} + - (void)goToEditVC{ __weak typeof(self) weakSelf = self; diff --git a/Coding_iOS/Controllers/CommitFilesViewController.m b/Coding_iOS/Controllers/CommitFilesViewController.m index 1622c72bb..61ede2d4c 100644 --- a/Coding_iOS/Controllers/CommitFilesViewController.m +++ b/Coding_iOS/Controllers/CommitFilesViewController.m @@ -71,6 +71,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; diff --git a/Coding_iOS/Controllers/ConversationViewController.m b/Coding_iOS/Controllers/ConversationViewController.m index a72d143dc..5824870b0 100755 --- a/Coding_iOS/Controllers/ConversationViewController.m +++ b/Coding_iOS/Controllers/ConversationViewController.m @@ -59,6 +59,9 @@ - (void)viewDidLoad [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); // _refreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; @@ -155,7 +158,7 @@ - (void)messageInputView:(UIMessageInputView *)inputView heightToBottomChenged:( static BOOL keyboard_is_down = YES; static CGPoint keyboard_down_ContentOffset; static CGFloat keyboard_down_InputViewHeight; - if (heightToBottom > CGRectGetHeight(inputView.frame)) { + if (heightToBottom > [inputView heightWithSafeArea]) { if (keyboard_is_down) { keyboard_down_ContentOffset = self.myTableView.contentOffset; keyboard_down_InputViewHeight = CGRectGetHeight(inputView.frame); @@ -264,19 +267,24 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N preMsg = [_myPriMsgs.dataList objectAtIndex:curIndex+1]; } cell.tapUserIconBlock = ^(User *sender){ - UserInfoViewController *vc = [[UserInfoViewController alloc] init]; - vc.curUser = sender; - [self.navigationController pushViewController:vc animated:YES]; + if (kTarget_Enterprise) { + UserInfoDetailViewController *vc = [[UserInfoDetailViewController alloc] init]; + vc.curUser = sender; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + UserInfoViewController *vc = [[UserInfoViewController alloc] init]; + vc.curUser = sender; + [self.navigationController pushViewController:vc animated:YES]; + } }; ESWeakSelf; cell.resendMessageBlock = ^(PrivateMessage *curMessage){ ESStrongSelf; _self.messageToResendOrDelete = curMessage; [_self.myMsgInputView isAndResignFirstResponder]; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"重新发送" buttonTitles:@[@"发送"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"重新发送" buttonTitles:@[@"发送"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0 && _self.messageToResendOrDelete) { [_self sendPrivateMessageWithMsg:_messageToResendOrDelete]; - } }]; [actionSheet showInView:self.view]; @@ -325,7 +333,7 @@ - (void)showAlertToDeleteMessage:(PrivateMessage *)toDeleteMsg{ self.messageToResendOrDelete = toDeleteMsg; [self.myMsgInputView isAndResignFirstResponder]; ESWeakSelf - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"删除后将不会出现在你的私信记录中" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"删除后将不会出现在你的私信记录中" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { ESStrongSelf if (index == 0 && _self.messageToResendOrDelete) { [_self deletePrivateMessageWithMsg:_messageToResendOrDelete]; @@ -410,6 +418,16 @@ - (void)sendPrivateMessageWithMsg:(PrivateMessage *)nextMsg{ [[Coding_NetAPIManager sharedManager] request_SendPrivateMessage:nextMsg andBlock:^(id data, NSError *error) { if (data) { [weakSelf.myPriMsgs sendSuccessMessage:data andOldMessage:nextMsg]; + }else if (error.userInfo[@"msg"][@"message_need_captcha"]){ + NSDictionary *params = @{@"type": @2, + @"receiver_global_key": nextMsg.friend.global_key ?: @"", + }; + [NSObject showCaptchaViewParams:params.mutableCopy success:^{ + [NSObject showHudTipStr:@"验证码正确"]; + weakSelf.messageToResendOrDelete = nextMsg; + [weakSelf.myMsgInputView isAndResignFirstResponder]; + [weakSelf sendPrivateMessageWithMsg:weakSelf.messageToResendOrDelete]; + }]; } [weakSelf dataChangedWithError:NO scrollToBottom:YES animated:YES]; } progerssBlock:^(CGFloat progressValue) { @@ -435,12 +453,11 @@ - (void)inputViewAddIndex:(NSInteger)index{ return; } QBImagePickerController *imagePickerController = [[QBImagePickerController alloc] init]; - imagePickerController.filterType = QBImagePickerControllerFilterTypePhotos; + imagePickerController.mediaType = QBImagePickerMediaTypeImage; imagePickerController.delegate = self; imagePickerController.allowsMultipleSelection = YES; imagePickerController.maximumNumberOfSelection = 6; - UINavigationController *navigationController = [[BaseNavigationController alloc] initWithRootViewController:imagePickerController]; - [self presentViewController:navigationController animated:YES completion:NULL]; + [self presentViewController:imagePickerController animated:YES completion:NULL]; } break; case 1: @@ -477,16 +494,9 @@ - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ } #pragma mark QBImagePickerControllerDelegate -- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didSelectAssets:(NSArray *)assets{ - for (ALAsset *assetItem in assets) { - @weakify(self); - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - UIImage *highQualityImage = [UIImage fullScreenImageALAsset:assetItem]; - dispatch_async(dispatch_get_main_queue(), ^{ - @strongify(self); - [self sendPrivateMessage:highQualityImage]; - }); - }); +- (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didFinishPickingAssets:(NSArray *)assets{ + for (PHAsset *assetItem in assets) { + [self sendPrivateMessage:assetItem.loadImage]; } [self dismissViewControllerAnimated:YES completion:nil]; } diff --git a/Coding_iOS/Controllers/CountryCodeListViewController.m b/Coding_iOS/Controllers/CountryCodeListViewController.m index 2d1c51221..33b54f232 100644 --- a/Coding_iOS/Controllers/CountryCodeListViewController.m +++ b/Coding_iOS/Controllers/CountryCodeListViewController.m @@ -29,11 +29,14 @@ - (void)viewDidLoad{ [tableView registerClass:[CountryCodeCell class] forCellReuseIdentifier:kCellIdentifier_CountryCodeCell]; tableView.sectionIndexBackgroundColor = [UIColor clearColor]; tableView.sectionIndexTrackingBackgroundColor = [UIColor clearColor]; - tableView.sectionIndexColor = kColor666; + tableView.sectionIndexColor = kColorDark2; [self.view addSubview:tableView]; [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _mySearchBar = ({ @@ -95,19 +98,19 @@ -(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ - return 20; + return 30; } - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UIView *headerV = [UIView new]; headerV.backgroundColor = self.myTableView.backgroundColor; UILabel *titleL = [UILabel new]; - titleL.font = [UIFont systemFontOfSize:12]; - titleL.textColor = kColor999; + titleL.font = [UIFont systemFontOfSize:14]; + titleL.textColor = kColorDark2; titleL.text = [_keyList[section+ 1] isEqualToString:@"#"]? @"常用": _keyList[section+ 1]; [headerV addSubview:titleL]; [titleL mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(headerV).insets(UIEdgeInsetsMake(4, 15, 4, 15)); + make.edges.equalTo(headerV).insets(UIEdgeInsetsMake(0, 15, 0, 15)); }]; return headerV; } diff --git a/Coding_iOS/Controllers/DynamicCommentCell.m b/Coding_iOS/Controllers/DynamicCommentCell.m index e9cfc6cb3..e90d6d01f 100644 --- a/Coding_iOS/Controllers/DynamicCommentCell.m +++ b/Coding_iOS/Controllers/DynamicCommentCell.m @@ -52,7 +52,7 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus CGFloat borderWidth = 2; UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(kPaddingLeftWidth - borderWidth, curBottomY, 28+ 2*borderWidth, 28 + 2*borderWidth)]; bgView.backgroundColor = kColorTableBG; - _ownerIconView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 28, 28)]; + _ownerIconView = [[YLImageView alloc] initWithFrame:CGRectMake(0, 0, 28, 28)]; _ownerIconView.layer.masksToBounds = YES; _ownerIconView.layer.cornerRadius = _ownerIconView.frame.size.width/2; @@ -65,7 +65,7 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus } if (!_contentLabel) { _contentLabel = [[UITTTAttributedLabel alloc] initWithFrame:CGRectMake(kTaskCommentCell_LeftContentPading, curBottomY, kTaskCommentCell_ContentWidth, 30)]; - _contentLabel.textColor = kColor222; + _contentLabel.textColor = kColorDark3; _contentLabel.font = kTaskCommentCell_FontContent; _contentLabel.linkAttributes = kLinkAttributes; _contentLabel.activeLinkAttributes = kLinkAttributesActive; @@ -74,7 +74,7 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus } if (!_timeLabel) { _timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(kTaskCommentCell_LeftContentPading, 0, kTaskCommentCell_ContentWidth, 20)]; - _timeLabel.textColor = kColor999; + _timeLabel.textColor = kColorDark7; _timeLabel.font = [UIFont systemFontOfSize:12]; [self.contentView addSubview:_timeLabel]; } @@ -95,7 +95,7 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus make.edges.equalTo(self.contentView).insets(UIEdgeInsetsMake(10, 60- 7, 10, 20)); }]; if (!_detailBtn) { - _detailBtn = [UIButton buttonWithTitle:@"查看详情" titleColor:kColorBrandGreen]; + _detailBtn = [UIButton buttonWithTitle:@"查看详情" titleColor:kColorBrandBlue]; _detailBtn.titleLabel.font = [UIFont systemFontOfSize:12]; [_detailBtn addTarget:self action:@selector(goToDetail) forControlEvents:UIControlEventTouchUpInside]; [self.contentView addSubview:_detailBtn]; diff --git a/Coding_iOS/Controllers/EACodeBranchListViewController.h b/Coding_iOS/Controllers/EACodeBranchListViewController.h new file mode 100644 index 000000000..204f32431 --- /dev/null +++ b/Coding_iOS/Controllers/EACodeBranchListViewController.h @@ -0,0 +1,15 @@ +// +// EACodeBranchListViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/22. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "Project.h" + +@interface EACodeBranchListViewController : BaseViewController +@property (nonatomic, strong) Project *myProject; + +@end diff --git a/Coding_iOS/Controllers/EACodeBranchListViewController.m b/Coding_iOS/Controllers/EACodeBranchListViewController.m new file mode 100644 index 000000000..61fc0544b --- /dev/null +++ b/Coding_iOS/Controllers/EACodeBranchListViewController.m @@ -0,0 +1,163 @@ +// +// EACodeBranchListViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/22. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EACodeBranchListViewController.h" +#import "EACodeBranches.h" +#import "ODRefreshControl.h" +#import "SVPullToRefresh.h" +#import "Coding_NetAPIManager.h" +#import "EACodeBranchListCell.h" +#import "ProjectViewController.h" + +@interface EACodeBranchListViewController () +@property (strong, nonatomic) UITableView *myTableView; +@property (nonatomic, strong) ODRefreshControl *myRefreshControl; + +@property (strong, nonatomic) EACodeBranches *myCodeBranches; + +@end + +@implementation EACodeBranchListViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = @"分支管理"; + self.view.backgroundColor = kColorTableSectionBg; + _myTableView = ({ + UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; + tableView.backgroundColor = [UIColor clearColor]; + tableView.dataSource = self; + tableView.delegate = self; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; +// [tableView registerClass:[EACodeBranchListCell class] forCellReuseIdentifier:[EACodeBranchListCell nameOfClass]]; + [tableView registerNib:[UINib nibWithNibName:[EACodeBranchListCell nameOfClass] bundle:nil] forCellReuseIdentifier:[EACodeBranchListCell nameOfClass]]; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, 0, 0); + tableView.contentInset = insets; + tableView.scrollIndicatorInsets = insets; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView; + }); + _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; + [_myRefreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; + + __weak typeof(self) weakSelf = self; + [_myTableView addInfiniteScrollingWithActionHandler:^{ + [weakSelf refreshMore:YES]; + }]; + [self refresh]; +} + +- (void)setMyProject:(Project *)myProject{ + _myProject = myProject; + _myCodeBranches = [EACodeBranches new]; + _myCodeBranches.curPro = _myProject; +} + +#pragma Data +- (void)refresh{ + [self refreshMore:NO]; +} +- (void)refreshMore:(BOOL)willLoadMore{ + if (_myCodeBranches.isLoading) { + return; + } + if (willLoadMore && !_myCodeBranches.canLoadMore) { + [_myTableView.infiniteScrollingView stopAnimating]; + return; + } + _myCodeBranches.willLoadMore = willLoadMore; + [self sendRequest]; +} + +- (void)sendRequest{ + if (_myCodeBranches.list.count <= 0) { + [self.view beginLoading]; + } + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_CodeBranches_WithObj:_myCodeBranches andBlock:^(EACodeBranches *data, NSError *error) { + [weakSelf.view endLoading]; + [weakSelf.myRefreshControl endRefreshing]; + [weakSelf.myTableView.infiniteScrollingView stopAnimating]; + if (data) { + [weakSelf.myCodeBranches configWithObj:data]; + [weakSelf.myTableView reloadData]; + weakSelf.myTableView.showsInfiniteScrolling = weakSelf.myCodeBranches.canLoadMore; + } + [weakSelf.view configBlankPage:EaseBlankPageTypeView hasData:(weakSelf.myCodeBranches.list.count > 0) hasError:(error != nil) reloadButtonBlock:^(id sender) { + [weakSelf refreshMore:NO]; + }]; + }]; +} + +#pragma mark TableM +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return _myCodeBranches.list.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + EACodeBranchListCell *cell = [tableView dequeueReusableCellWithIdentifier:[EACodeBranchListCell nameOfClass] forIndexPath:indexPath]; + cell.curBranch = self.myCodeBranches.list[indexPath.row]; + cell.delegate = self; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return 80; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + CodeBranchOrTag *curB = self.myCodeBranches.list[indexPath.row]; + ProjectViewController *vc = [ProjectViewController codeVCWithCodeRef:curB.name andProject:self.myProject]; + vc.hideBranchTagButton = YES; + [self.navigationController pushViewController:vc animated:YES]; +} + +#pragma mark SWTableViewCellDelegate +- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index{ + NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell]; + CodeBranchOrTag *curB = self.myCodeBranches.list[indexPath.row]; + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_actionSheetCustomWithTitle:[NSString stringWithFormat:@"请确认是否要删除分支 %@ ?", curB.name] buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf deleteBranch:curB]; + } + }] showInView:self.view]; +} +- (BOOL)swipeableTableViewCellShouldHideUtilityButtonsOnSwipe:(SWTableViewCell *)cell{ + return YES; +} +- (BOOL)swipeableTableViewCell:(SWTableViewCell *)cell canSwipeToState:(SWCellState)state{ + NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell]; + CodeBranchOrTag *curB = self.myCodeBranches.list[indexPath.row]; + return !curB.is_default_branch.boolValue; +} + +- (void)deleteBranch:(CodeBranchOrTag *)curB{ + __weak typeof(self) weakSelf = self; + [NSObject showHUDQueryStr:@"请稍等..."]; + [[Coding_NetAPIManager sharedManager] request_DeleteCodeBranch:curB inProject:_myProject andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; + if (data) { + [NSObject showHudTipStr:@"删除成功"]; +// [weakSelf.myCodeBranches.list removeObject:curB]; +// [weakSelf.myTableView reloadData]; + [weakSelf refresh]; + } + }]; +} + +@end diff --git a/Coding_iOS/Controllers/EACodeReleaseListViewController.h b/Coding_iOS/Controllers/EACodeReleaseListViewController.h new file mode 100644 index 000000000..c0f3cb8ca --- /dev/null +++ b/Coding_iOS/Controllers/EACodeReleaseListViewController.h @@ -0,0 +1,15 @@ +// +// EACodeReleaseListViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/22. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "Project.h" + +@interface EACodeReleaseListViewController : BaseViewController +@property (nonatomic, strong) Project *myProject; + +@end diff --git a/Coding_iOS/Controllers/EACodeReleaseListViewController.m b/Coding_iOS/Controllers/EACodeReleaseListViewController.m new file mode 100644 index 000000000..6970b1701 --- /dev/null +++ b/Coding_iOS/Controllers/EACodeReleaseListViewController.m @@ -0,0 +1,159 @@ +// +// EACodeReleaseListViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/22. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EACodeReleaseListViewController.h" +#import "EACodeReleases.h" +#import "ODRefreshControl.h" +#import "SVPullToRefresh.h" +#import "Coding_NetAPIManager.h" +#import "EACodeReleaseListCell.h" +#import "EACodeReleaseViewController.h" + +@interface EACodeReleaseListViewController () +@property (strong, nonatomic) UITableView *myTableView; +@property (nonatomic, strong) ODRefreshControl *myRefreshControl; + +@property (strong, nonatomic) EACodeReleases *myCodeReleases; +@property (strong, nonatomic) NSArray *dataList; +@end + +@implementation EACodeReleaseListViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = @"发布管理"; + self.view.backgroundColor = kColorTableSectionBg; + _myTableView = ({ + UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; + tableView.backgroundColor = [UIColor clearColor]; + tableView.dataSource = self; + tableView.delegate = self; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [tableView registerNib:[UINib nibWithNibName:[EACodeReleaseListCell nameOfClass] bundle:nil] forCellReuseIdentifier:[EACodeReleaseListCell nameOfClass]]; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, 0, 0); + tableView.contentInset = insets; + tableView.scrollIndicatorInsets = insets; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView; + }); + _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; + [_myRefreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; + + __weak typeof(self) weakSelf = self; + [_myTableView addInfiniteScrollingWithActionHandler:^{ + [weakSelf refreshMore:YES]; + }]; + [self refresh]; +} + +- (void)setMyProject:(Project *)myProject{ + _myProject = myProject; + _myCodeReleases = [EACodeReleases new]; + _myCodeReleases.curPro = _myProject; +} + +#pragma Data +- (void)refresh{ + [self refreshMore:NO]; +} +- (void)refreshMore:(BOOL)willLoadMore{ + if (_myCodeReleases.isLoading) { + return; + } + if (willLoadMore && !_myCodeReleases.canLoadMore) { + [_myTableView.infiniteScrollingView stopAnimating]; + return; + } + _myCodeReleases.willLoadMore = willLoadMore; + [self sendRequest]; +} + +- (void)sendRequest{ + if (_myCodeReleases.list.count <= 0) { + [self.view beginLoading]; + } + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_CodeReleases_WithObj:_myCodeReleases andBlock:^(EACodeReleases *data, NSError *error) { + [weakSelf.view endLoading]; + [weakSelf.myRefreshControl endRefreshing]; + [weakSelf.myTableView.infiniteScrollingView stopAnimating]; + if (data) { + [weakSelf.myCodeReleases configWithObj:data]; + [weakSelf.myTableView reloadData]; + weakSelf.myTableView.showsInfiniteScrolling = weakSelf.myCodeReleases.canLoadMore; + } + [weakSelf.view configBlankPage:EaseBlankPageTypeView hasData:(weakSelf.myCodeReleases.list.count > 0) hasError:(error != nil) reloadButtonBlock:^(id sender) { + [weakSelf refreshMore:NO]; + }]; + }]; +} + +#pragma mark TableM +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return _myCodeReleases.list.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + EACodeReleaseListCell *cell = [tableView dequeueReusableCellWithIdentifier:[EACodeReleaseListCell nameOfClass] forIndexPath:indexPath]; + cell.curCodeRelease = self.myCodeReleases.list[indexPath.row]; + cell.delegate = self; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return 65; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + EACodeReleaseViewController *vc = [EACodeReleaseViewController new]; + vc.curRelease = self.myCodeReleases.list[indexPath.row]; + [self.navigationController pushViewController:vc animated:YES]; +} + +#pragma mark SWTableViewCellDelegate +- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index{ + NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell]; + EACodeRelease *curR = self.myCodeReleases.list[indexPath.row]; + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_actionSheetCustomWithTitle:[NSString stringWithFormat:@"请确认是否删除版本 %@ ?", curR.tag_name] buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf deleteRelease:curR]; + } + }] showInView:self.view]; +} +- (BOOL)swipeableTableViewCellShouldHideUtilityButtonsOnSwipe:(SWTableViewCell *)cell{ + return YES; +} +- (BOOL)swipeableTableViewCell:(SWTableViewCell *)cell canSwipeToState:(SWCellState)state{ + return YES; +} + +- (void)deleteRelease:(EACodeRelease *)curR{ + __weak typeof(self) weakSelf = self; + [NSObject showHUDQueryStr:@"请稍等..."]; + [[Coding_NetAPIManager sharedManager] request_DeleteCodeRelease:curR andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; + if (data) { + [NSObject showHudTipStr:@"删除成功"]; +// [weakSelf.myCodeReleases.list removeObject:curR]; +// [weakSelf.myTableView reloadData]; + [weakSelf refresh]; + } + }]; +} + +@end diff --git a/Coding_iOS/Controllers/EACodeReleaseViewController.h b/Coding_iOS/Controllers/EACodeReleaseViewController.h new file mode 100644 index 000000000..148653c6c --- /dev/null +++ b/Coding_iOS/Controllers/EACodeReleaseViewController.h @@ -0,0 +1,14 @@ +// +// EACodeReleaseViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/23. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "EACodeRelease.h" + +@interface EACodeReleaseViewController : BaseViewController +@property (strong, nonatomic) EACodeRelease *curRelease; +@end diff --git a/Coding_iOS/Controllers/EACodeReleaseViewController.m b/Coding_iOS/Controllers/EACodeReleaseViewController.m new file mode 100644 index 000000000..58ce3853b --- /dev/null +++ b/Coding_iOS/Controllers/EACodeReleaseViewController.m @@ -0,0 +1,185 @@ +// +// EACodeReleaseViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/23. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EACodeReleaseViewController.h" +#import "ODRefreshControl.h" +#import "Coding_NetAPIManager.h" +#import "EACodeReleaseTopCell.h" +#import "EACodeReleaseBodyCell.h" +#import "EACodeReleaseAttachmentsOrReferencesCell.h" +#import "ProjectViewController.h" +#import "WebViewController.h" +#import "EAEditCodeReleaseViewController.h" + +@interface EACodeReleaseViewController () +@property (strong, nonatomic) UITableView *myTableView; +@property (nonatomic, strong) ODRefreshControl *myRefreshControl; + +@end + +@implementation EACodeReleaseViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = _curRelease.tag_name; + self.view.backgroundColor = kColorTableBG; + _myTableView = ({ + UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; + tableView.backgroundColor = [UIColor clearColor]; + tableView.dataSource = self; + tableView.delegate = self; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [tableView registerNib:[UINib nibWithNibName:[EACodeReleaseTopCell nameOfClass] bundle:nil] forCellReuseIdentifier:[EACodeReleaseTopCell nameOfClass]]; + [tableView registerClass:[EACodeReleaseBodyCell class] forCellReuseIdentifier:[EACodeReleaseBodyCell nameOfClass]]; + [tableView registerClass:[EACodeReleaseAttachmentsOrReferencesCell class] forCellReuseIdentifier:[EACodeReleaseAttachmentsOrReferencesCell nameOfClass]]; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, 0, 0); + tableView.contentInset = insets; + tableView.scrollIndicatorInsets = insets; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView; + }); + _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; + [_myRefreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; + + [self.navigationItem setRightBarButtonItem:[UIBarButtonItem itemWithBtnTitle:@"编辑" target:self action:@selector(editBtnClicked)] animated:YES]; +} + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [self refresh]; +} + +#pragma Data +- (void)refresh{ + if (!_curRelease.author) { + [self.view beginLoading]; + } + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_CodeRelease_WithObj:_curRelease andBlock:^(EACodeRelease *data, NSError *error) { + [weakSelf.view endLoading]; + [weakSelf.myRefreshControl endRefreshing]; + if (data) { + if (weakSelf.curRelease.contentHeight > 1) { + [(EACodeRelease *)data setContentHeight:weakSelf.curRelease.contentHeight]; + } + weakSelf.curRelease = data; + [weakSelf.myTableView reloadData]; + } + [weakSelf.view configBlankPage:EaseBlankPageTypeView hasData:(weakSelf.curRelease.author != nil) hasError:(error != nil) reloadButtonBlock:^(id sender) { + [weakSelf refresh]; + }]; + }]; +} + +#pragma mark TableM +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return _curRelease.author != nil? 4: 0; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + if (indexPath.row == 0) { + EACodeReleaseTopCell *cell = [tableView dequeueReusableCellWithIdentifier:[EACodeReleaseTopCell nameOfClass] forIndexPath:indexPath]; + cell.curR = self.curRelease; + __weak typeof(self) weakSelf = self; + cell.tagClickedBlock = ^(EACodeRelease *curR) { + ProjectViewController *vc = [ProjectViewController codeVCWithCodeRef:curR.tag_name andProject:curR.project]; + vc.hideBranchTagButton = YES; + [weakSelf.navigationController pushViewController:vc animated:YES]; + }; + return cell; + }else if (indexPath.row == 1){ + EACodeReleaseBodyCell *cell = [tableView dequeueReusableCellWithIdentifier:[EACodeReleaseBodyCell nameOfClass] forIndexPath:indexPath]; + cell.curR = self.curRelease; + __weak typeof(self) weakSelf = self; + cell.cellHeightChangedBlock = ^{ + [weakSelf.myTableView reloadData]; + }; + cell.loadRequestBlock = ^(NSURLRequest *curRequest) { + [weakSelf loadRequest:curRequest]; + }; + return cell; + }else{ + EACodeReleaseAttachmentsOrReferencesCell *cell = [tableView dequeueReusableCellWithIdentifier:[EACodeReleaseAttachmentsOrReferencesCell nameOfClass] forIndexPath:indexPath]; + [cell setupCodeRelease:_curRelease type:(indexPath.row - 2)]; + __weak typeof(self) weakSelf = self; + cell.itemClickedBlock = ^(id item) { + [weakSelf handleItem:item]; + }; + return cell; + } +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + CGFloat cellHeight = 0; + if (indexPath.row == 0) { + cellHeight = [EACodeReleaseTopCell cellHeightWithObj:_curRelease]; + }else if (indexPath.row == 1){ + cellHeight = [EACodeReleaseBodyCell cellHeightWithObj:_curRelease]; + }else{ + cellHeight = [EACodeReleaseAttachmentsOrReferencesCell cellHeightWithObj:_curRelease type:(indexPath.row - 2)]; + } + return cellHeight; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; +} + +#pragma mark loadCellRequest +- (void)loadRequest:(NSURLRequest *)curRequest +{ + NSString *linkStr = curRequest.URL.absoluteString; + [self analyseLinkStr:linkStr]; +} + +- (void)analyseLinkStr:(NSString *)linkStr +{ + if (linkStr.length <= 0) { + return; + } + UIViewController *vc = [BaseViewController analyseVCFromLinkStr:linkStr]; + if (vc) { + [self.navigationController pushViewController:vc animated:YES]; + }else{ + // 跳转去网页 + WebViewController *webVc = [WebViewController webVCWithUrlStr:linkStr]; + [self.navigationController pushViewController:webVc animated:YES]; + } +} + +#pragma mark goTo + +- (void)handleItem:(id)item{ + if ([item isKindOfClass:[EACodeReleaseAttachment class]]) { + NSString *linkStr = [NSString stringWithFormat:@"/api/user/%@/project/%@/git/releases/attachments/download/%@", _curRelease.project.owner_user_name, _curRelease.project.name, ((EACodeReleaseAttachment *)item).id]; + WebViewController *webVc = [WebViewController webVCWithUrlStr:linkStr]; + [self.navigationController pushViewController:webVc animated:YES]; + }else if ([item isKindOfClass:[ResourceReferenceItem class]]){ + UIViewController *vc = [BaseViewController analyseVCFromLinkStr:((ResourceReferenceItem *)item).link]; + if (vc) { + [self.navigationController pushViewController:vc animated:YES]; + }else{ + [NSObject showHudTipStr:@"暂时不支持查看该资源"]; + } + } +} + +- (void)editBtnClicked{ + EAEditCodeReleaseViewController *vc = [EAEditCodeReleaseViewController new]; + vc.curR = _curRelease; + [self.navigationController pushViewController:vc animated:YES]; +} + +@end diff --git a/Coding_iOS/Controllers/EAEditCodeReleaseViewController.h b/Coding_iOS/Controllers/EAEditCodeReleaseViewController.h new file mode 100644 index 000000000..f34ee57c9 --- /dev/null +++ b/Coding_iOS/Controllers/EAEditCodeReleaseViewController.h @@ -0,0 +1,15 @@ +// +// EAEditCodeReleaseViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/27. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "EACodeRelease.h" + +@interface EAEditCodeReleaseViewController : BaseViewController +@property (strong, nonatomic) EACodeRelease *curR; + +@end diff --git a/Coding_iOS/Controllers/EAEditCodeReleaseViewController.m b/Coding_iOS/Controllers/EAEditCodeReleaseViewController.m new file mode 100644 index 000000000..d7d5e2c03 --- /dev/null +++ b/Coding_iOS/Controllers/EAEditCodeReleaseViewController.m @@ -0,0 +1,286 @@ +// +// EAEditCodeReleaseViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/27. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EAEditCodeReleaseViewController.h" +#import "Coding_NetAPIManager.h" +#import "EaseMarkdownTextView.h" +#import "WebContentManager.h" +#import "WebViewController.h" +#import "UIViewController+BackButtonHandler.h" + +@interface EAEditCodeReleaseViewController () + +@property (strong, nonatomic) UISegmentedControl *segmentedControl; +@property (assign, nonatomic) NSInteger curIndex; + +@property (strong, nonatomic) UIWebView *preview; +@property (strong, nonatomic) UIActivityIndicatorView *activityIndicator; + +@property (strong, nonatomic) UIView *editView; +@property (strong, nonatomic) UITextField *inputTitleView; +@property (strong, nonatomic) EaseMarkdownTextView *inputContentView; +@property (strong, nonatomic) UIView *lineView; +@end + +@implementation EAEditCodeReleaseViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = kColorTableBG; + if (!_segmentedControl) { + _segmentedControl = ({ + UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"编辑", @"预览"]]; + [segmentedControl setWidth:80 forSegmentAtIndex:0]; + [segmentedControl setWidth:80 forSegmentAtIndex:1]; + [segmentedControl setTitleTextAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:16], + NSForegroundColorAttributeName: [UIColor whiteColor] + } + forState:UIControlStateSelected]; + [segmentedControl setTitleTextAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:16], + NSForegroundColorAttributeName: kColorNavTitle + } forState:UIControlStateNormal]; + [segmentedControl addTarget:self action:@selector(segmentedControlSelected:) forControlEvents:UIControlEventValueChanged]; + segmentedControl; + }); + + self.navigationItem.titleView = _segmentedControl; + } + + [self.navigationItem setRightBarButtonItem:[UIBarButtonItem itemWithBtnTitle:@"保存" target:self action:@selector(saveBtnClicked)] animated:YES]; + self.navigationItem.rightBarButtonItem.enabled = NO; + + [[[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardWillChangeFrameNotification object:nil] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(NSNotification *aNotification) { + if (self.inputContentView) { + NSDictionary* userInfo = [aNotification userInfo]; + CGRect keyboardEndFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; + self.inputContentView.contentInset = UIEdgeInsetsMake(0, 0, CGRectGetHeight(keyboardEndFrame), 0); + self.inputContentView.scrollIndicatorInsets = self.inputContentView.contentInset; + } + }]; + self.curIndex = 0; +} + + +- (void)refreshUI{ + self.inputTitleView.text = self.curR.editTitle; + self.inputContentView.text = self.curR.editBody; + if (_curIndex == 1) { + [self loadPreview]; + } +} + +- (void)viewDidAppear:(BOOL)animated{ + [super viewDidAppear:animated]; + if (_curIndex == 0) { + [self loadEditView]; + } else { + [self loadPreview]; + } + //禁用屏幕左滑返回手势 + if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { + self.navigationController.interactivePopGestureRecognizer.enabled = NO; + } +} + +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; + //开启屏幕左滑返回手势 + if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { + self.navigationController.interactivePopGestureRecognizer.enabled = YES; + } +} + +- (BOOL)navigationShouldPopOnBackButton{ + self.curR.editTitle = _inputTitleView.text; + self.curR.editBody = _inputContentView.text; + if ([self.curR hasChanged]) { + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_alertViewWithTitle:@"提示" message:@"如果不保存,更改将丢失,是否确认返回?" buttonTitles:@[@"确认返回"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf.navigationController popViewControllerAnimated:YES]; + } + }] show]; + return NO; + }else{ + return YES; + } +} + +#pragma mark UISegmentedControl +- (void)segmentedControlSelected:(id)sender{ + UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; + self.curIndex = segmentedControl.selectedSegmentIndex; +} + +#pragma mark index_view +- (void)setCurIndex:(NSInteger)curIndex{ + _curIndex = curIndex; + if (_segmentedControl.selectedSegmentIndex != curIndex) { + [_segmentedControl setSelectedSegmentIndex:_curIndex]; + } + + if (_curIndex == 0) { + [self loadEditView]; + } else { + [self loadPreview]; + } +} + +#pragma mark PreView + +- (void)loadPreview{ + if (!_preview) { + _preview = [[UIWebView alloc] initWithFrame:self.view.bounds]; + _preview.delegate = self; + _preview.backgroundColor = [UIColor clearColor]; + _preview.opaque = NO; + _preview.scalesPageToFit = YES; + [self.view addSubview:_preview]; + //webview加载指示 + _activityIndicator = [[UIActivityIndicatorView alloc] + initWithActivityIndicatorStyle: + UIActivityIndicatorViewStyleGray]; + _activityIndicator.hidesWhenStopped = YES; + [_activityIndicator setCenter:CGPointMake(CGRectGetWidth(_preview.frame)/2, CGRectGetHeight(_preview.frame)/2)]; + [_preview addSubview:_activityIndicator]; + [_preview mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + } + self.curR.editTitle = _inputTitleView.text; + self.curR.editBody = _inputContentView.text; + + _preview.hidden = NO; + _editView.hidden = YES; + [self.view endEditing:YES]; + [self previewLoadMDData]; +} + +- (void)previewLoadMDData{ + NSString *mdStr = [NSString stringWithFormat:@"# %@ \n\n%@", self.curR.editTitle, self.curR.editBody]; + @weakify(self); + [[Coding_NetAPIManager sharedManager] request_MDHtmlStr_WithMDStr:mdStr inProject:self.curR.project andBlock:^(id data, NSError *error) { + @strongify(self); + NSString *htmlStr = data? data : error.description; + NSString *contentStr = [WebContentManager wikiPatternedWithContent:htmlStr]; + [self.preview loadHTMLString:contentStr baseURL:nil]; + }]; +} +#pragma mark EditView + + +- (void)loadEditView{ + if (!_editView) { + //控件 + _editView = [[UIView alloc] initWithFrame:self.view.bounds]; + [self.view addSubview:_editView]; + + _inputTitleView = [UITextField new]; + _inputTitleView.textColor = kColor222; + _inputTitleView.font = [UIFont systemFontOfSize:18]; + _inputTitleView.placeholder = @"Release 标题"; + [_editView addSubview:_inputTitleView]; + + _lineView = [UIView new]; + _lineView.backgroundColor = kColorDDD; + [_editView addSubview:_lineView]; + + _inputContentView = [[EaseMarkdownTextView alloc] initWithFrame:CGRectZero]; + _inputContentView.curProject = self.curR.project; + _inputContentView.textColor = kColor222; + _inputContentView.placeholder = @"Release 的描述内容"; + _inputContentView.backgroundColor = [UIColor clearColor]; + _inputContentView.font = [UIFont systemFontOfSize:15]; + _inputContentView.textContainerInset = UIEdgeInsetsMake(10, kPaddingLeftWidth - 5, 8, kPaddingLeftWidth - 5); + [_editView addSubview:_inputContentView]; + + [self.view addSubview:_editView]; + // 布局 + [_editView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + [_inputTitleView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_editView.mas_top).offset(10.0); + make.height.mas_equalTo(25); + make.left.equalTo(_editView).offset(kPaddingLeftWidth); + make.right.equalTo(_editView).offset(-kPaddingLeftWidth); + }]; + [_lineView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_inputTitleView.mas_bottom).offset(10.0); + make.left.equalTo(_editView).offset(kPaddingLeftWidth); + make.height.mas_equalTo(1.0); + make.right.equalTo(_editView); + }]; + [_inputContentView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_lineView.mas_bottom).offset(5.0); + make.left.right.bottom.equalTo(_editView); + }]; + // 内容 + @weakify(self); + RAC(self.navigationItem.rightBarButtonItem, enabled) = [RACSignal combineLatest:@[self.inputTitleView.rac_textSignal, + self.inputContentView.rac_textSignal] + reduce:^id (NSString *title, NSString *content) { + @strongify(self); + title = self.inputTitleView.text; + content = self.inputContentView.text; + BOOL enabled = ([title stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].length > 0 + && (![title isEqualToString:self.curR.editTitle] || ![content isEqualToString:self.curR.editBody])); + return @(enabled); + }]; + _inputTitleView.text = _curR.editTitle; + _inputContentView.text = _curR.editBody; + } + _editView.hidden = NO; + _preview.hidden = YES; +} + +#pragma mark - click +- (void)saveBtnClicked{ + self.curR.editTitle = _inputTitleView.text; + self.curR.editBody = _inputContentView.text; + + self.navigationItem.rightBarButtonItem.enabled = NO; + [NSObject showHUDQueryStr:@"正在保存..."]; + @weakify(self); + [[Coding_NetAPIManager sharedManager] request_ModifyCodeRelease:_curR andBlock:^(EACodeRelease *data, NSError *error) { + @strongify(self); + self.navigationItem.rightBarButtonItem.enabled = YES; + [NSObject hideHUDQuery]; + if (data) { + [NSObject showHudTipStr:@"保存成功"]; + [self.navigationController popViewControllerAnimated:YES]; + } + }]; +} + +#pragma mark UIWebViewDelegate +- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ + DebugLog(@"strLink=[%@]",request.URL.absoluteString); + UIViewController *vc = [BaseViewController analyseVCFromLinkStr:request.URL.absoluteString]; + if (vc) { + [self.navigationController pushViewController:vc animated:YES]; + return NO; + } + return YES; +} +- (void)webViewDidStartLoad:(UIWebView *)webView{ + [_activityIndicator startAnimating]; +} +- (void)webViewDidFinishLoad:(UIWebView *)webView{ + [_activityIndicator stopAnimating]; +} +- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ + if([error code] == NSURLErrorCancelled) + return; + else + DebugLog(@"%@", error.description); +} +@end diff --git a/Coding_iOS/Controllers/EALocalCodeListViewController.h b/Coding_iOS/Controllers/EALocalCodeListViewController.h new file mode 100644 index 000000000..f530a2bf2 --- /dev/null +++ b/Coding_iOS/Controllers/EALocalCodeListViewController.h @@ -0,0 +1,18 @@ +// +// EALocalCodeListViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/28. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "Project.h" + +@interface EALocalCodeListViewController : BaseViewController +@property (strong, nonatomic) Project *curPro; +@property (strong, nonatomic) GTRepository *curRepo; +@property (strong, nonatomic) NSURL *curURL; + +- (void)pullRepo; +@end diff --git a/Coding_iOS/Controllers/EALocalCodeListViewController.m b/Coding_iOS/Controllers/EALocalCodeListViewController.m new file mode 100644 index 000000000..36b18c24b --- /dev/null +++ b/Coding_iOS/Controllers/EALocalCodeListViewController.m @@ -0,0 +1,219 @@ +// +// EALocalCodeListViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/28. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EALocalCodeListViewController.h" +#import "EALocalCodeViewController.h" +#import "EALocalCodeListCell.h" + +@interface EALocalCodeListViewController () +@property (nonatomic, strong) UITableView *myTableView; +@property (strong, nonatomic) UISearchBar *mySearchBar; + +@property (strong, nonatomic) NSArray *fileList, *searchedFileList; +@property (strong, nonatomic) NSMutableDictionary *isDirDict; +@property (strong, nonatomic, readonly) NSArray *dataList; +@property (assign, nonatomic, readonly) BOOL isSearching; +@end + +@implementation EALocalCodeListViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + _myTableView = ({ + UITableView *tableView = [UITableView new]; + tableView.backgroundColor = [UIColor clearColor]; + tableView.delegate = self; + tableView.dataSource = self; + [tableView registerClass:[EALocalCodeListCell class] forCellReuseIdentifier:[EALocalCodeListCell nameOfClass]]; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView; + }); + _mySearchBar = ({ + UISearchBar *searchBar = [[UISearchBar alloc] init]; + searchBar.delegate = self; + [searchBar sizeToFit]; + [searchBar setPlaceholder:@"寻找文件"]; + searchBar; + }); + _myTableView.tableHeaderView = _mySearchBar; + [self setupNavBtnAndTitle]; + [self setupData]; +} + +- (void)setupData{ + NSFileManager *fileManager = [NSFileManager defaultManager]; + self.fileList = [[fileManager contentsOfDirectoryAtURL:_curURL includingPropertiesForKeys:nil options:0 error:nil] sortedArrayUsingComparator:^NSComparisonResult(NSURL *obj1, NSURL *obj2) { + NSDictionary *attr1 = [obj1 resourceValuesForKeys:@[NSURLIsDirectoryKey] error:nil]; + BOOL isDir1 = [attr1[NSURLIsDirectoryKey] boolValue]; + NSDictionary *attr2 = [obj2 resourceValuesForKeys:@[NSURLIsDirectoryKey] error:nil]; + BOOL isDir2 = [attr2[NSURLIsDirectoryKey] boolValue]; + NSComparisonResult result = [(isDir1? @0: @1) compare:(isDir2? @0: @1)]; + if (result == NSOrderedSame) { + result = [obj1.lastPathComponent compare:obj2.lastPathComponent]; + } + return result; + }]; + [self.myTableView reloadData]; +} + +- (BOOL)isSearching{ + return ![_mySearchBar.text isEmpty]; +} + +- (NSArray *)dataList{ + return self.isSearching? _searchedFileList: _fileList; +} + +#pragma mark Nav +- (void)setupNavBtnAndTitle{ + if ([_curURL.absoluteString isEqualToString:_curPro.localURL.absoluteString]) {//根目录 + NSArray *branchList = [_curPro.localRepo localBranchesWithError:nil]; + self.title = branchList.count > 0? branchList.firstObject.shortName: _curURL.lastPathComponent; + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"moreBtn_Nav"] style:UIBarButtonItemStylePlain target:self action:@selector(navBtnClicked)]; + }else{ + self.title = _curURL.lastPathComponent; + } +} + +- (void)navBtnClicked{ + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_actionSheetCustomWithTitle:nil buttonTitles:@[@"Pull"] destructiveTitle:@"删除本地 Repo" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf pullRepo]; + }else if (index == 1){ + [weakSelf deleteRepo]; + } + }] showInView:self.view]; +} + +- (void)pullRepo{ + if (![_curURL.absoluteString isEqualToString:_curPro.localURL.absoluteString]) {//不是根目录不 pull,任性 + return; + } + __weak typeof(self) weakSelf = self; + MBProgressHUD *hud = [NSObject showHUDQueryStr:@"正在 pull..."]; + [_curPro gitPullBlock:^(BOOL result, NSString *tipStr) { + [NSObject hideHUDQuery]; + if (tipStr) { + [NSObject showHudTipStr:tipStr]; + }else{ + [NSObject showHudTipStr:@"已更新"]; + [weakSelf setupData]; + } + } progressBlock:^(const git_transfer_progress *progress, BOOL *stop) { + hud.detailsLabelText = [NSString stringWithFormat:@"%d / %d", progress->received_objects, progress->total_objects]; + }]; +} + +- (void)deleteRepo{ + [_curPro deleteLocalRepo]; + [NSObject showHudTipStr:@"已删除"]; + [self.navigationController popViewControllerAnimated:YES]; +} + +#pragma mark ScrollView Delegate +- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ + if (scrollView == _myTableView) { + [self.mySearchBar resignFirstResponder]; + } +} +#pragma mark Table + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ + return self.isSearching? 44.0: 0.0; +} + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ + if (self.isSearching) { + UILabel *headerL = [UILabel labelWithSystemFontSize:14 textColorHexString:@"0xB5B5B5"]; + headerL.frame = CGRectMake(0, 0, kScreen_Width, 40); + headerL.backgroundColor = [UIColor whiteColor]; + headerL.textAlignment = NSTextAlignmentCenter; + headerL.text = [NSString stringWithFormat:@"共搜到 %lu 个与 \"%@\" 相关的文件", (unsigned long)self.searchedFileList.count, self.mySearchBar.text]; + [headerL doBorderWidth:kLine_MinHeight color:kColorDDD cornerRadius:0]; + return headerL; + }else{ + return [UIView new]; + } +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return self.dataList.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + EALocalCodeListCell *cell = [tableView dequeueReusableCellWithIdentifier:[EALocalCodeListCell nameOfClass] forIndexPath:indexPath]; + cell.curURL = self.dataList[indexPath.row]; + cell.searchText = [_mySearchBar.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth hasSectionLine:NO]; + return cell; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return 44.0;; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + NSURL *itemURL = self.dataList[indexPath.row]; + NSDictionary *attributes = [itemURL resourceValuesForKeys:@[NSURLIsDirectoryKey] error:nil]; + BOOL isDir = [attributes[NSURLIsDirectoryKey] boolValue]; + if (isDir) { + EALocalCodeListViewController *vc = [EALocalCodeListViewController new]; + vc.curPro = _curPro; + vc.curRepo = _curRepo; + vc.curURL = itemURL; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + EALocalCodeViewController *vc = [EALocalCodeViewController new]; + vc.curPro = _curPro; + vc.curRepo = _curRepo; + vc.curURL = itemURL; + [self.navigationController pushViewController:vc animated:YES]; + } +} + +#pragma mark UISearchBarDelegate + +- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{ + [self searchFileWithStr:searchText]; +} + +- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{ + [searchBar resignFirstResponder]; + [self searchFileWithStr:searchBar.text]; +} + +- (void)searchFileWithStr:(NSString *)string{ + if ([string isEmpty]) { + [self.myTableView reloadData]; + }else{ + NSString *strippedStr = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + if (strippedStr.length > 0) { + [self updateFilteredContentForSearchString:strippedStr]; + } + } +} + +- (void)updateFilteredContentForSearchString:(NSString *)searchString{ + self.searchedFileList = [self.fileList filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(NSURL * _Nullable evaluatedObject, NSDictionary * _Nullable bindings) { + NSString *shortPath = evaluatedObject.lastPathComponent; + return ([shortPath rangeOfString:searchString options:NSCaseInsensitiveSearch].location != NSNotFound); + }]]; + [self.myTableView reloadData]; +} + +@end diff --git a/Coding_iOS/Controllers/EALocalCodeViewController.h b/Coding_iOS/Controllers/EALocalCodeViewController.h new file mode 100644 index 000000000..c3b1db2e8 --- /dev/null +++ b/Coding_iOS/Controllers/EALocalCodeViewController.h @@ -0,0 +1,16 @@ +// +// EALocalCodeViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/28. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "Project.h" + +@interface EALocalCodeViewController : BaseViewController +@property (strong, nonatomic) Project *curPro; +@property (strong, nonatomic) GTRepository *curRepo; +@property (strong, nonatomic) NSURL *curURL; +@end diff --git a/Coding_iOS/Controllers/EALocalCodeViewController.m b/Coding_iOS/Controllers/EALocalCodeViewController.m new file mode 100644 index 000000000..4178067e3 --- /dev/null +++ b/Coding_iOS/Controllers/EALocalCodeViewController.m @@ -0,0 +1,93 @@ +// +// EALocalCodeViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/3/28. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EALocalCodeViewController.h" +#import "WebContentManager.h" + +@interface EALocalCodeViewController () + +@property (strong, nonatomic) UIWebView *webContentView; +@property (strong, nonatomic) UIActivityIndicatorView *activityIndicator; + +@end + +@implementation EALocalCodeViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = _curURL.lastPathComponent; + {//用webView显示内容 + _webContentView = [[UIWebView alloc] initWithFrame:self.view.bounds]; + _webContentView.delegate = self; + _webContentView.backgroundColor = [UIColor clearColor]; + _webContentView.opaque = NO; + _webContentView.scalesPageToFit = YES; + [self.view addSubview:_webContentView]; + //webview加载指示 + _activityIndicator = [[UIActivityIndicatorView alloc] + initWithActivityIndicatorStyle: + UIActivityIndicatorViewStyleGray]; + _activityIndicator.hidesWhenStopped = YES; + [_activityIndicator setCenter:CGPointMake(CGRectGetWidth(_webContentView.frame)/2, CGRectGetHeight(_webContentView.frame)/2)]; + [_webContentView addSubview:_activityIndicator]; + [_webContentView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + } + [self loadData]; +} + +- (void)loadData{ + if ([_curURL isTextData]) { + CodeFile *file = [CodeFile codeFileWithLocalURL:_curURL]; + NSString *codeStr = [WebContentManager codePatternedWithContent:file isEdit:NO]; + [self.webContentView loadHTMLString:codeStr baseURL:nil]; + }else{ + [self.webContentView loadRequest:[NSURLRequest requestWithURL:_curURL]]; + } +} + +#pragma mark - Orientations +- (BOOL)shouldAutorotate { + return YES; +} + +- (UIInterfaceOrientationMask)supportedInterfaceOrientations{ + return UIInterfaceOrientationMaskAllButUpsideDown; +} + +#pragma mark UIWebViewDelegate +- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ + DebugLog(@"strLink=[%@]",request.URL.absoluteString); + UIViewController *vc = [BaseViewController analyseVCFromLinkStr:request.URL.absoluteString]; + if (vc) { + [self.navigationController pushViewController:vc animated:YES]; + return NO; + } + return YES; +} +- (void)webViewDidStartLoad:(UIWebView *)webView{ + [_activityIndicator startAnimating]; +} +- (void)webViewDidFinishLoad:(UIWebView *)webView{ + [_activityIndicator stopAnimating]; +} + +- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ + [_activityIndicator stopAnimating]; + if (error.code == NSURLErrorCancelled) { + NSLog(@"Canceled request: %@", webView.request.URL); + }else if ([error.domain isEqualToString:@"WebKitErrorDomain"] && (error.code == 102 || error.code == 204)) { + NSLog(@"ignore: %@", error); + }else { + [NSObject showError:error]; + } +} + +@end diff --git a/Coding_iOS/Controllers/EAPayViewController.h b/Coding_iOS/Controllers/EAPayViewController.h new file mode 100644 index 000000000..7f654731e --- /dev/null +++ b/Coding_iOS/Controllers/EAPayViewController.h @@ -0,0 +1,18 @@ +// +// EAPayViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2017/11/29. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "ShopOrder.h" + +@interface EAPayViewController : BaseViewController + +@property (strong, nonatomic) ShopOrder *shopOrder; + +- (void)handlePayURL:(NSURL *)url; + +@end diff --git a/Coding_iOS/Controllers/EAPayViewController.m b/Coding_iOS/Controllers/EAPayViewController.m new file mode 100644 index 000000000..a5cb6d918 --- /dev/null +++ b/Coding_iOS/Controllers/EAPayViewController.m @@ -0,0 +1,111 @@ +// +// EAPayViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2017/11/29. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "EAPayViewController.h" + +#import +#import +#import + +#import "Coding_NetAPIManager.h" + +@interface EAPayViewController () + +@property (assign, nonatomic) NSInteger payMethod;//0 alipay, 1 wechat +@property (strong, nonatomic) NSDictionary *payDict; + +@end + +@implementation EAPayViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. + self.title = @"支付"; + self.payMethod = 0; +} + +- (IBAction)methodBtnClicked:(UIButton *)sender { + self.payMethod = sender.tag; + if (self.payMethod == 1 && ![self p_canOpenWeiXin]){ + [NSObject showHudTipStr:@"您还没有安装「微信」"]; + return; + } + [NSObject showHUDQueryStr:@"请稍等..."]; + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_shop_payOrder:_shopOrder.orderNo method:_payMethod == 0? @"Alipay": @"Weixin" andBlock:^(NSDictionary *payDict, NSError *error) { + [NSObject hideHUDQuery]; + weakSelf.payDict = payDict; + if (weakSelf.payMethod == 0) { + [weakSelf aliPay]; + }else{ + [weakSelf weixinPay]; + } + }]; +} + +- (void)aliPay{ + __weak typeof(self) weakSelf = self; + [[AlipaySDK defaultService] payOrder:_payDict[@"url"] fromScheme:kCodingAppScheme callback:^(NSDictionary *resultDic) { + [weakSelf handleAliResult:resultDic]; + }]; +} + +- (void)weixinPay{ + PayReq *req = [PayReq new]; + NSDictionary *resultDict = _payDict; + + req.partnerId = resultDict[@"partnerId"]; + req.prepayId = resultDict[@"prepayId"]; + req.nonceStr = resultDict[@"nonceStr"]; + req.timeStamp = [resultDict[@"timestamp"] intValue]; + req.package = resultDict[@"package"]; + req.sign = resultDict[@"sign"]; + [WXApi sendReq:req]; +} + +- (void)handleAliResult:(NSDictionary *)resultDic{ + DebugLog(@"handleAliResult: %@", resultDic); + BOOL isPaySuccess = NO; + if (_payMethod == 0) { + isPaySuccess = ([resultDic[@"resultStatus"] integerValue] == 9000); + }else{ + NSInteger resultCode = [resultDic[@"ret"] intValue]; + isPaySuccess = (resultCode == 0); + } + [NSObject showHudTipStr:isPaySuccess? @"支付成功": @"支付失败"]; + if (isPaySuccess) { + [self.navigationController popViewControllerAnimated:YES]; + } +} + +- (void)handlePayURL:(NSURL *)url{ + if (_payMethod == 0) { + __weak typeof(self) weakSelf = self; + [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) { + [weakSelf handleAliResult:resultDic]; + }]; + }else{ + [self handleAliResult:[url queryParams]]; + } +} + +#pragma mark - app url +- (BOOL)p_canOpenWeiXin{ + return [self p_canOpen:@"weixin://"]; +} + +- (BOOL)p_canOpenAlipay{ + return [self p_canOpen:@"alipay://"]; +} + +- (BOOL)p_canOpen:(NSString*)url{ + return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:url]]; +} + +@end diff --git a/Coding_iOS/Controllers/EAPayViewController.xib b/Coding_iOS/Controllers/EAPayViewController.xib new file mode 100644 index 000000000..af6d9bcd6 --- /dev/null +++ b/Coding_iOS/Controllers/EAPayViewController.xib @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Coding_iOS/Controllers/EATerminalViewController.h b/Coding_iOS/Controllers/EATerminalViewController.h new file mode 100644 index 000000000..414581582 --- /dev/null +++ b/Coding_iOS/Controllers/EATerminalViewController.h @@ -0,0 +1,33 @@ +// +// EATerminalViewController.h +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/1/30. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "WebViewController.h" + +@interface EATerminalViewController : WebViewController + ++ (instancetype)terminalVC; + +@end + +@interface EATerminalButton : UIButton + +@property (strong, nonatomic) NSString *name; +@property (assign, nonatomic) BOOL isChoosed; + ++ (instancetype)terminalButtonWithName:(NSString *)name; ++ (instancetype)smallTerminalButtonWithName:(NSString *)name choosed:(BOOL)isChoosed; + +@end + +@interface EATerminalPopView : UIView + +@property (assign, nonatomic) NSInteger choosedIndex; +@property (assign, nonatomic, readonly) NSArray *choosedList; +@property (copy, nonatomic) void(^choosedIndexBlock)(NSArray *choosedList); + +@end diff --git a/Coding_iOS/Controllers/EATerminalViewController.m b/Coding_iOS/Controllers/EATerminalViewController.m new file mode 100644 index 000000000..b6f056ea6 --- /dev/null +++ b/Coding_iOS/Controllers/EATerminalViewController.m @@ -0,0 +1,306 @@ +// +// EATerminalViewController.m +// Coding_iOS +// +// Created by Easeeeeeeeee on 2018/1/30. +// Copyright © 2018年 Coding. All rights reserved. +// + +#import "EATerminalViewController.h" + +@interface EATerminalViewController () + +@property (strong, nonatomic) UIWindow *myToolWindow; +@property (strong, nonatomic) UIView *myToolBar; +@property (strong, nonatomic) EATerminalPopView *myPopView; + +@property (strong, nonatomic) NSArray *buttonList; +@end + +@implementation EATerminalViewController + ++ (instancetype)terminalVC{ + static NSInteger index = 0; + NSURL *curUrl = [NSURL URLWithString:(index % 2 == 0)? @"http://ide.xiayule.net/login": @"http://192.168.0.212:8060/"]; + index++; + return [[self alloc] initWithURL:curUrl]; +} + +- (void)setTitle:(NSString *)title{ + [super setTitle:@"Terminal"]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardChange:) name:UIKeyboardWillChangeFrameNotification object:nil]; + [self.navigationItem setRightBarButtonItem:nil animated:NO]; + [self updateButtonList]; +} + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [self.navigationController setToolbarHidden:YES animated:animated]; +} + +- (void)dealloc{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; + self.myToolWindow.hidden = YES; + self.myToolWindow = nil; + self.myToolBar = nil; + [self.myPopView removeFromSuperview]; + self.myPopView = nil; +} + +- (UIWindow *)myToolWindow{ + if (!_myToolWindow) { + _myToolWindow = ({ + UIWindow *toolWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, kScreen_Height, kScreen_Width, 44)]; + toolWindow.backgroundColor = [UIColor clearColor]; + toolWindow.windowLevel = UIWindowLevelStatusBar; + toolWindow.hidden = NO; + toolWindow; + }); + } + return _myToolWindow; +} + +- (UIView *)myToolBar{ + if (!_myToolBar) { + _myToolBar = ({ + UIView *toolBar = [[UIView alloc] initWithFrame:self.myToolWindow.bounds]; + toolBar.backgroundColor = kColorWhite; + [self.myToolWindow addSubview:toolBar]; + toolBar; + }); + } + return _myToolBar; +} + +- (EATerminalPopView *)myPopView{ + if (!_myPopView) { + _myPopView = [EATerminalPopView new]; + _myPopView.frame = CGRectMake(kScreen_Width - _myPopView.width - 5, kScreen_Height, _myPopView.width, _myPopView.height); + _myPopView.hidden = YES; + [kKeyWindow addSubview:_myPopView]; + __weak typeof(self) weakSelf = self; + _myPopView.choosedIndexBlock = ^(NSArray *choosedList) { + [weakSelf updateButtonList]; + }; + } + return _myPopView; +} + +- (void)updateButtonList{ + NSMutableArray *buttonList = @[@"esc", @"ctrl", @"alt", @"->"].mutableCopy; + [buttonList addObjectsFromArray:self.myPopView.choosedList]; + [buttonList addObject:@"..."]; + self.buttonList = buttonList.copy; +} + +- (void)setButtonList:(NSArray *)buttonList{ + _buttonList = buttonList; + NSInteger buttonCount = MAX(1, _buttonList.count); + CGFloat lineW = 1.0; + CGFloat buttonW = (kScreen_Width - lineW * (buttonCount - 1))/ buttonCount; + if (_buttonList.count == self.myToolBar.subviews.count) { + for (EATerminalButton *button in self.myToolBar.subviews) { + NSInteger index = (NSInteger)((button.x)/ (buttonW + lineW)); + button.name = _buttonList[index]; + } + }else{ + [self.myToolBar.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; + for (NSInteger index = 0; index < _buttonList.count; index++) { + EATerminalButton *button = [EATerminalButton terminalButtonWithName:_buttonList[index]]; + button.frame = CGRectMake(index * (buttonW + lineW), 0, buttonW, self.myToolBar.height); + [button addTarget:self action:@selector(terminalButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; + [self.myToolBar addSubview:button]; + } + } +} + +- (void)terminalButtonClicked:(EATerminalButton *)sender{ + DebugLog(@"%@", sender.name); + if ([sender.name isEqualToString:@"..."]) { + self.myPopView.hidden = !self.myPopView.hidden; + }else{ + + } +} + +#pragma mark - KeyBoard Notification Handlers +- (void)keyboardChange:(NSNotification*)aNotification{ + NSDictionary* userInfo = [aNotification userInfo]; + NSTimeInterval animationDuration = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + UIViewAnimationCurve animationCurve = [[userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]; + CGRect keyboardEndFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; + [UIView animateWithDuration:animationDuration delay:0.0f options:[UIView animationOptionsForCurve:animationCurve] animations:^{ + CGFloat keyboardY = keyboardEndFrame.origin.y; + CGFloat footerToolBarY = keyboardY - ((keyboardY < kScreen_Height)? CGRectGetHeight(self.myToolWindow.frame): 0); + footerToolBarY += 44;//盖住原本的那个bar + self.myToolWindow.y = footerToolBarY; + self.myPopView.y = footerToolBarY - self.myPopView.height - 5; + if (keyboardY >= kScreen_Height) { + self.myPopView.hidden = YES; + } + } completion:^(BOOL finished) { + }]; +} + +@end + +#define kEATerminalButton_SelectMark @"" + +@interface EATerminalButton () +@property (assign, nonatomic) BOOL isSmall; +@end + +@implementation EATerminalButton + + ++ (instancetype)terminalButtonWithName:(NSString *)name{ + EATerminalButton *button = [EATerminalButton new]; + button.isSmall = NO; + button.titleLabel.font = [UIFont systemFontOfSize:15]; + [button setTitleColor:kColorDark2 forState:UIControlStateNormal]; + + button.backgroundColor = [UIColor colorWithHexString:@"0xBBC2CA"]; + button.name = name; + return button; +} + ++ (instancetype)smallTerminalButtonWithName:(NSString *)name choosed:(BOOL)isChoosed{ + EATerminalButton *button = [EATerminalButton new]; + button.isSmall = YES; + button.titleLabel.font = [UIFont systemFontOfSize:12]; + [button setTitleColor:kColorDark2 forState:UIControlStateNormal]; + + button.name = name; + button.isChoosed = isChoosed; + button.enabled = [name isEqualToString:kEATerminalButton_SelectMark]; + return button; +} + ++ (NSDictionary *)p_buttonImageDict{ + return @{@"->": @"terminal_tail", + @"...": @"terminal_more", + @"U": @"▲", + @"D": @"▼", + @"L": @"◀", + @"R": @"▶", + }; +} + +- (void)setName:(NSString *)name{ + _name = name; + NSString *imageName = [self.class p_buttonImageDict][name]; + UIImage *buttonImage = [UIImage imageNamed:imageName]; + if (buttonImage) { + [self setImage:buttonImage forState:UIControlStateNormal]; + [self setTitle:nil forState:UIControlStateNormal]; + }else if (imageName){ + self.titleLabel.font = [UIFont systemFontOfSize:_isSmall? 12: 18]; + [self setImage:nil forState:UIControlStateNormal]; + [self setTitle:imageName forState:UIControlStateNormal]; + }else{ + self.titleLabel.font = [UIFont systemFontOfSize:_isSmall? 12: 15]; + [self setImage:nil forState:UIControlStateNormal]; + [self setTitle:_name forState:UIControlStateNormal]; + } +} + +- (void)setIsChoosed:(BOOL)isChoosed{ + _isChoosed = isChoosed; + if ([_name isEqualToString:kEATerminalButton_SelectMark]) { + self.backgroundColor = [UIColor clearColor]; + [self setImage:[UIImage imageNamed:_isChoosed? @"terminal_box_selected": @"terminal_box_unselected"] forState:UIControlStateNormal]; + }else{ + self.backgroundColor = _isChoosed? [UIColor colorWithHexString:@"0xA7B0BD"]: kColorWhite; + } +} + +@end + +#define kEATerminalPopView_ChoosedIndex @"EATerminalPopView_ChoosedIndex" + +@interface EATerminalPopView () + +@end + +@implementation EATerminalPopView + +- (instancetype)init +{ + self = [super init]; + if (self) { + self.backgroundColor = [UIColor colorWithHexString:@"0xD4D6DD"]; + CGFloat buttonW = 33; + CGFloat buttonH = 31; + CGFloat lineW = 2; + CGFloat paddingW = 4; + NSArray *buttonA = self.p_buttonA; + NSInteger choosedIndex = self.choosedIndex; + __weak typeof(self) weakSelf = self; + for (NSInteger row = 0; row < buttonA.count; row++) { + NSArray *buttonInRow = buttonA[row]; + for (NSInteger col = 0; col < buttonInRow.count; col++) { + EATerminalButton *button = [EATerminalButton smallTerminalButtonWithName:buttonInRow[col] choosed:(row == choosedIndex)]; + button.frame = CGRectMake(paddingW + (lineW + buttonW)* col, paddingW + (lineW + buttonH)* row, buttonW, buttonH); + [self addSubview:button]; + if ([buttonInRow[col] isEqualToString:kEATerminalButton_SelectMark]) { + [button bk_addEventHandler:^(EATerminalButton *sender) { + NSInteger rowIndex = (NSInteger)((sender.y - paddingW) / (buttonH + lineW)); + weakSelf.choosedIndex = rowIndex; + } forControlEvents:UIControlEventTouchUpInside]; + } + } + } + self.frame = CGRectMake(0, 0, paddingW * 2 - lineW + (lineW + buttonW)* [buttonA.firstObject count], paddingW * 2 - lineW + (lineW + buttonH)* buttonA.count); + + UIImageView *arrowV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"terminal_triangle"]]; + [self addSubview:arrowV]; + [arrowV mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(15, 8)); + make.top.equalTo(self.mas_bottom); + make.right.offset(-(paddingW + (buttonW - 15)/ 2)); + }]; + } + return self; +} + +- (NSArray *)p_buttonA{ + return @[@[kEATerminalButton_SelectMark, @"/", @"-", @"|", @"@"], + @[kEATerminalButton_SelectMark, @"~", @".", @":", @";"], + @[kEATerminalButton_SelectMark, @"U", @"D", @"L", @"R"]]; +} + +- (NSArray *)choosedList{ + NSMutableArray *choosedList = [self.p_buttonA[self.choosedIndex] mutableCopy]; + [choosedList removeObject:kEATerminalButton_SelectMark]; + return choosedList.copy; +} + +- (NSInteger)choosedIndex{ + NSNumber *index = [[NSUserDefaults standardUserDefaults] objectForKey:kEATerminalPopView_ChoosedIndex]; + return index? MIN(index.integerValue, self.p_buttonA.count - 1): 2; +} + +- (void)setChoosedIndex:(NSInteger)choosedIndex{ + [[NSUserDefaults standardUserDefaults] setObject:@(choosedIndex) forKey:kEATerminalPopView_ChoosedIndex]; + [[NSUserDefaults standardUserDefaults] synchronize]; + + CGFloat buttonH = 31; + CGFloat lineW = 2; + CGFloat paddingW = 4; + for (UIView *subV in self.subviews) { + if ([subV isKindOfClass:[EATerminalButton class]]) { + NSInteger buttonRow = (NSInteger)((subV.y - paddingW) / (buttonH + lineW)); + ((EATerminalButton *)subV).isChoosed = (buttonRow == choosedIndex); + } + } + if (_choosedIndexBlock) { + _choosedIndexBlock(self.choosedList); + } +} + +@end diff --git a/Coding_iOS/Controllers/EditCodeViewController.m b/Coding_iOS/Controllers/EditCodeViewController.m index a8b23cc37..07b2f017c 100644 --- a/Coding_iOS/Controllers/EditCodeViewController.m +++ b/Coding_iOS/Controllers/EditCodeViewController.m @@ -11,6 +11,7 @@ #import "WebContentManager.h" #import "EaseMarkdownTextView.h" #import "WebViewController.h" +#import "UIViewController+BackButtonHandler.h" @interface EditCodeViewController () @property (strong, nonatomic) UISegmentedControl *segmentedControl; @@ -68,6 +69,32 @@ - (void)viewDidAppear:(BOOL)animated{ // if (self.curIndex == 0 && self.editView) { // [self.editView becomeFirstResponder]; // } + //禁用屏幕左滑返回手势 + if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { + self.navigationController.interactivePopGestureRecognizer.enabled = NO; + } +} + +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; + //开启屏幕左滑返回手势 + if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { + self.navigationController.interactivePopGestureRecognizer.enabled = YES; + } +} + +- (BOOL)navigationShouldPopOnBackButton{ + if (![_myCodeFile.editData isEqualToString:_myCodeFile.file.data]) { + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_alertViewWithTitle:@"提示" message:@"如果不保存,更改将丢失,是否确认返回?" buttonTitles:@[@"确认返回"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf.navigationController popViewControllerAnimated:YES]; + } + }] show]; + return NO; + }else{ + return YES; + } } #pragma mark UISegmentedControl @@ -176,7 +203,9 @@ - (void)saveBtnClicked{ [NSObject showHudTipStr:@"文件无改动"]; return; } + [NSObject showHUDQueryStr:@"正在保存..."]; [[Coding_NetAPIManager sharedManager] request_EditCodeFile:_myCodeFile withPro:_myProject andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; if (data) { if (self.savedSucessBlock) { self.savedSucessBlock(); diff --git a/Coding_iOS/Controllers/EditColorViewController.m b/Coding_iOS/Controllers/EditColorViewController.m index 1ad35236c..e7c87e84c 100644 --- a/Coding_iOS/Controllers/EditColorViewController.m +++ b/Coding_iOS/Controllers/EditColorViewController.m @@ -47,6 +47,9 @@ - (void)viewDidLoad { [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); } diff --git a/Coding_iOS/Controllers/EditLabelViewController.m b/Coding_iOS/Controllers/EditLabelViewController.m index 497a10be7..64371bd04 100644 --- a/Coding_iOS/Controllers/EditLabelViewController.m +++ b/Coding_iOS/Controllers/EditLabelViewController.m @@ -67,6 +67,9 @@ - (void)viewDidLoad { [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); [self sendRequest]; @@ -220,8 +223,8 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath - (NSArray *)rightButtons { NSMutableArray *rightUtilityButtons = [NSMutableArray new]; - [rightUtilityButtons sw_addUtilityButtonWithColor:[UIColor colorWithHexString:@"0xe6e6e6"] icon:[UIImage imageNamed:@"icon_file_cell_rename"]]; - [rightUtilityButtons sw_addUtilityButtonWithColor:kColorBrandRed icon:[UIImage imageNamed:@"icon_file_cell_delete"]]; + [rightUtilityButtons sw_addUtilityButtonWithColor:[UIColor colorWithHexString:@"0xF2F4F6"] icon:[UIImage imageNamed:@"icon_file_cell_rename"]]; + [rightUtilityButtons sw_addUtilityButtonWithColor:[UIColor colorWithHexString:@"0xF66262"] icon:[UIImage imageNamed:@"icon_file_cell_delete"]]; return rightUtilityButtons; } @@ -248,7 +251,7 @@ - (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityBut __weak typeof(self) weakSelf = self; ProjectTag *ptLabel = [_tagList objectAtIndex:indexPath.row]; NSString *tip = [NSString stringWithFormat:@"确定要删除标签:%@?", ptLabel.name]; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:tip buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:tip buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteBtnClick:indexPath.row]; } diff --git a/Coding_iOS/Controllers/EditMemberTypeProjectListViewController.h b/Coding_iOS/Controllers/EditMemberTypeProjectListViewController.h new file mode 100644 index 000000000..03dd0cee1 --- /dev/null +++ b/Coding_iOS/Controllers/EditMemberTypeProjectListViewController.h @@ -0,0 +1,16 @@ +// +// EditMemberTypeProjectListViewController.h +// Coding_Enterprise_iOS +// +// Created by Easeeeeeeeee on 2017/6/6. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "Team.h" +#import "TeamMember.h" + +@interface EditMemberTypeProjectListViewController : BaseViewController +@property (strong, nonatomic) Team *curTeam; +@property (strong, nonatomic) TeamMember *curMember; +@end diff --git a/Coding_iOS/Controllers/EditMemberTypeProjectListViewController.m b/Coding_iOS/Controllers/EditMemberTypeProjectListViewController.m new file mode 100644 index 000000000..6632f7bd1 --- /dev/null +++ b/Coding_iOS/Controllers/EditMemberTypeProjectListViewController.m @@ -0,0 +1,104 @@ +// +// EditMemberTypeProjectListViewController.m +// Coding_Enterprise_iOS +// +// Created by Easeeeeeeeee on 2017/6/6. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "EditMemberTypeProjectListViewController.h" +#import "ODRefreshControl.h" +#import "Coding_NetAPIManager.h" +#import "ProjectListCell.h" +#import "ProjectRole.h" +#import "ValueListViewController.h" + +@interface EditMemberTypeProjectListViewController () +@property (strong, nonatomic) UITableView *myTableView; +@property (strong, nonatomic) ODRefreshControl *myRefreshControl; +@property (strong, nonatomic) NSArray *dataList; +@end + +@implementation EditMemberTypeProjectListViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = @"选择项目"; + _myTableView = ({ + UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + tableView.backgroundColor = kColorTableSectionBg; + tableView.tableFooterView = [UIView new]; + tableView.delegate = self; + tableView.dataSource = self; + [tableView registerClass:[ProjectListCell class] forCellReuseIdentifier:kCellIdentifier_ProjectList]; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + tableView; + }); + _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; + [_myRefreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; + [self refresh]; +} + +- (void)refresh{ + if (_dataList.count <= 0) { + [self.view beginLoading]; + } + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_ProjectRoleOfUser:_curMember.user.global_key andBlock:^(id data, NSError *error) { + [weakSelf.view endLoading]; + [weakSelf.myRefreshControl endRefreshing]; + if (data) { + weakSelf.dataList = data; + [weakSelf.myTableView reloadData]; + } + }]; +} + +#pragma mark Table +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return _dataList.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + ProjectListCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_ProjectList forIndexPath:indexPath]; + ProjectRole *curR = _dataList[indexPath.row]; + [cell setProjectRole:curR]; + cell.backgroundColor = kColorTableBG; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return [ProjectListCell cellHeight]; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + ProjectRole *curRole = _dataList[indexPath.row]; + __weak typeof(self) weakSelf = self; + __weak typeof(curRole) weakRole = curRole; + ValueListViewController *vc = [ValueListViewController new]; + NSMutableArray *valueList = @[@"受限成员", @"普通成员", @"管理员", @"无"].mutableCopy; + NSArray *typeRawList = @[@75, @80, @90, @(-1)]; + + [vc setTitle:@"设置项目权限" valueList:valueList defaultSelectIndex:[typeRawList indexOfObject:curRole.type] type:ValueListTypeProjectMemberType selectBlock:^(NSInteger index) { + NSNumber *editType = typeRawList[index]; + if (![weakRole.type isEqualToNumber:editType]) { + [[Coding_NetAPIManager sharedManager] request_EditTypeOfUser:weakSelf.curMember.user.global_key inProjects:@[weakRole.project_id] roles:@[editType] andBlock:^(id data, NSError *error) { + if (data) { + weakRole.type = editType; + [weakSelf.myTableView reloadData]; + } + }]; + } + }]; + [self.navigationController pushViewController:vc animated:YES]; +} + + +@end diff --git a/Coding_iOS/Controllers/EditTaskViewController.m b/Coding_iOS/Controllers/EditTaskViewController.m index 432dee343..2baea7ba5 100644 --- a/Coding_iOS/Controllers/EditTaskViewController.m +++ b/Coding_iOS/Controllers/EditTaskViewController.m @@ -23,6 +23,10 @@ #import "ProjectToChooseListViewController.h" #import "EditLabelViewController.h" #import "TaskResourceReferenceViewController.h" +#import "NProjectViewController.h" +#import "FunctionTipsManager.h" +#import "MartFunctionTipView.h" +#import "RATaskBoardListListViewController.h" @interface EditTaskViewController () @property (strong, nonatomic) UITableView *myTableView; @@ -54,10 +58,7 @@ - (void)viewDidLoad _myMsgInputView = [UIMessageInputView messageInputViewWithType:UIMessageInputViewContentTypeTask]; _myMsgInputView.isAlwaysShow = YES; _myMsgInputView.delegate = self; - - [self queryToRefreshTaskDetail]; } - [self configTitle]; _myTableView = ({ UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped]; @@ -75,6 +76,9 @@ - (void)viewDidLoad [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); if (_myMsgInputView) { @@ -88,10 +92,11 @@ - (void)viewDidLoad RAC(self.navigationItem.rightBarButtonItem, enabled) = [RACSignal combineLatest:@[RACObserve(self, myCopyTask.content), RACObserve(self, myCopyTask.owner), + RACObserve(self, myCopyTask.task_board_list), RACObserve(self, myCopyTask.priority), RACObserve(self, myCopyTask.status), RACObserve(self, myCopyTask.deadline), - RACObserve(self, myCopyTask.task_description.markdown)] reduce:^id (NSString *content, User *owner, NSNumber *priority, NSNumber *status, NSString *deadline){ + RACObserve(self, myCopyTask.task_description.markdown)] reduce:^id (NSString *content, EABoardTaskList *task_board_list, User *owner, NSNumber *priority, NSNumber *status, NSString *deadline){ @strongify(self); BOOL enabled = ![self.myCopyTask isSameToTask:self.myTask]; if (self.myCopyTask.handleType > TaskHandleTypeEdit) { @@ -107,7 +112,22 @@ - (void)configTitle{ if (_myCopyTask.handleType > TaskHandleTypeEdit) { self.title = @"创建任务"; }else{ - self.title = _myTask.project.name; + UILabel *titleL = [UILabel labelWithFont:[UIFont systemFontOfSize:kNavTitleFontSize] textColor:kColorNavTitle]; + titleL.text = _myTask.project.name; + titleL.userInteractionEnabled = YES; + __weak typeof(self) weakSelf = self; + [titleL bk_whenTapped:^{ + NProjectViewController *vc = [[NProjectViewController alloc] init]; + vc.myProject = weakSelf.myTask.project; + [weakSelf.navigationController pushViewController:vc animated:YES]; + }]; + [titleL sizeToFit]; + self.navigationItem.titleView = titleL; + if ([[FunctionTipsManager shareManager] needToTip:kFunctionTipStr_TaskTitleViewTap]) { + [MartFunctionTipView showText:@"点击标题可跳转到项目首页哦" direction:AMPopTipDirectionDown bubbleOffset:0 inView:self.view fromFrame:CGRectMake(kScreen_Width/ 2, 0, 0, 0) dismissHandler:^{ + [[FunctionTipsManager shareManager] markTiped:kFunctionTipStr_TaskTitleViewTap]; + }]; + } } } @@ -128,6 +148,12 @@ - (void)viewDidAppear:(BOOL)animated{ [_myMsgInputView prepareToShow]; } [self.myTableView reloadData]; + + if (_myCopyTask.handleType == TaskHandleTypeEdit && !_myCopyTask.activityList) { + [self queryToRefreshTaskDetail]; + }else{ + [self configTitle]; + } } - (void)didReceiveMemoryWarning @@ -144,7 +170,7 @@ - (void)messageInputView:(UIMessageInputView *)inputView sendText:(NSString *)te - (void)messageInputView:(UIMessageInputView *)inputView heightToBottomChenged:(CGFloat)heightToBottom{ [UIView animateWithDuration:0.25 delay:0.0f options:UIViewAnimationOptionTransitionFlipFromBottom animations:^{ UIEdgeInsets contentInsets= UIEdgeInsetsMake(0.0, 0.0, MAX(CGRectGetHeight(inputView.frame), heightToBottom), 0.0);; - CGFloat msgInputY = kScreen_Height - heightToBottom - 64; + CGFloat msgInputY = kScreen_Height - heightToBottom - (44 + kSafeArea_Top); self.myTableView.contentInset = contentInsets; self.myTableView.scrollIndicatorInsets = contentInsets; @@ -192,13 +218,15 @@ - (void)queryToRefreshTaskDetail{ } - (void)queryToRefreshResourceReference{ - __weak typeof(self) weakSelf = self; - [[Coding_NetAPIManager sharedManager] request_TaskResourceReference:_myTask andBlock:^(id data, NSError *error) { - if (data) { - _myTask.resourceReference = data; - [weakSelf.myTableView reloadData]; - } - }]; + if (_myCopyTask.handleType == TaskHandleTypeEdit) { + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_TaskResourceReference:_myTask andBlock:^(id data, NSError *error) { + if (data) { + _myTask.resourceReference = data; + [weakSelf.myTableView reloadData]; + } + }]; + } } #pragma mark Mine M - (void)doneBtnClicked{ @@ -312,6 +340,7 @@ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger }else if (section == 1){ TaskHandleType handleType = self.myCopyTask.handleType; row = handleType == TaskHandleTypeEdit? 5: handleType == TaskHandleTypeAddWithProject? 4: 5; + row += 1;//加一个看板项 }else if (section == 2 && _myTask.resourceReference.itemList.count > 0){ row = 1; }else{ @@ -334,7 +363,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N }; cell.deleteBtnClickedBlock = ^(Task *toDelete){ [weakSelf.view endEditing:YES]; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"删除此任务" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"删除此任务" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteTask:toDelete]; } @@ -362,7 +391,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N TaskDescriptionCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TaskDescriptionCell forIndexPath:indexPath]; NSString *titleStr; if (_myCopyTask.handleType > TaskHandleTypeEdit) { - titleStr = @"添加描述"; + titleStr = _myCopyTask.has_description.boolValue? @"查看描述": @"添加描述"; }else{ titleStr = _myCopyTask.has_description.boolValue? @"查看描述": @"补充描述"; } @@ -488,6 +517,34 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath [_self.myTableView reloadData]; } cellBtnBlock:nil]; [self.navigationController pushViewController:vc animated:YES]; + }else if (cellType == LeftImage_LRTextCellTypeTaskBoardList) { + if (_myCopyTask.project == nil) { + [NSObject showHudTipStr:@"需要选定所属项目先~"]; + return; + } + RATaskBoardListListViewController *vc = [RATaskBoardListListViewController new]; + vc.curPro = _myCopyTask.project; + vc.selectedBoardTL = _myCopyTask.task_board_list; + vc.needToShowDoneBoardTL = (_myCopyTask.handleType == TaskHandleTypeEdit); + vc.selectedBlock = ^(EABoardTaskList *selectedBoardTL) { + ESStrongSelf; + if (_self.myCopyTask.handleType == TaskHandleTypeEdit) {//看板只能单项修改 + [NSObject showStatusBarQueryStr:@"正在修改看板列表"]; + [[Coding_NetAPIManager sharedManager] request_PutTask:_self.myCopyTask toBoardTaskList:selectedBoardTL andBlock:^(id data, NSError *error) { + if (data) { + [NSObject showStatusBarSuccessStr:@"看板列表已修改"]; + _self.myCopyTask.task_board_list = _self.myTask.task_board_list = selectedBoardTL; + [_self.myTableView reloadData]; + }else{ + [NSObject showStatusBarError:error]; + } + }]; + }else{ + _self.myCopyTask.task_board_list = selectedBoardTL; + [_self.myTableView reloadData]; + } + }; + [self.navigationController pushViewController:vc animated:YES]; }else if (cellType == LeftImage_LRTextCellTypeTaskPriority){ ValueListViewController *vc = [[ValueListViewController alloc] init]; [vc setTitle:@"优先级" valueList:kTaskPrioritiesDisplay defaultSelectIndex:_myCopyTask.priority.intValue type:ValueListTypeTaskPriority selectBlock:^(NSInteger index) { @@ -624,7 +681,7 @@ - (void)doCommentToComment:(TaskComment *)toComment sender:(id)sender{ if (_toComment) { if ([Login isLoginUserGlobalKey:_toComment.owner.global_key]) { __weak typeof(self) weakSelf = self; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"删除此评论" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"删除此评论" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteComment:weakSelf.toComment]; } diff --git a/Coding_iOS/Controllers/EditTopicViewController.m b/Coding_iOS/Controllers/EditTopicViewController.m index aa5256d7b..7e8206692 100755 --- a/Coding_iOS/Controllers/EditTopicViewController.m +++ b/Coding_iOS/Controllers/EditTopicViewController.m @@ -258,6 +258,9 @@ - (void)loadPreview tableView.dataSource = self; tableView.separatorStyle = UITableViewCellSeparatorStyleNone; [tableView registerClass:[TopicPreviewCell class] forCellReuseIdentifier:kCellIdentifier_TopicPreviewCell]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); @@ -279,7 +282,8 @@ - (void)loadPreview - (void)addtitleBtnClick { EditLabelViewController *vc = [[EditLabelViewController alloc] init]; - vc.curProject = _curProTopic.project; +// vc.curProject = _curProTopic.project; + vc.curProject = _curProTopic.project ?: ({Project *p = [Project new]; p.id = _curProTopic.project_id; p;}); vc.orignalTags = _curProTopic.mdLabels; @weakify(self); vc.tagsSelectedBlock = ^(EditLabelViewController *vc, NSMutableArray *selectedTags){ diff --git a/Coding_iOS/Controllers/FileActivitiesViewController.m b/Coding_iOS/Controllers/FileActivitiesViewController.m index aeefa36f7..725b460fb 100644 --- a/Coding_iOS/Controllers/FileActivitiesViewController.m +++ b/Coding_iOS/Controllers/FileActivitiesViewController.m @@ -59,32 +59,15 @@ - (void)viewDidLoad [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; [_myRefreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; -// _myToolBar = ({ -// EaseToolBarItem *item = [EaseToolBarItem easeToolBarItemWithTitle:@" 发表评论..." image:@"button_file_comment" disableImage:nil]; -// -// NSDictionary *attributes = @{NSFontAttributeName : [UIFont systemFontOfSize:15], -// NSForegroundColorAttributeName : [UIColor colorWithHexString:@"0xB5B5B5"]}; -// [item setAttributes:attributes forUIControlState:UIControlStateNormal]; -// -// EaseToolBar *toolBar = [EaseToolBar easeToolBarWithItems:@[item]]; -// toolBar.delegate = self; -// [self.view addSubview:toolBar]; -// [toolBar mas_makeConstraints:^(MASConstraintMaker *make) { -// make.bottom.equalTo(self.view.mas_bottom); -// make.size.mas_equalTo(toolBar.frame.size); -// }]; -// toolBar; -// }); -// UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0,CGRectGetHeight(self.myToolBar.frame), 0.0); -// self.myTableView.contentInset = contentInsets; -// self.myTableView.scrollIndicatorInsets = contentInsets; - [self refresh]; } @@ -110,7 +93,7 @@ - (void)sendRequest{ self.activityList = data; [self.myTableView reloadData]; } - [self.view configBlankPage:EaseBlankPageTypeView hasData:self.activityList.count > 0 hasError:error != nil reloadButtonBlock:^(id sender) { + [self.view configBlankPage:EaseBlankPageTypeView hasData:YES hasError:error != nil reloadButtonBlock:^(id sender) { [self refresh]; }]; }]; diff --git a/Coding_iOS/Controllers/FileChangeDetailViewController.m b/Coding_iOS/Controllers/FileChangeDetailViewController.m index 419867f5b..ff60f0cf0 100644 --- a/Coding_iOS/Controllers/FileChangeDetailViewController.m +++ b/Coding_iOS/Controllers/FileChangeDetailViewController.m @@ -126,7 +126,7 @@ - (void)handleURL:(NSURL *)curURL{ NSMutableDictionary *params = [self getParamsFromURLStr:curURL.absoluteString]; if ([curURL.absoluteString hasPrefix:@"coding://line_note?"]) { NSString *title = [NSString stringWithFormat:@"Line %@", params[@"line"]]; - [[UIActionSheet bk_actionSheetCustomWithTitle:title buttonTitles:@[@"添加评论"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + [[UIAlertController ea_actionSheetCustomWithTitle:title buttonTitles:@[@"添加评论"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [self goToAddCommentWithParams:params]; } @@ -134,7 +134,7 @@ - (void)handleURL:(NSURL *)curURL{ }else if ([curURL.absoluteString hasPrefix:@"coding://line_note_comment?"]){ NSString *title = [NSString stringWithFormat:@"%@ 的评论", params[@"clicked_user_name"]]; BOOL belongToSelf = [params[@"clicked_user_name"] isEqualToString:[Login curLoginUser].global_key]; - [[UIActionSheet bk_actionSheetCustomWithTitle:title buttonTitles:@[belongToSelf? @"删除": @"回复"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + [[UIAlertController ea_actionSheetCustomWithTitle:title buttonTitles:@[belongToSelf? @"删除": @"回复"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { if (belongToSelf) { [self doDeleteCommentWithParams:params]; @@ -161,8 +161,9 @@ - (NSMutableDictionary *)getParamsFromURLStr:(NSString *)urlStr{ - (void)goToAddCommentWithParams:(NSMutableDictionary *)params{ AddMDCommentViewController *vc = [AddMDCommentViewController new]; vc.curProject = _curProject; - - NSString *requestPath = [[self.linkUrlStr componentsSeparatedByString:@"/git"] firstObject]; + vc.isLineNote = YES; + + NSString *requestPath = [[self.linkUrlStr componentsSeparatedByString:@"/git/"] firstObject]; requestPath = [requestPath stringByAppendingString:@"/git/line_notes"]; vc.requestPath = requestPath; @@ -191,7 +192,7 @@ - (void)goToAddCommentWithParams:(NSMutableDictionary *)params{ } - (void)doDeleteCommentWithParams:(NSMutableDictionary *)params{ - NSString *requestPath = [[self.linkUrlStr componentsSeparatedByString:@"/git"] firstObject]; + NSString *requestPath = [[self.linkUrlStr componentsSeparatedByString:@"/git/"] firstObject]; requestPath = [requestPath stringByAppendingFormat:@"/git/line_notes/%@", params[@"clicked_line_note_id"]]; [[Coding_NetAPIManager sharedManager] request_DeleteLineNoteWithPath:requestPath andBlock:^(id data, NSError *error) { [self refresh]; diff --git a/Coding_iOS/Controllers/FileEditViewController.m b/Coding_iOS/Controllers/FileEditViewController.m index 062a60390..b0caa4131 100644 --- a/Coding_iOS/Controllers/FileEditViewController.m +++ b/Coding_iOS/Controllers/FileEditViewController.m @@ -11,6 +11,7 @@ #import "WebContentManager.h" #import "EaseMarkdownTextView.h" #import "WebViewController.h" +#import "UIViewController+BackButtonHandler.h" @interface FileEditViewController () @property (strong, nonatomic) UISegmentedControl *segmentedControl; @@ -104,6 +105,22 @@ - (void)configContent{ }]; } + +- (BOOL)navigationShouldPopOnBackButton{ + BOOL hasChanged = ![self.content ?: @"" isEqualToString:_editView.text]; + if (hasChanged) { + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_alertViewWithTitle:@"提示" message:@"如果不保存,更改将丢失,是否确认返回?" buttonTitles:@[@"确认返回"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [weakSelf.navigationController popViewControllerAnimated:YES]; + } + }] show]; + return NO; + }else{ + return YES; + } +} + #pragma mark UISegmentedControl - (void)segmentedControlSelected:(id)sender{ UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; @@ -207,7 +224,9 @@ - (void)saveBtnClicked{ if ([self fileIsMD]) { edit_content = [edit_content aliasedString]; } + [NSObject showHUDQueryStr:@"正在保存..."]; [[Coding_NetAPIManager sharedManager] request_EditFile:_curFile withContent:edit_content andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; if (data) { if (self.completeBlock) { self.completeBlock(data); diff --git a/Coding_iOS/Controllers/FileListViewController.h b/Coding_iOS/Controllers/FileListViewController.h deleted file mode 100755 index 08b610f69..000000000 --- a/Coding_iOS/Controllers/FileListViewController.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// FileListViewController.h -// Coding_iOS -// -// Created by Ease on 14/11/14. -// Copyright (c) 2014年 Coding. All rights reserved. -// - -#import -#import "BaseViewController.h" -#import "ProjectFolder.h" -#import "ProjectFolders.h" - -@interface FileListViewController : BaseViewController -@property (strong, nonatomic) ProjectFolders *rootFolders; -@property (strong, nonatomic) ProjectFolder *curFolder; -@property (strong, nonatomic) Project *curProject; -@end diff --git a/Coding_iOS/Controllers/FileVersionsViewController.m b/Coding_iOS/Controllers/FileVersionsViewController.m index db2d22ceb..effb06899 100644 --- a/Coding_iOS/Controllers/FileVersionsViewController.m +++ b/Coding_iOS/Controllers/FileVersionsViewController.m @@ -55,6 +55,9 @@ - (void)viewDidLoad make.edges.equalTo(self.view); }]; tableView.allowsMultipleSelectionDuringEditing = YES; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); @@ -129,9 +132,9 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath #pragma mark Edit Table - (NSArray *)rightButtonsWithObj:(NSIndexPath *)indexPath{ NSMutableArray *rightUtilityButtons = [NSMutableArray new]; - [rightUtilityButtons sw_addUtilityButtonWithColor:[UIColor colorWithHexString:@"0xe6e6e6"] icon:[UIImage imageNamed:@"icon_file_cell_rename"]]; + [rightUtilityButtons sw_addUtilityButtonWithColor:[UIColor colorWithHexString:@"0xF2F4F6"] icon:[UIImage imageNamed:@"icon_file_cell_rename"]]; if (indexPath.row != 0) {//当前版本不能删除 - [rightUtilityButtons sw_addUtilityButtonWithColor:kColorBrandRed icon:[UIImage imageNamed:@"icon_file_cell_delete"]]; + [rightUtilityButtons sw_addUtilityButtonWithColor:[UIColor colorWithHexString:@"0xF66262"] icon:[UIImage imageNamed:@"icon_file_cell_delete"]]; } return rightUtilityButtons; } @@ -184,12 +187,12 @@ - (void)doRemarkFileVersion:(FileVersion *)curVersion withRemarkStr:(NSString *) - (void)deleteFileVersion:(FileVersion *)curVersion{ __weak typeof(self) weakSelf = self; - NSURL *fileUrl = [Coding_FileManager diskDownloadUrlForKey:curVersion.storage_key]; + NSURL *fileUrl = curVersion.diskFileUrl; Coding_DownloadTask *cDownloadTask = [Coding_FileManager cDownloadTaskForKey:curVersion.storage_key]; - UIActionSheet *actionSheet; + UIAlertController *actionSheet; if (fileUrl) { - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"只是删除本地文件还是连同服务器版本一起删除?" buttonTitles:@[@"仅删除本地文件"] destructiveTitle:@"一起删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"只是删除本地文件还是连同服务器版本一起删除?" buttonTitles:@[@"仅删除本地文件"] destructiveTitle:@"一起删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { switch (index) { case 0: [weakSelf doDeleteFileVersion:curVersion fromDisk:YES]; @@ -202,7 +205,7 @@ - (void)deleteFileVersion:(FileVersion *)curVersion{ } }]; }else if (cDownloadTask){ - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定将服务器上的该版本删除?" buttonTitles:@[@"只是取消下载"] destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定将服务器上的该版本删除?" buttonTitles:@[@"只是取消下载"] destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { switch (index) { case 0: [weakSelf doDeleteFileVersion:curVersion fromDisk:YES]; @@ -215,7 +218,7 @@ - (void)deleteFileVersion:(FileVersion *)curVersion{ } }]; }else{ - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定将服务器上的该版本删除?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定将服务器上的该版本删除?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf doDeleteFileVersion:curVersion fromDisk:NO]; } @@ -231,7 +234,7 @@ - (void)doDeleteFileVersion:(FileVersion *)curVersion fromDisk:(BOOL)fromDisk{ [Coding_FileManager cancelCDownloadTaskForKey:curVersion.storage_key]; } // 删除本地文件 - NSURL *fileUrl = [Coding_FileManager diskDownloadUrlForKey:curVersion.storage_key]; + NSURL *fileUrl = curVersion.diskFileUrl; NSString *filePath = fileUrl.path; NSFileManager *fm = [NSFileManager defaultManager]; if ([fm fileExistsAtPath:filePath]) { diff --git a/Coding_iOS/Controllers/FileViewController.h b/Coding_iOS/Controllers/FileViewController.h index 4a2bf2de4..4d7d38375 100644 --- a/Coding_iOS/Controllers/FileViewController.h +++ b/Coding_iOS/Controllers/FileViewController.h @@ -7,8 +7,6 @@ // #import #import "BaseViewController.h" -#import "ProjectFolder.h" -#import "ProjectFolders.h" #import "ProjectFile.h" #import "FileVersion.h" diff --git a/Coding_iOS/Controllers/FileViewController.m b/Coding_iOS/Controllers/FileViewController.m index 70e8bc5d4..b84123cd2 100644 --- a/Coding_iOS/Controllers/FileViewController.m +++ b/Coding_iOS/Controllers/FileViewController.m @@ -35,6 +35,7 @@ @interface FileViewController () 0) { - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:nil buttonTitles:@[@"保存到相册", @"用其他应用打开"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:nil buttonTitles:@[@"保存到相册", @"用其他应用打开"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { switch (index) { case 0: [weakSelf saveCurImg]; @@ -288,6 +291,8 @@ - (void)rightNavBtnClicked{ } - (void)goToEditFile{ + [MobClick event:kUmeng_Event_File label:@"文件_点击编辑"]; + __weak typeof(self) weakSelf = self; FileEditViewController *vc = [FileEditViewController new]; vc.curFile = _curFile; @@ -302,9 +307,9 @@ - (void)goToEditFile{ - (void)goToShareFileLink{ __weak typeof(self) weakSelf = self; - UIActionSheet *actionSheet; + UIAlertController *actionSheet; if (_curFile.share) { - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"该链接适用于所有人,无需登录" buttonTitles:@[@"拷贝链接", @"关闭共享"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"该链接适用于所有人,无需登录" buttonTitles:@[@"拷贝链接"] destructiveTitle:@"关闭共享" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf doCopyShareUrl]; }else if (index == 1) { @@ -312,7 +317,7 @@ - (void)goToShareFileLink{ } }]; }else{ - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"当前未开启共享,请先创建公开链接" buttonTitles:@[@"开启共享并拷贝链接"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"当前未开启共享,请先创建公开链接" buttonTitles:@[@"开启共享并拷贝链接"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf doOpenAndCopyShareUrl]; } @@ -343,7 +348,7 @@ - (void)doOpenAndCopyShareUrl{ - (void)doCloseShareUrl{ NSString *hashStr = [[_curFile.share.url componentsSeparatedByString:@"/"] lastObject]; __weak typeof(self) weakSelf = self; - [[Coding_NetAPIManager sharedManager] request_CloseShareHash:hashStr andBlock:^(id data, NSError *error) { + [[Coding_NetAPIManager sharedManager] request_CloseFileShareHash:hashStr andBlock:^(id data, NSError *error) { if (data) { weakSelf.curFile.share = nil; [NSObject showHudTipStr:@"共享链接已关闭"]; @@ -358,12 +363,12 @@ - (void)goToFileInfo{ } - (void)deleteCurFile{ - UIActionSheet *actionSheet; - NSURL *fileUrl = [_curFile hasBeenDownload]; + UIAlertController *actionSheet; + NSURL *fileUrl = [_curFile diskFileUrl]; Coding_DownloadTask *cDownloadTask = [_curFile cDownloadTask]; - + if (fileUrl) { - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"只是删除本地文件还是连同服务器文件一起删除?" buttonTitles:@[@"仅删除本地文件"] destructiveTitle:@"一起删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"只是删除本地文件还是连同服务器文件一起删除?" buttonTitles:@[@"仅删除本地文件"] destructiveTitle:@"一起删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { switch (index) { case 0: [self doDeleteCurFile:self.curFile fromDisk:YES]; @@ -376,7 +381,7 @@ - (void)deleteCurFile{ } }]; }else if (cDownloadTask){ - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定将服务器上的该文件删除?" buttonTitles:@[@"只是取消下载"] destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定将服务器上的该文件删除?" buttonTitles:@[@"只是取消下载"] destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { switch (index) { case 0: [self doDeleteCurFile:self.curFile fromDisk:YES]; @@ -389,7 +394,7 @@ - (void)deleteCurFile{ } }]; }else{ - actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定将服务器上的该文件删除?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定将服务器上的该文件删除?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [self doDeleteCurFile:self.curFile fromDisk:NO]; } @@ -405,7 +410,7 @@ - (void)doDeleteCurFile:(ProjectFile *)file fromDisk:(BOOL)fromDisk{ [Coding_FileManager cancelCDownloadTaskForKey:file.storage_key]; } // 删除本地文件 - NSURL *fileUrl = [file hasBeenDownload]; + NSURL *fileUrl = [file diskFileUrl]; NSString *filePath = fileUrl.path; NSFileManager *fm = [NSFileManager defaultManager]; if ([fm fileExistsAtPath:filePath]) { @@ -440,18 +445,18 @@ - (void)openByOtherApp{ } - (void)saveCurImg{ - SEL selectorToCall = @selector(imageWasSavedSuccessfully:didFinishSavingWithError:contextInfo:); - - UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:self.fileUrl]]; - if (!image) { - [NSObject showHudTipStr:@"提取图片失败"]; - return; - } - UIImageWriteToSavedPhotosAlbum(image, self, selectorToCall, NULL); + __weak typeof(self) weakSelf = self; + [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ + [[PHAssetCreationRequest creationRequestForAsset] addResourceWithType:PHAssetResourceTypePhoto fileURL:weakSelf.fileUrl options:nil]; + } completionHandler:^(BOOL success, NSError * _Nullable error) { + dispatch_async(dispatch_get_main_queue(), ^{ + [weakSelf saveImageHappenedError:error]; + }); + }]; } -- (void) imageWasSavedSuccessfully:(UIImage *)paramImage didFinishSavingWithError:(NSError *)paramError contextInfo:(void *)paramContextInfo{ - if (paramError == nil){ +- (void)saveImageHappenedError:(NSError *)error{ + if (error == nil){ [NSObject showHudTipStr:@"成功保存到相册"]; } else { [NSObject showHudTipStr:@"保存失败"]; @@ -501,20 +506,33 @@ - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ #pragma mark EaseToolBarDelegate - (void)easeToolBar:(EaseToolBar *)toolBar didClickedIndex:(NSInteger)index{ if (index == 0) { + [MobClick event:kUmeng_Event_File label:@"文件_点击文件动态"]; + FileActivitiesViewController *vc = [FileActivitiesViewController vcWithFile:_curFile]; [self.navigationController pushViewController:vc animated:YES]; }else if (index == 1){ + [MobClick event:kUmeng_Event_File label:@"文件_点击历史版本"]; + FileVersionsViewController *vc = [FileVersionsViewController vcWithFile:_curFile]; [self.navigationController pushViewController:vc animated:YES]; } } #pragma mark Data Value -- (NSURL *)hasBeenDownload{ +- (BOOL)p_isTextContent{ + if ([self.fileType isEqualToString:@"md"] + || [self.fileType isEqualToString:@"html"] + || [self.fileType isEqualToString:@"txt"] + || [self.fileType isEqualToString:@"plist"]){ + return YES; + } + return NO; +} +- (NSURL *)diskFileUrl{ NSURL *fileUrl; if (self.curVersion) { - fileUrl = [self.curVersion hasBeenDownload]; + fileUrl = [self.curVersion diskFileUrl]; }else{ - fileUrl = [self.curFile hasBeenDownload]; + fileUrl = [self.curFile diskFileUrl]; } return fileUrl; } @@ -554,6 +572,50 @@ - (BOOL)fileCanEdit{ return NO; } } +#pragma mark download TextContent +- (void)p_startDownload{ + NSURL *fileUrl = _curVersion.diskFileUrl ?: _curFile.diskFileUrl; + Coding_DownloadTask *cDownloadTask = _curVersion? _curVersion.cDownloadTask : _curFile.cDownloadTask; + if (!fileUrl) { + if (cDownloadTask) {//重新开始 + if (cDownloadTask.task.state == NSURLSessionTaskStateSuspended) { + [cDownloadTask.task resume]; + } + }else{//新建下载 + if (!(_curVersion.project_id ?: _curFile.project_id)) { + [NSObject showHudTipStr:@"下载失败~"]; + }else{ + __weak typeof(self) weakSelf = self; + cDownloadTask = [[Coding_FileManager sharedManager] addDownloadTaskForObj:_curVersion ?: _curFile completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { + [weakSelf.view endLoading]; + if (error) { + [NSObject showError:error]; + DebugLog(@"ERROR:%@", error.description); + }else{ + DebugLog(@"File downloaded to: %@", filePath); + } + }]; + } + } + self.progress = cDownloadTask.progress; + } +} + +- (void)setProgress:(NSProgress *)progress{ + _progress = progress; + __weak typeof(self) weakSelf = self; + if (_progress && _progress.fractionCompleted < 0.999) { + [self.view beginLoading]; + [[RACObserve(self, progress.fractionCompleted) takeUntil:self.rac_willDeallocSignal] subscribeNext:^(NSNumber *fractionCompleted) { + if (fractionCompleted.doubleValue > 0.999) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [weakSelf configContent]; + }); + } + }]; + } +} + @end diff --git a/Coding_iOS/Controllers/FolderToMoveViewController.h b/Coding_iOS/Controllers/FolderToMoveViewController.h index 454630a6a..56bc645ef 100755 --- a/Coding_iOS/Controllers/FolderToMoveViewController.h +++ b/Coding_iOS/Controllers/FolderToMoveViewController.h @@ -7,18 +7,14 @@ // #import "BaseViewController.h" -#import "ProjectFolder.h" -#import "ProjectFolders.h" #import "ProjectFile.h" +#import "Project.h" @interface FolderToMoveViewController : BaseViewController - -@property (strong, nonatomic) ProjectFolders *rootFolders; @property (strong, nonatomic) Project *curProject; -@property (strong, nonatomic) ProjectFolder *curFolder, *fromFolder; +@property (strong, nonatomic) ProjectFile *curFolder, *fromFolder; @property (strong, nonatomic) NSArray *toMovedIdList; @property (assign, nonatomic) BOOL isMoveFolder; - -@property (copy, nonatomic) void(^moveToFolderBlock)(ProjectFolder *curFolder, NSArray *toMovedIdList); +@property (copy, nonatomic) void(^moveToFolderBlock)(ProjectFile *curFolder, NSArray *toMovedIdList); @end diff --git a/Coding_iOS/Controllers/FolderToMoveViewController.m b/Coding_iOS/Controllers/FolderToMoveViewController.m index ed9506c3a..31d546214 100755 --- a/Coding_iOS/Controllers/FolderToMoveViewController.m +++ b/Coding_iOS/Controllers/FolderToMoveViewController.m @@ -7,13 +7,15 @@ // #import "FolderToMoveViewController.h" -#import "ProjectFolderListCell.h" +#import "FileListFolderCell.h" #import "EaseToolBar.h" #import "SettingTextViewController.h" #import "Coding_NetAPIManager.h" +#import "ODRefreshControl.h" @interface FolderToMoveViewController () @property (nonatomic, strong) UITableView *myTableView; +@property (nonatomic, strong) ODRefreshControl *refreshControl; @property (nonatomic, strong) EaseToolBar *myToolBar; @property (strong, nonatomic) NSMutableArray *dataList; @end @@ -27,10 +29,11 @@ - (void)viewDidLoad self.title = self.curFolder.name; }else if (self.curProject){ self.title = self.curProject.name; + self.curFolder = [[ProjectFile alloc] initWithFileId:@0 inProject:self.curProject.name ofUser:self.curProject.owner_user_name]; }else{ self.title = @"选择目标文件夹"; } - + [self.navigationItem setRightBarButtonItem:[UIBarButtonItem itemWithBtnTitle:@"取消" target:self action:@selector(dismissSelf)] animated:YES]; // 添加myTableView _myTableView = ({ UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; @@ -38,28 +41,40 @@ - (void)viewDidLoad tableView.dataSource = self; tableView.delegate = self; tableView.separatorStyle = UITableViewCellSeparatorStyleNone; - [tableView registerClass:[ProjectFolderListCell class] forCellReuseIdentifier:kCellIdentifier_ProjectFolderList]; + [tableView registerClass:[FileListFolderCell class] forCellReuseIdentifier:kCellIdentifier_FileListFolder]; [self.view addSubview:tableView]; [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; tableView; }); - - [self configToolBar]; - - [self.navigationItem setRightBarButtonItem:[UIBarButtonItem itemWithBtnTitle:@"取消" target:self action:@selector(dismissSelf)] animated:YES]; + _refreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; + [_refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; + [self refresh]; +} + +- (void)refresh{ + if (self.dataList.count <= 0) { + [self.view beginLoading]; + } + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_FoldersInFolder:_curFolder andBlock:^(id data, NSError *error) { + [weakSelf.view endLoading]; + [weakSelf.refreshControl endRefreshing]; + if (data) { + weakSelf.dataList = data; + [weakSelf.myTableView reloadData]; + [weakSelf configToolBar]; + } + }]; } - (void)configToolBar{ //添加底部ToolBar if (!_myToolBar) { //添加底部ToolBar - EaseToolBarItem *item1 = [EaseToolBarItem easeToolBarItemWithTitle:@" 新建文件夹" image:@"button_file_createFolder_enable" disableImage:@"button_file_createFolder_unable"]; - EaseToolBarItem *item2 = [EaseToolBarItem easeToolBarItemWithTitle:@" 移动到这里" image:@"button_file_move_enable" disableImage:@"button_file_move_unable"]; - item1.enabled = [self canCreatNewFolder]; - item2.enabled = [self canMovedHere]; - + EaseToolBarItem *item1 = [EaseToolBarItem easeToolBarItemWithTitle:@"新建文件夹" image:@"button_file_createFolder_enable" disableImage:@"button_file_createFolder_unable"]; + EaseToolBarItem *item2 = [EaseToolBarItem easeToolBarItemWithTitle:@"移动到这里" image:@"button_file_move_enable" disableImage:@"button_file_move_unable"]; _myToolBar = [EaseToolBar easeToolBarWithItems:@[item1, item2]]; _myToolBar.delegate = self; [self.view addSubview:_myToolBar]; @@ -67,13 +82,7 @@ - (void)configToolBar{ make.bottom.equalTo(self.view.mas_bottom); make.size.mas_equalTo(_myToolBar.frame.size); }]; - }else{ - EaseToolBarItem *item1 = [_myToolBar itemOfIndex:0]; - EaseToolBarItem *item2 = [_myToolBar itemOfIndex:1]; - item1.enabled = [self canCreatNewFolder]; - item2.enabled = [self canMovedHere]; } - UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0,CGRectGetHeight(_myToolBar.frame), 0.0); self.myTableView.contentInset = contentInsets; self.myTableView.scrollIndicatorInsets = contentInsets; @@ -84,76 +93,46 @@ - (void)dismissSelf{ [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark Data Thing -- (NSMutableArray *)dataList{ - if (!_dataList) { - if (self.curFolder) { - _dataList = _isMoveFolder? nil: self.curFolder.sub_folders; - }else{ - _dataList = _rootFolders.list.mutableCopy; - [_dataList removeObjectAtIndex:0];//移除「分享中」文件夹 - if (_isMoveFolder) { - ProjectFolder *outFolder = [ProjectFolder outFolder]; - [_dataList replaceObjectAtIndex:0 withObject:outFolder]; - } - } - if (_dataList.count > 0) { - //移除 fromFolder - ProjectFolder *folderToRemove = _fromFolder ?: [ProjectFolder defaultFolder]; - folderToRemove = [_dataList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"file_id = %@", folderToRemove.file_id]].firstObject; + +- (void)setDataList:(NSMutableArray *)dataList{ + if (dataList.count > 0 && _isMoveFolder) { + for (NSNumber *folderId in _toMovedIdList) { + ProjectFile *folderToRemove = [dataList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"file_id = %@", folderId]].firstObject; if (folderToRemove) { - [_dataList removeObject:folderToRemove]; - } - if (_isMoveFolder) {//移除 要移动的 Folder - for (NSNumber *folderId in _toMovedIdList) { - folderToRemove = [_dataList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"file_id = %@", folderId]].firstObject; - if (folderToRemove) { - [_dataList removeObject:folderToRemove]; - } - } + [dataList removeObject:folderToRemove]; } } } - return _dataList; -} -- (BOOL)canMovedHere{ - return (self.curFolder != nil); -} -- (BOOL)canCreatNewFolder{ - return (self.curFolder == nil || (!_isMoveFolder && self.curFolder.parent_id.intValue == 0 && self.curFolder.file_id.intValue != 0)); + _dataList = dataList; } #pragma mark Table - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ - NSInteger row = 0; - if ([self dataList]) { - row = [[self dataList] count]; - } - return row; + return self.dataList.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ - ProjectFolderListCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_ProjectFolderList forIndexPath:indexPath]; - cell.useToMove = YES; - ProjectFolder *folder = [[self dataList] objectAtIndex:indexPath.row]; + FileListFolderCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_FileListFolder forIndexPath:indexPath]; + ProjectFile *folder = [[self dataList] objectAtIndex:indexPath.row]; cell.folder = folder; [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - return [ProjectFolderListCell cellHeight]; + return [FileListFolderCell cellHeight]; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES]; - ProjectFolder *clickedFolder = [[self dataList] objectAtIndex:indexPath.row]; - + ProjectFile *clickedFolder = [[self dataList] objectAtIndex:indexPath.row]; + FolderToMoveViewController *vc = [[FolderToMoveViewController alloc] init]; vc.isMoveFolder = _isMoveFolder; vc.toMovedIdList = self.toMovedIdList; vc.curProject = self.curProject; - vc.rootFolders = self.rootFolders; vc.curFolder = clickedFolder; + vc.fromFolder = self.fromFolder; vc.moveToFolderBlock = self.moveToFolderBlock; [self.navigationController pushViewController:vc animated:YES]; } @@ -169,11 +148,7 @@ - (void)easeToolBar:(EaseToolBar *)toolBar didClickedIndex:(NSInteger)index{ DebugLog(@"%@", textValue); [[Coding_NetAPIManager sharedManager] request_CreatFolder:textValue inFolder:weakSelf.curFolder inProject:weakSelf.curProject andBlock:^(id data, NSError *error) { if (data) { - if (weakSelf.curFolder) { - [weakSelf.curFolder.sub_folders insertObject:data atIndex:0]; - }else{ - [weakSelf.rootFolders.list insertObject:data atIndex:1]; - } + [weakSelf.dataList insertObject:data atIndex:0]; [weakSelf.myTableView reloadData]; [NSObject showHudTipStr:@"创建文件夹成功"]; } diff --git a/Coding_iOS/Controllers/ForkTreeViewController.m b/Coding_iOS/Controllers/ForkTreeViewController.m index c878aa8e0..e8734bbcc 100644 --- a/Coding_iOS/Controllers/ForkTreeViewController.m +++ b/Coding_iOS/Controllers/ForkTreeViewController.m @@ -37,6 +37,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; diff --git a/Coding_iOS/Controllers/HelpViewController.m b/Coding_iOS/Controllers/HelpViewController.m index 7555cf570..a84be74d4 100644 --- a/Coding_iOS/Controllers/HelpViewController.m +++ b/Coding_iOS/Controllers/HelpViewController.m @@ -12,7 +12,12 @@ @implementation HelpViewController + (instancetype)vcWithHelpStr{ - NSString *curUrlStr = @"/help/doc/mobile/index.html"; + NSString *curUrlStr; + if (kTarget_Enterprise) { + curUrlStr = @"help"; + }else{ + curUrlStr = @"/help/doc/mobile"; + } NSURL *curUrl = [NSURL URLWithString:curUrlStr relativeToURL:[NSURL URLWithString:[NSObject baseURLStr]]]; return [[self alloc] initWithURL:curUrl]; } @@ -23,8 +28,9 @@ - (void)setTitle:(NSString *)title{ - (void)viewDidLoad{ [super viewDidLoad]; - - [self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"反馈" style:UIBarButtonItemStylePlain target:self action:@selector(goToFeedBack)] animated:YES]; + if (!kTarget_Enterprise) { + [self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"反馈" style:UIBarButtonItemStylePlain target:self action:@selector(goToFeedBack)] animated:YES]; + } } - (void)goToFeedBack{ diff --git a/Coding_iOS/Controllers/LikersViewController.m b/Coding_iOS/Controllers/LikersViewController.m index 71669d0ee..7c37c1654 100755 --- a/Coding_iOS/Controllers/LikersViewController.m +++ b/Coding_iOS/Controllers/LikersViewController.m @@ -52,6 +52,9 @@ - (void)viewDidLoad [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); @@ -125,9 +128,15 @@ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPa - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES]; User *user = [_like_reward_users objectAtIndex:indexPath.row]; - UserInfoViewController *vc = [[UserInfoViewController alloc] init]; - vc.curUser = user; - [self.navigationController pushViewController:vc animated:YES]; + if (kTarget_Enterprise) { + UserInfoDetailViewController *vc = [[UserInfoDetailViewController alloc] init]; + vc.curUser = user; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + UserInfoViewController *vc = [[UserInfoViewController alloc] init]; + vc.curUser = user; + [self.navigationController pushViewController:vc animated:YES]; + } } - (void)dealloc diff --git a/Coding_iOS/Controllers/LocalFilesViewController.m b/Coding_iOS/Controllers/LocalFilesViewController.m index deb42158c..111c2c726 100644 --- a/Coding_iOS/Controllers/LocalFilesViewController.m +++ b/Coding_iOS/Controllers/LocalFilesViewController.m @@ -36,6 +36,9 @@ - (void)viewDidLoad{ make.edges.equalTo(self.view); }]; tableView.allowsMultipleSelectionDuringEditing = YES; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); [self changeEditStateToEditing:NO]; @@ -86,7 +89,7 @@ - (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityBut NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell]; NSURL *fileUrl = self.fileList[indexPath.row]; __weak typeof(self) weakSelf = self; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定要删除本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定要删除本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteFilesWithUrlList:@[fileUrl]]; } @@ -99,16 +102,18 @@ - (void)changeEditStateToEditing:(BOOL)isEditing{ [_myTableView setEditing:isEditing animated:YES]; NSArray *rightBarButtonItems; if (isEditing) { - UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"完成" target:self action:@selector(changeEditState)]; - UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; - spaceItem.width = 20; - UIBarButtonItem *item2 = [UIBarButtonItem itemWithBtnTitle:@"反选" target:self action:@selector(reverseSelect)]; - rightBarButtonItems = @[item1, spaceItem, item2]; +// UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"完成" target:self action:@selector(changeEditState)]; +// UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; +// spaceItem.width = 20; +// UIBarButtonItem *item2 = [UIBarButtonItem itemWithBtnTitle:@"反选" target:self action:@selector(reverseSelect)]; +// rightBarButtonItems = @[item1, spaceItem, item2]; + UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"取消" target:self action:@selector(changeEditState)]; + rightBarButtonItems = @[item1]; }else{ UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"编辑" target:self action:@selector(changeEditState)]; rightBarButtonItems = @[item1]; } - [self.navigationItem setRightBarButtonItems:rightBarButtonItems animated:YES]; + [self.navigationItem setRightBarButtonItems:_fileList.count > 0? rightBarButtonItems: nil animated:YES]; [self configToolBar]; [self.myTableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.3]; } @@ -138,7 +143,7 @@ - (void)reverseSelect{ - (void)configToolBar{ //添加底部ToolBar if (!_myEditToolBar) { - EaseToolBarItem *item = [EaseToolBarItem easeToolBarItemWithTitle:@" 删除" image:@"button_file_denete_enable" disableImage:nil]; + EaseToolBarItem *item = [EaseToolBarItem easeToolBarItemWithTitle:@"删除" image:@"button_file_denete_enable" disableImage:nil]; _myEditToolBar = [EaseToolBar easeToolBarWithItems:@[item]]; _myEditToolBar.delegate = self; [self.view addSubview:_myEditToolBar]; @@ -161,7 +166,7 @@ - (void)easeToolBar:(EaseToolBar *)toolBar didClickedIndex:(NSInteger)index{ if (toolBar == _myEditToolBar) { if (index == 0) { __weak typeof(self) weakSelf = self; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定要删除选中的本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定要删除选中的本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteSelectedFiles]; } diff --git a/Coding_iOS/Controllers/LocalFoldersViewController.m b/Coding_iOS/Controllers/LocalFoldersViewController.m index 9d33be5a5..42531954c 100644 --- a/Coding_iOS/Controllers/LocalFoldersViewController.m +++ b/Coding_iOS/Controllers/LocalFoldersViewController.m @@ -44,6 +44,9 @@ - (void)viewDidLoad{ make.edges.equalTo(self.view); }]; tableView.allowsMultipleSelectionDuringEditing = YES; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; @@ -58,7 +61,7 @@ - (void)viewWillAppear:(BOOL)animated{ - (void)refresh{ BOOL hasData = [self findLocalFile]; - [self.view configBlankPage:EaseBlankPageTypeView hasData:hasData hasError:NO reloadButtonBlock:nil]; + [self.view configBlankPage:EaseBlankPageTypeFile hasData:hasData hasError:NO reloadButtonBlock:nil]; if (!hasData) { [self.myRefreshControl endRefreshing]; return; @@ -112,6 +115,7 @@ - (BOOL)findLocalFile{ } } [self.myTableView reloadData]; + [self changeEditStateToEditing:self.myTableView.isEditing]; return localFileUrlList.count > 0; } @@ -181,7 +185,7 @@ - (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityBut NSString *projectId = _projectId_list[indexPath.row]; __weak typeof(self) weakSelf = self; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定要删除该文件夹内所有本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定要删除该文件夹内所有本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteFilesWithProjectIdList:@[projectId]]; } @@ -194,16 +198,18 @@ - (void)changeEditStateToEditing:(BOOL)isEditing{ [_myTableView setEditing:isEditing animated:YES]; NSArray *rightBarButtonItems; if (isEditing) { - UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"完成" target:self action:@selector(changeEditState)]; - UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; - spaceItem.width = 20; - UIBarButtonItem *item2 = [UIBarButtonItem itemWithBtnTitle:@"反选" target:self action:@selector(reverseSelect)]; - rightBarButtonItems = @[item1, spaceItem, item2]; +// UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"完成" target:self action:@selector(changeEditState)]; +// UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; +// spaceItem.width = 20; +// UIBarButtonItem *item2 = [UIBarButtonItem itemWithBtnTitle:@"反选" target:self action:@selector(reverseSelect)]; +// rightBarButtonItems = @[item1, spaceItem, item2]; + UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"取消" target:self action:@selector(changeEditState)]; + rightBarButtonItems = @[item1]; }else{ UIBarButtonItem *item1 = [UIBarButtonItem itemWithBtnTitle:@"编辑" target:self action:@selector(changeEditState)]; rightBarButtonItems = @[item1]; } - [self.navigationItem setRightBarButtonItems:rightBarButtonItems animated:YES]; + [self.navigationItem setRightBarButtonItems:_projectId_list.count > 0? rightBarButtonItems: nil animated:YES]; [self configToolBar]; [self.myTableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.3]; } @@ -233,7 +239,7 @@ - (void)reverseSelect{ - (void)configToolBar{ //添加底部ToolBar if (!_myEditToolBar) { - EaseToolBarItem *item = [EaseToolBarItem easeToolBarItemWithTitle:@" 删除" image:@"button_file_denete_enable" disableImage:nil]; + EaseToolBarItem *item = [EaseToolBarItem easeToolBarItemWithTitle:@"删除" image:@"button_file_denete_enable" disableImage:nil]; _myEditToolBar = [EaseToolBar easeToolBarWithItems:@[item]]; _myEditToolBar.delegate = self; [self.view addSubview:_myEditToolBar]; @@ -256,7 +262,7 @@ - (void)easeToolBar:(EaseToolBar *)toolBar didClickedIndex:(NSInteger)index{ if (toolBar == _myEditToolBar) { if (index == 0) { __weak typeof(self) weakSelf = self; - UIActionSheet *actionSheet = [UIActionSheet bk_actionSheetCustomWithTitle:@"确定要删除选中文件夹内所有本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + UIAlertController *actionSheet = [UIAlertController ea_actionSheetCustomWithTitle:@"确定要删除选中文件夹内所有本地文件吗?" buttonTitles:nil destructiveTitle:@"确认删除" cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf deleteSelectedFolders]; } diff --git a/Coding_iOS/Controllers/Login/ActivateViewController.m b/Coding_iOS/Controllers/Login/ActivateViewController.m index 990125505..73ef0d114 100644 --- a/Coding_iOS/Controllers/Login/ActivateViewController.m +++ b/Coding_iOS/Controllers/Login/ActivateViewController.m @@ -36,6 +36,9 @@ - (void)viewDidLoad { [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); self.myTableView.tableHeaderView = [self customHeaderView]; @@ -55,7 +58,7 @@ - (UIView *)customHeaderView{ headerLabel.textColor = kColor999; headerLabel.numberOfLines = 0; headerLabel.textAlignment = NSTextAlignmentCenter; - headerLabel.text = @"您还未设置过用户名(个性后缀)\n设置后才能正常登录!"; + headerLabel.text = @"您还未设置过用户名\n设置后才能正常登录!"; [headerLabel setCenter:headerV.center]; [headerV addSubview:headerLabel]; return headerV; @@ -89,7 +92,7 @@ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ Input_OnlyText_Cell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_Input_OnlyText_Cell_Text forIndexPath:indexPath]; __weak typeof(self) weakSelf = self; - [cell setPlaceholder:@" 用户名(个性后缀)" value:self.global_key]; + [cell setPlaceholder:@" 用户名" value:self.global_key]; cell.textValueChangedBlock = ^(NSString *valueStr){ weakSelf.global_key = valueStr; }; @@ -98,6 +101,6 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - return 44.0; + return 50; } @end diff --git a/Coding_iOS/Controllers/Login/CannotLoginViewController.m b/Coding_iOS/Controllers/Login/CannotLoginViewController.m index cecc8d4c0..d92cb8d67 100644 --- a/Coding_iOS/Controllers/Login/CannotLoginViewController.m +++ b/Coding_iOS/Controllers/Login/CannotLoginViewController.m @@ -10,13 +10,15 @@ #import "TPKeyboardAvoidingTableView.h" #import "Input_OnlyText_Cell.h" +#ifdef Target_Enterprise + @interface CannotLoginViewController () @property (nonatomic, assign) CannotLoginMethodType medthodType; @property (nonatomic, assign) NSUInteger stepIndex; @property (strong, nonatomic) NSString *userStr, *phoneCode, *password, *confirm_password, *j_captcha; @property (strong, nonatomic) TPKeyboardAvoidingTableView *myTableView; -@property (strong, nonatomic) UIButton *footerBtn; +@property (strong, nonatomic) UIButton *footerBtn, *backBtn; @property (strong, nonatomic) NSString *phoneCodeCellIdentifier; @end @@ -42,7 +44,7 @@ - (void)viewDidLoad [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Text]; [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Captcha]; [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:self.phoneCodeCellIdentifier]; - tableView.backgroundColor = kColorTableSectionBg; + tableView.backgroundColor = [UIColor whiteColor]; tableView.dataSource = self; tableView.delegate = self; tableView.separatorStyle = UITableViewCellSeparatorStyleNone; @@ -54,8 +56,20 @@ - (void)viewDidLoad }); self.myTableView.tableFooterView=[self customFooterView]; self.myTableView.tableHeaderView = [self customHeaderView]; - - [self addChangeBaseURLGesture]; + [self setupBackBtn]; +} + +- (void)setupBackBtn{ + if (!_backBtn) { + _backBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, kSafeArea_Top, 44, 44)]; + button.tintColor = kColorLightBlue; + [button setImage:[[UIImage imageNamed:@"back_green_Nav"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; + [button addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:button]; + button; + }); + } } - (void)viewWillDisappear:(BOOL)animated{ @@ -63,55 +77,42 @@ - (void)viewWillDisappear:(BOOL)animated{ [self.view endEditing:YES]; } -- (void)addChangeBaseURLGesture{ - @weakify(self); - UITapGestureRecognizer *tapGR = [UITapGestureRecognizer bk_recognizerWithHandler:^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) { - @strongify(self); - if (state == UIGestureRecognizerStateRecognized) { - [self changeBaseURLTip]; - } - }]; - tapGR.numberOfTapsRequired = 10.0; - [self.view addGestureRecognizer:tapGR]; -} - -- (void)changeBaseURLTip{ - if ([UIDevice currentDevice].systemVersion.integerValue < 8) { - [NSObject showHudTipStr:@"需要 8.0 以上系统才能切换服务器地址"]; - return; - } - UIAlertController *alertCtrl = [UIAlertController alertControllerWithTitle:@"更改服务器 URL" message:@"空白值可切换回生产环境\n(地址末尾务必加上「/」)" preferredStyle:UIAlertControllerStyleAlert]; - - UIAlertAction *cancelA = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; - UIAlertAction *confirmA = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { - [NSObject changeBaseURLStrTo:alertCtrl.textFields[0].text]; - }]; - [alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) { - textField.placeholder = @"Coding 服务器地址"; - textField.text = [NSObject baseURLStr]; - }]; - [alertCtrl addAction:cancelA]; - [alertCtrl addAction:confirmA]; - [self presentViewController:alertCtrl animated:YES completion:nil]; - -} - - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; - [self.navigationController setNavigationBarHidden:NO animated:YES]; } #pragma mark - Table view Header Footer - (UIView *)customHeaderView{ - UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 60)]; - headerV.backgroundColor = [UIColor clearColor]; + UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 44 + 60)]; + + UILabel *headerL = [UILabel labelWithSystemFontSize:28 textColorHexString:@"0x272C33"]; + headerL.text = @"找回密码"; + [headerV addSubview:headerL]; + [headerL mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(headerV).offset(20); + make.bottom.equalTo(headerV); + make.height.mas_equalTo(40); + }]; return headerV; } - (UIView *)customFooterView{ UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 150)]; - _footerBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:[self footerBtnTitle] andFrame:CGRectMake(kLoginPaddingLeftWidth, 20, kScreen_Width-kLoginPaddingLeftWidth*2, 45) target:self action:@selector(footerBtnClicked:)]; - [footerV addSubview:_footerBtn]; + _footerBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kLoginPaddingLeftWidth, 25, kScreen_Width-kLoginPaddingLeftWidth*2, 50)]; + button.backgroundColor = kColorDark4; + button.titleLabel.font = [UIFont systemFontOfSize:17 weight:UIFontWeightMedium]; + [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [button setTitle:[self footerBtnTitle] forState:UIControlStateNormal]; + button.layer.masksToBounds = YES; + button.layer.cornerRadius = 2.0; + [button addTarget:self action:@selector(footerBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; + button; + }); + [footerV addSubview:_footerBtn]; + [RACObserve(self, footerBtn.enabled) subscribeNext:^(NSNumber *x) { + [self.footerBtn setTitleColor:[UIColor colorWithWhite:1.0 alpha:x.boolValue? 1.0: .5] forState:UIControlStateNormal]; + }]; if (_stepIndex == 0) { RAC(self, footerBtn.enabled) = [RACSignal combineLatest:@[RACObserve(self, userStr)] reduce:^id(NSString *userStr){ @@ -167,7 +168,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } } Input_OnlyText_Cell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath]; - + cell.isBottomLineShow = YES; __weak typeof(self) weakSelf = self; if (indexPath.row == 0) { [cell setPlaceholder:(_stepIndex == 0? @" 手机/邮箱": _medthodType == CannotLoginMethodPhone? @" 手机号": @" 邮箱") value:self.userStr]; @@ -196,7 +197,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N weakSelf.phoneCode = valueStr; }; cell.phoneCodeBtnClckedBlock = ^(PhoneCodeButton *btn){ - [weakSelf phoneCodeBtnClicked:btn]; + [weakSelf phoneCodeBtnClicked:btn withCaptcha:nil]; }; } }else{ @@ -207,31 +208,90 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } } - [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kLoginPaddingLeftWidth]; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - return 44.0; + return 65.0; } #pragma mark Btn Clicked -- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender{ +- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender withCaptcha:(NSString *)captcha{ if (![_userStr isPhoneNo]) { [NSObject showHudTipStr:@"手机号码格式有误"]; return; } sender.enabled = NO; - [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/password/forget" withParams:@{@"account": _userStr} withMethodType:Post andBlock:^(id data, NSError *error) { + NSMutableDictionary *params = @{@"account": _userStr, + @"phoneCountryCode": @"+86"}.mutableCopy; + if (captcha.length > 0) { + params[@"j_captcha"] = captcha; + } + __weak typeof(self) weakSelf = self; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/password/forget" withParams:params withMethodType:Post autoShowError:captcha.length > 0 andBlock:^(id data, NSError *error) { if (data) { [NSObject showHudTipStr:@"验证码发送成功"]; [sender startUpTimer]; }else{ [sender invalidateTimer]; + if (error && error.userInfo[@"msg"] && [[error.userInfo[@"msg"] allKeys] containsObject:@"j_captcha_error"]) { + [weakSelf p_showCaptchaAlert:sender]; + }else if (captcha.length <= 0){ + [NSObject showError:error]; + } + } + }]; +} + +- (void)p_showCaptchaAlert:(PhoneCodeButton *)sender{ + SDCAlertController *alertV = [SDCAlertController alertControllerWithTitle:@"提示" message:@"请输入图片验证码" preferredStyle:SDCAlertControllerStyleAlert]; + UITextField *textF = [UITextField new]; + textF.layer.sublayerTransform = CATransform3DMakeTranslation(5, 0, 0); + textF.backgroundColor = [UIColor whiteColor]; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + UIImageView *imageV = [YLImageView new]; + imageV.backgroundColor = [UIColor lightGrayColor]; + imageV.contentMode = UIViewContentModeScaleAspectFit; + imageV.clipsToBounds = YES; + imageV.userInteractionEnabled = YES; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@api/getCaptcha", [NSObject baseURLStr]]]; + [imageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + + [alertV.contentView addSubview:textF]; + [alertV.contentView addSubview:imageV]; + [textF mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(alertV.contentView).offset(15); + make.height.mas_equalTo(25); + make.bottom.equalTo(alertV.contentView).offset(-10); + }]; + [imageV mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(alertV.contentView).offset(-15); + make.left.equalTo(textF.mas_right).offset(10); + make.width.mas_equalTo(60); + make.height.mas_equalTo(25); + make.centerY.equalTo(textF); + }]; + //Action + __weak typeof(imageV) weakImageV = imageV; + [imageV bk_whenTapped:^{ + [weakImageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + }]; + __weak typeof(self) weakSelf = self; + [alertV addAction:[SDCAlertAction actionWithTitle:@"取消" style:SDCAlertActionStyleCancel handler:nil]]; + [alertV addAction:[SDCAlertAction actionWithTitle:@"确定" style:SDCAlertActionStyleDefault handler:nil]]; + alertV.shouldDismissBlock = ^BOOL (SDCAlertAction *action){ + if (![action.title isEqualToString:@"取消"]) { + [weakSelf phoneCodeBtnClicked:sender withCaptcha:textF.text]; } + return YES; + }; + [alertV presentWithCompletion:^{ + [textF becomeFirstResponder]; }]; } + - (void)footerBtnClicked:(id)sender{ if (_stepIndex == 0) { CannotLoginViewController *vc = [CannotLoginViewController vcWithMethodType:[_userStr isPhoneNo]? CannotLoginMethodPhone: CannotLoginMethodEamil stepIndex:1 userStr:_userStr]; @@ -269,3 +329,394 @@ - (void)footerBtnClicked:(id)sender{ } @end + +#else + +@interface CannotLoginViewController () +@property (nonatomic, assign) CannotLoginMethodType medthodType; +@property (nonatomic, assign) NSUInteger stepIndex; +@property (strong, nonatomic) NSString *userStr, *phoneCode, *password, *confirm_password, *j_captcha; + +@property (strong, nonatomic) TPKeyboardAvoidingTableView *myTableView; +@property (strong, nonatomic) UIButton *footerBtn; +@property (strong, nonatomic) NSString *phoneCodeCellIdentifier; +@end + +@implementation CannotLoginViewController ++ (instancetype)vcWithMethodType:(CannotLoginMethodType)methodType stepIndex:(NSUInteger)stepIndex userStr:(NSString *)userStr{ + CannotLoginViewController *vc = [self new]; + vc.medthodType = methodType; + vc.stepIndex = stepIndex; + vc.userStr = userStr; + return vc; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + self.phoneCodeCellIdentifier = [Input_OnlyText_Cell randomCellIdentifierOfPhoneCodeType]; + if ([Login isLogin] && self.userStr.length <= 0) { + self.userStr = (self.medthodType == CannotLoginMethodEamil? [Login curLoginUser].email: [Login curLoginUser].phone); + } + + // 添加myTableView + _myTableView = ({ + TPKeyboardAvoidingTableView *tableView = [[TPKeyboardAvoidingTableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; + tableView.backgroundColor = [Login isLogin]? kColorTableSectionBg: kColorWhite; + [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Text]; + [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Captcha]; + [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:self.phoneCodeCellIdentifier]; + tableView.dataSource = self; + tableView.delegate = self; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView; + }); + self.myTableView.tableFooterView=[self customFooterView]; + self.myTableView.tableHeaderView = [self customHeaderView]; + + [self addChangeBaseURLGesture]; +} + +- (void)viewWillDisappear:(BOOL)animated{ + [super viewWillDisappear:animated]; + [self.view endEditing:YES]; +} + +- (void)addChangeBaseURLGesture{ + @weakify(self); + UITapGestureRecognizer *tapGR = [UITapGestureRecognizer bk_recognizerWithHandler:^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) { + @strongify(self); + if (state == UIGestureRecognizerStateRecognized) { + [self changeBaseURLTip]; + } + }]; + tapGR.numberOfTapsRequired = 10.0; + [self.view addGestureRecognizer:tapGR]; +} + +- (void)changeBaseURLTip{ + if ([UIDevice currentDevice].systemVersion.integerValue < 8) { + [NSObject showHudTipStr:@"需要 8.0 以上系统才能切换服务器地址"]; + return; + } + UIAlertController *alertCtrl = [UIAlertController alertControllerWithTitle:@"更改服务器 URL" message:@"空白值可切换回生产环境\n" preferredStyle:UIAlertControllerStyleAlert]; + + UIAlertAction *cancelA = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; + UIAlertAction *confirmA = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { + NSString *newBaseURLStr = alertCtrl.textFields[0].text; + if ([newBaseURLStr.uppercaseString isEqualToString:@"S"]) { + newBaseURLStr = @"http://coding.codingprod.net/"; + }else if ([newBaseURLStr.uppercaseString isEqualToString:@"T"]){ + newBaseURLStr = @"http://coding.t.codingprod.net/"; + } + [NSObject changeBaseURLStrTo:newBaseURLStr]; + }]; + [alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) { + textField.placeholder = @"CODING 服务器地址"; + textField.text = [NSObject baseURLStr]; + }]; + [alertCtrl addAction:cancelA]; + [alertCtrl addAction:confirmA]; + [self presentViewController:alertCtrl animated:YES completion:nil]; + +} + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:NO animated:YES]; +} + +#pragma mark - Table view Header Footer +- (UIView *)customHeaderView{ + UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, [Login isLogin]? 20: 60)]; + if (![Login isLogin]) { + self.title = nil; + UILabel *headerL = [UILabel labelWithFont:[UIFont systemFontOfSize:30] textColor:kColorDark2]; + headerL.text = [self p_titleStr]; + [headerV addSubview:headerL]; + [headerL mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(kPaddingLeftWidth); + make.bottom.offset(0); + make.height.mas_equalTo(42); + }]; + }else{ + self.title = [self p_titleStr]; + } + return headerV; +} + +- (NSString *)p_titleStr{ + return self.medthodType == CannotLoginMethodEamil? @"重置密码": self.stepIndex > 0? @"重置密码": @"找回密码"; +} + +- (UIView *)customFooterView{ + UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 150)]; + _footerBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:[self footerBtnTitle] andFrame:CGRectMake(kLoginPaddingLeftWidth, 20, kScreen_Width-kLoginPaddingLeftWidth*2, [Login isLogin]? 45: 50) target:self action:@selector(footerBtnClicked:)]; + [footerV addSubview:_footerBtn]; + + if (_medthodType == CannotLoginMethodEamil) { + RAC(self, footerBtn.enabled) = [RACSignal combineLatest:@[RACObserve(self, userStr), + RACObserve(self, j_captcha)] + reduce:^id(NSString *userStr, NSString *j_captcha){ + return @([userStr isEmail] && j_captcha.length > 0); + }]; + }else{ + if (_stepIndex == 0) { + RAC(self, footerBtn.enabled) = [RACSignal combineLatest:@[RACObserve(self, userStr), + RACObserve(self, phoneCode)] + reduce:^id(NSString *userStr, NSString *phoneCode){ + return @([userStr isPhoneNo] && phoneCode.length > 0); + }]; + }else{ + RAC(self, footerBtn.enabled) = [RACSignal combineLatest:@[RACObserve(self, userStr), + RACObserve(self, phoneCode), + RACObserve(self, password), + RACObserve(self, confirm_password)] + reduce:^id(NSString *userStr, NSString *phoneCode, NSString *password, NSString *confirm_password){ + return @([userStr isPhoneNo] && phoneCode.length > 0 && password.length > 0 && confirm_password.length > 0); + }]; + } + } + if (_medthodType == CannotLoginMethodPhone && _stepIndex <= 0 && + (![Login isLogin] || [Login curLoginUser].email.length > 0)) { + UIButton *emailBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 120, 30)]; + [button.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [button setTitleColor:kColorDark2 forState:UIControlStateNormal]; + [button setTitle:@"使用邮箱找回" forState:UIControlStateNormal]; + [footerV addSubview:button]; + [button mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(120, 30)); + make.top.equalTo(_footerBtn.mas_bottom).offset(30); + make.centerX.equalTo(footerV); + }]; + button; + }); + __weak typeof(self) weakSelf = self; + [emailBtn bk_addEventHandler:^(id sender) { + CannotLoginViewController *vc = [CannotLoginViewController vcWithMethodType:CannotLoginMethodEamil stepIndex:0 userStr:nil]; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } forControlEvents:UIControlEventTouchUpInside]; + } + return footerV; +} + +- (NSString *)footerBtnTitle{ + NSString *curStr = @""; + if (_medthodType == CannotLoginMethodEamil) { + curStr = @"发送重置密码邮件"; + }else{ + curStr = _stepIndex == 0? @"下一步": @"完成"; + } + return curStr; +} +#pragma mark - Table view data source +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return 2; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + NSString *cellIdentifier; + if (_medthodType == CannotLoginMethodEamil) { + cellIdentifier = indexPath.row == 0? kCellIdentifier_Input_OnlyText_Cell_Text: kCellIdentifier_Input_OnlyText_Cell_Captcha; + }else if (_stepIndex <= 0){ + cellIdentifier = indexPath.row == 0? kCellIdentifier_Input_OnlyText_Cell_Text: self.phoneCodeCellIdentifier; + }else{ + cellIdentifier = kCellIdentifier_Input_OnlyText_Cell_Text; + } + Input_OnlyText_Cell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath]; + cell.isBottomLineShow = ![Login isLogin]; + + __weak typeof(self) weakSelf = self; + if (_medthodType == CannotLoginMethodEamil) { + if (indexPath.row == 0) { + [cell setPlaceholder:@" 电子邮箱" value:self.userStr]; + cell.textField.keyboardType = UIKeyboardTypeEmailAddress; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.userStr = valueStr; + }; + }else{ + [cell setPlaceholder:@" 验证码" value:self.j_captcha]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.j_captcha = valueStr; + }; + } + }else if (_stepIndex <= 0){ + if (indexPath.row == 0) { + [cell setPlaceholder:@" 手机号码" value:self.userStr]; + cell.textField.keyboardType = UIKeyboardTypeNumberPad; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.userStr = valueStr; + }; + }else{ + cell.textField.keyboardType = UIKeyboardTypeNumberPad; + [cell setPlaceholder:@" 验证码" value:self.phoneCode]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.phoneCode = valueStr; + }; + cell.phoneCodeBtnClckedBlock = ^(PhoneCodeButton *btn){ + [weakSelf phoneCodeBtnClicked:btn withCaptcha:nil]; + }; + } + }else{ + if (indexPath.row == 0) { + cell.textField.secureTextEntry = YES; + [cell setPlaceholder:@" 设置密码" value:self.password]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.password = valueStr; + }; + }else{ + cell.textField.secureTextEntry = YES; + [cell setPlaceholder:@" 重复密码" value:self.confirm_password]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.confirm_password = valueStr; + }; + } + } + if ([Login isLogin]) { + cell.backgroundColor = kColorWhite; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + } + return cell; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return [Login isLogin]? 50: 65.0; +} + +#pragma mark Btn Clicked +- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender withCaptcha:(NSString *)captcha{ + if (![_userStr isPhoneNo]) { + [NSObject showHudTipStr:@"手机号码格式有误"]; + return; + } + sender.enabled = NO; + NSMutableDictionary *params = @{@"account": _userStr, + @"phoneCountryCode": @"+86"}.mutableCopy; + if (captcha.length > 0) { + params[@"j_captcha"] = captcha; + } + __weak typeof(self) weakSelf = self; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/password/forget" withParams:params withMethodType:Post autoShowError:captcha.length > 0 andBlock:^(id data, NSError *error) { + if (data) { + [NSObject showHudTipStr:@"验证码发送成功"]; + [sender startUpTimer]; + }else{ + [sender invalidateTimer]; + if (error && error.userInfo[@"msg"] && [[error.userInfo[@"msg"] allKeys] containsObject:@"j_captcha_error"]) { + [weakSelf p_showCaptchaAlert:sender]; + }else if (captcha.length <= 0){ + [NSObject showError:error]; + } + } + }]; +} + +- (void)p_showCaptchaAlert:(PhoneCodeButton *)sender{ + SDCAlertController *alertV = [SDCAlertController alertControllerWithTitle:@"提示" message:@"请输入图片验证码" preferredStyle:SDCAlertControllerStyleAlert]; + UITextField *textF = [UITextField new]; + textF.layer.sublayerTransform = CATransform3DMakeTranslation(5, 0, 0); + textF.backgroundColor = [UIColor whiteColor]; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + UIImageView *imageV = [YLImageView new]; + imageV.backgroundColor = [UIColor lightGrayColor]; + imageV.contentMode = UIViewContentModeScaleAspectFit; + imageV.clipsToBounds = YES; + imageV.userInteractionEnabled = YES; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@api/getCaptcha", [NSObject baseURLStr]]]; + [imageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + + [alertV.contentView addSubview:textF]; + [alertV.contentView addSubview:imageV]; + [textF mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(alertV.contentView).offset(15); + make.height.mas_equalTo(25); + make.bottom.equalTo(alertV.contentView).offset(-10); + }]; + [imageV mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(alertV.contentView).offset(-15); + make.left.equalTo(textF.mas_right).offset(10); + make.width.mas_equalTo(60); + make.height.mas_equalTo(25); + make.centerY.equalTo(textF); + }]; + //Action + __weak typeof(imageV) weakImageV = imageV; + [imageV bk_whenTapped:^{ + [weakImageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + }]; + __weak typeof(self) weakSelf = self; + [alertV addAction:[SDCAlertAction actionWithTitle:@"取消" style:SDCAlertActionStyleCancel handler:nil]]; + [alertV addAction:[SDCAlertAction actionWithTitle:@"确定" style:SDCAlertActionStyleDefault handler:nil]]; + alertV.shouldDismissBlock = ^BOOL (SDCAlertAction *action){ + if (![action.title isEqualToString:@"取消"]) { + [weakSelf phoneCodeBtnClicked:sender withCaptcha:textF.text]; + } + return YES; + }; + [alertV presentWithCompletion:^{ + [textF becomeFirstResponder]; + }]; +} + + +- (void)footerBtnClicked:(id)sender{ + __weak typeof(self) weakSelf = self; + if (_medthodType == CannotLoginMethodEamil) { + [self.footerBtn startQueryAnimate]; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/password/forget" withParams:@{@"account": _userStr, @"j_captcha": _j_captcha} withMethodType:Post andBlock:^(id data, NSError *error) { + [weakSelf.footerBtn stopQueryAnimate]; + if (data) { + [NSObject showHudTipStr:@"重置密码邮件已经发送,请尽快去邮箱查看"]; + [weakSelf.navigationController popToRootViewControllerAnimated:YES]; + }else{ + [weakSelf.myTableView reloadData];//主要是为了 刷新一下图片验证码 + } + }]; + }else if (_stepIndex == 0){ + [self.footerBtn startQueryAnimate]; + NSDictionary *params = @{@"phone": _userStr, + @"code": _phoneCode, + @"phoneCountryCode": @"+86", + @"type": @"reset"}; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/phone/code/check" withParams:params withMethodType:Post andBlock:^(id data, NSError *error) { + [self.footerBtn stopQueryAnimate]; + if (!error) { + //通过校验 + CannotLoginViewController *vc = [CannotLoginViewController vcWithMethodType:CannotLoginMethodPhone stepIndex:1 userStr:_userStr]; + vc.phoneCode = weakSelf.phoneCode; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } + }]; + }else{ + if (![_password isEqualToString:_confirm_password]) { + [NSObject showHudTipStr:@"两次输入密码不一致"]; + return; + } + [self.footerBtn startQueryAnimate]; + NSMutableDictionary *params = @{@"account": _userStr, + @"password": [_password sha1Str], + @"confirm": [_confirm_password sha1Str], + @"code": _phoneCode}.mutableCopy; + params[@"j_captcha"] = _j_captcha; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/password/reset" withParams:params withMethodType:Post andBlock:^(id data, NSError *error) { + [weakSelf.footerBtn stopQueryAnimate]; + if (data) { + [NSObject showHudTipStr:@"密码设置成功"]; + [weakSelf.navigationController popToRootViewControllerAnimated:YES]; + } + }]; + } +} + +@end + +#endif diff --git a/Coding_iOS/Controllers/Login/Close2FAViewController.m b/Coding_iOS/Controllers/Login/Close2FAViewController.m index 96a91ccc9..4ba4c2053 100644 --- a/Coding_iOS/Controllers/Login/Close2FAViewController.m +++ b/Coding_iOS/Controllers/Login/Close2FAViewController.m @@ -47,6 +47,9 @@ - (void)viewDidLoad { [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); self.myTableView.tableHeaderView = [self customHeaderView]; @@ -106,7 +109,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N weakSelf.phoneCode = valueStr; }; cell.phoneCodeBtnClckedBlock = ^(PhoneCodeButton *btn){ - [weakSelf phoneCodeBtnClicked:btn]; + [weakSelf phoneCodeBtnClicked:btn withCaptcha:nil]; }; } [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kLoginPaddingLeftWidth]; @@ -114,21 +117,74 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } #pragma mark Btn Clicked -- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender{ +- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender withCaptcha:(NSString *)captcha{ if (![_phone isPhoneNo]) { [NSObject showHudTipStr:@"手机号码格式有误"]; return; } sender.enabled = NO; - [[Coding_NetAPIManager sharedManager] post_Close2FAGeneratePhoneCode:self.phone block:^(id data, NSError *error) { + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] post_Close2FAGeneratePhoneCode:self.phone withCaptcha:captcha block:^(id data, NSError *error) { if (data) { [NSObject showHudTipStr:@"验证码发送成功"]; [sender startUpTimer]; }else{ [sender invalidateTimer]; + if (error && error.userInfo[@"msg"] && [[error.userInfo[@"msg"] allKeys] containsObject:@"j_captcha_error"]) { + [weakSelf p_showCaptchaAlert:sender]; + } + } + }]; +} + +- (void)p_showCaptchaAlert:(PhoneCodeButton *)sender{ + SDCAlertController *alertV = [SDCAlertController alertControllerWithTitle:@"提示" message:@"请输入图片验证码" preferredStyle:SDCAlertControllerStyleAlert]; + UITextField *textF = [UITextField new]; + textF.layer.sublayerTransform = CATransform3DMakeTranslation(5, 0, 0); + textF.backgroundColor = [UIColor whiteColor]; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + UIImageView *imageV = [YLImageView new]; + imageV.backgroundColor = [UIColor lightGrayColor]; + imageV.contentMode = UIViewContentModeScaleAspectFit; + imageV.clipsToBounds = YES; + imageV.userInteractionEnabled = YES; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@api/getCaptcha", [NSObject baseURLStr]]]; + [imageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + + [alertV.contentView addSubview:textF]; + [alertV.contentView addSubview:imageV]; + [textF mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(alertV.contentView).offset(15); + make.height.mas_equalTo(25); + make.bottom.equalTo(alertV.contentView).offset(-10); + }]; + [imageV mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(alertV.contentView).offset(-15); + make.left.equalTo(textF.mas_right).offset(10); + make.width.mas_equalTo(60); + make.height.mas_equalTo(25); + make.centerY.equalTo(textF); + }]; + //Action + __weak typeof(imageV) weakImageV = imageV; + [imageV bk_whenTapped:^{ + [weakImageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + }]; + __weak typeof(self) weakSelf = self; + [alertV addAction:[SDCAlertAction actionWithTitle:@"取消" style:SDCAlertActionStyleCancel handler:nil]]; + [alertV addAction:[SDCAlertAction actionWithTitle:@"确定" style:SDCAlertActionStyleDefault handler:nil]]; + alertV.shouldDismissBlock = ^BOOL (SDCAlertAction *action){ + if (![action.title isEqualToString:@"取消"]) { + [weakSelf phoneCodeBtnClicked:sender withCaptcha:textF.text]; } + return YES; + }; + [alertV presentWithCompletion:^{ + [textF becomeFirstResponder]; }]; } + - (void)footerBtnClicked:(id)sender{ [self.footerBtn startQueryAnimate]; [[Coding_NetAPIManager sharedManager] post_Close2FAWithPhone:self.phone code:self.phoneCode block:^(id data, NSError *error) { diff --git a/Coding_iOS/Controllers/Login/IntroductionViewController.h b/Coding_iOS/Controllers/Login/IntroductionViewController.h index 87992e691..853fdac7a 100644 --- a/Coding_iOS/Controllers/Login/IntroductionViewController.h +++ b/Coding_iOS/Controllers/Login/IntroductionViewController.h @@ -6,8 +6,39 @@ // Copyright (c) 2015年 Coding. All rights reserved. // +#ifdef Target_Enterprise + +#import "BaseViewController.h" + +@class IntroductionItem, IntroductionHomePage, IntroductionIndexPage; + +@interface IntroductionViewController : BaseViewController + +- (void)presentLoginUI; + +@end + +@interface IntroductionHomePage : UIView +@property (strong, nonatomic) IntroductionItem *curItem; + +@end + +@interface IntroductionIndexPage : UIView +@property (strong, nonatomic) IntroductionItem *curItem; +@end + +@interface IntroductionItem : NSObject ++ (instancetype)itemWithTitle:(NSString *)title content:(NSString *)content imagePrefix:(NSString *)imagePrefix; +@property (strong, nonatomic) NSString *title, *content, *imagePrefix; +@property (assign, nonatomic) BOOL isHomePage; +@end + +#else + #import @interface IntroductionViewController : IFTTTAnimatedPagingScrollViewController @end + +#endif diff --git a/Coding_iOS/Controllers/Login/IntroductionViewController.m b/Coding_iOS/Controllers/Login/IntroductionViewController.m index 9421647e6..853dbe09c 100644 --- a/Coding_iOS/Controllers/Login/IntroductionViewController.m +++ b/Coding_iOS/Controllers/Login/IntroductionViewController.m @@ -6,6 +6,476 @@ // Copyright (c) 2015年 Coding. All rights reserved. // + +#ifdef Target_Enterprise + +#define kIntroductionView_AnimateDuration .6 + +#import "IntroductionViewController.h" +#import "LoginViewController.h" +#import "YLImageView.h" +#import "YLGIFImage.h" +#import "SMPageControl.h" +#import + +@interface IntroductionViewController () +@property (strong, nonatomic) UIButton *loginEnterpriseBtn, *loginPrivateCloudBtn; +@property (strong, nonatomic) SMPageControl *pageControl; +@property (strong, nonatomic) IntroductionHomePage *homePage; +@property (strong, nonatomic) IntroductionIndexPage *indexPage; + +@property (strong, nonatomic) NSMutableArray *pageItems; +@property (strong, nonatomic) IntroductionItem *curItem; +@end + +@implementation IntroductionViewController +- (void)viewDidLoad{ + [super viewDidLoad]; + + self.view.backgroundColor = [UIColor whiteColor]; + {//Data + _pageItems = @[].mutableCopy; + IntroductionItem *homeItem = [IntroductionItem itemWithTitle:@"欢迎来到\nCoding Enterprise" content:@"CODING Enterprise 是 CODING 专为企业打造的软件开发协作平台,让企业更好地管理项目成员,便捷而深入地把握开发进度,让开发流程更高效。" imagePrefix:nil]; + homeItem.isHomePage = YES; + [_pageItems addObject:homeItem]; + [_pageItems addObject:[IntroductionItem itemWithTitle:@"任务协作" content:@"任务进度与代码仓库无缝衔接" imagePrefix:@"intro_icon_task"]]; + [_pageItems addObject:[IntroductionItem itemWithTitle:@"文件管理" content:@"云端共享,支持在线预览、编辑、评论" imagePrefix:@"intro_icon_file"]]; + [_pageItems addObject:[IntroductionItem itemWithTitle:@"Wiki 知识库" content:@"文档书写,记录整个项目的来龙去脉" imagePrefix:@"intro_icon_wiki"]]; + [_pageItems addObject:[IntroductionItem itemWithTitle:@"代码托管" content:@"提交代码、合并请求一步到位" imagePrefix:@"intro_icon_code"]]; + } + + [self configureButtonsAndPageControl]; + self.curItem = _pageItems.firstObject; + [self addGesture]; +} + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [[UIApplication sharedApplication] setStatusBarHidden:YES]; +} + +- (void)viewWillDisappear:(BOOL)animated{ + [super viewWillDisappear:animated]; + [[UIApplication sharedApplication] setStatusBarHidden:NO]; +} + +- (void)configureButtonsAndPageControl{ + // PageControl + UIImage *pageIndicatorImage = [UIImage imageNamed:@"intro_dot_light_unselected"]; + UIImage *currentPageIndicatorImage = [UIImage imageNamed:@"intro_dot_light_selected"]; + self.pageControl = ({ + SMPageControl *pageControl = [[SMPageControl alloc] init]; + pageControl.numberOfPages = self.pageItems.count; + pageControl.userInteractionEnabled = NO; + pageControl.pageIndicatorImage = pageIndicatorImage; + pageControl.currentPageIndicatorImage = currentPageIndicatorImage; + [pageControl sizeToFit]; + pageControl.currentPage = 0; + pageControl; + }); + [self.view addSubview:self.pageControl]; + [self.pageControl mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(kScreen_Width, 20)); + make.centerX.equalTo(self.view); + make.bottom.equalTo(self.view.mas_bottom).offset(kDevice_Use_iPhone4_Layout? -10: kDevice_Is_iPhone5? -30: -(50 + kSafeArea_Bottom)); + }]; + // Button + self.loginPrivateCloudBtn = ({ + UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; + [button addTarget:self action:@selector(loginPrivateCloudBtnClicked) forControlEvents:UIControlEventTouchUpInside]; + button.backgroundColor = [UIColor clearColor]; + button.titleLabel.font = [UIFont systemFontOfSize:17 weight:UIFontWeightRegular]; + [button setTitleColor:kColorDark2 forState:UIControlStateNormal]; + [button setTitle:@"私有部署账号登录" forState:UIControlStateNormal]; + [button doBorderWidth:1.0 color:kColorDark2 cornerRadius:2.0]; + button; + }); + [self.view addSubview:self.loginPrivateCloudBtn]; + [self.loginPrivateCloudBtn mas_makeConstraints:^(MASConstraintMaker *make) { + CGFloat padding = (MIN(kScreen_Width, 350) - 270)/ 2; + make.height.mas_equalTo(56); + make.left.equalTo(self.view).offset(padding); + make.right.equalTo(self.view).offset(-padding); + make.centerX.equalTo(self.view); + make.bottom.equalTo(_pageControl.mas_top).offset(kDevice_Use_iPhone4_Layout? -10: kDevice_Is_iPhone5? -20 : -50); + }]; + + self.loginEnterpriseBtn = ({ + UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; + [button addTarget:self action:@selector(loginEnterpriseBtnClicked) forControlEvents:UIControlEventTouchUpInside]; + button.backgroundColor = kColorDark4; + button.titleLabel.font = [UIFont systemFontOfSize:17 weight:UIFontWeightMedium]; + [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [button setTitle:@"企业账号登录" forState:UIControlStateNormal]; + button.layer.masksToBounds = YES; + button.layer.cornerRadius = 2.0; + button.hidden = true; + button; + }); + [self.view addSubview:self.loginEnterpriseBtn]; + [self.loginEnterpriseBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.centerX.equalTo(self.loginPrivateCloudBtn); + make.bottom.equalTo(self.loginPrivateCloudBtn.mas_top).offset(-10); + }]; +} + +- (void)addGesture{ + {//Left + UISwipeGestureRecognizer *swipeG = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)]; + swipeG.direction = UISwipeGestureRecognizerDirectionLeft; + [self.view addGestureRecognizer:swipeG]; + } + {//Right + UISwipeGestureRecognizer *swipeG = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)]; + swipeG.direction = UISwipeGestureRecognizerDirectionRight; + [self.view addGestureRecognizer:swipeG]; + } +} + +- (void)handleSwipeGesture:(UISwipeGestureRecognizer *)swipeG{ + if (swipeG.state == UIGestureRecognizerStateRecognized) { + NSInteger index = [self.pageItems indexOfObject:self.curItem]; + if (index == NSNotFound) { + index = 0; + }else if (swipeG.direction & UISwipeGestureRecognizerDirectionLeft) {// +1 + index = MIN(++index, self.pageItems.count - 1); + }else if (swipeG.direction & UISwipeGestureRecognizerDirectionRight){// - 1 + index = MAX(--index, 0); + } + self.curItem = self.pageItems[index]; + } +} + +- (void)setCurItem:(IntroductionItem *)curItem{ + static BOOL isAnimating = NO; + if (isAnimating) { + return; + } + if (_curItem == curItem) { + return; + } + BOOL isHomeOrIndexNeedChange = (_curItem.isHomePage != curItem.isHomePage); + isAnimating = YES; + YLGIFImage *preImage = (YLGIFImage *)[YLGIFImage imageNamed:[NSString stringWithFormat:@"%@_down.gif", _curItem.imagePrefix]]; + YLGIFImage *nextImage = (YLGIFImage *)[YLGIFImage imageNamed:[NSString stringWithFormat:@"%@_up.gif", curItem.imagePrefix]]; + NSTimeInterval animateDuration = preImage.totalDuration + nextImage.totalDuration;//这里有点傻,不过,就这样吧 + animateDuration += isHomeOrIndexNeedChange? kIntroductionView_AnimateDuration: 0; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(animateDuration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + isAnimating = NO; + }); + + _curItem = curItem; + + if (isHomeOrIndexNeedChange) { + UIImage *pageIndicatorImage = [UIImage imageNamed:[NSString stringWithFormat:@"intro_dot_%@_unselected", _curItem.isHomePage? @"light": @"dark"]]; + UIImage *currentPageIndicatorImage = [UIImage imageNamed:[NSString stringWithFormat:@"intro_dot_%@_selected", _curItem.isHomePage? @"light": @"dark"]]; + _pageControl.pageIndicatorImage = pageIndicatorImage; + _pageControl.currentPageIndicatorImage = currentPageIndicatorImage; + } + self.homePage.curItem = self.indexPage.curItem = _curItem; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(MAX(preImage.totalDuration, kIntroductionView_AnimateDuration) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + _pageControl.currentPage = [_pageItems indexOfObject:_curItem]; + }); +} + +- (IntroductionHomePage *)homePage{ + if (!_homePage) { + _homePage = [IntroductionHomePage new]; + [self.view insertSubview:_homePage atIndex:0]; + [_homePage mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + } + return _homePage; +} + +- (IntroductionIndexPage *)indexPage{ + if (!_indexPage) { + _indexPage = [IntroductionIndexPage new]; + [self.view insertSubview:_indexPage atIndex:0]; + [_indexPage mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + } + return _indexPage; +} + +#pragma mark Action +- (void)loginEnterpriseBtnClicked{ + [NSObject setupIsPrivateCloud:@(NO)]; + [self presentLoginAnimated:YES]; +} + +- (void)loginPrivateCloudBtnClicked{ + [NSObject setupIsPrivateCloud:@(YES)]; + [self presentLoginAnimated:YES]; +} + +- (void)presentLoginAnimated:(BOOL)animated{ + LoginViewController *vc = [[LoginViewController alloc] init]; + vc.showDismissButton = YES; + UINavigationController *nav = [[BaseNavigationController alloc] initWithRootViewController:vc]; + [self presentViewController:nav animated:animated completion:nil]; +} + +- (void)presentLoginUI{ + [self presentLoginAnimated:NO]; +} + +@end + +@interface IntroductionHomePage () +@property (strong, nonatomic) UILabel *titleL, *contentL; +@property (strong, nonatomic) UIView *blurView; +@property (strong, nonatomic) NSMutableArray *circleList; +@end + +@implementation IntroductionHomePage + +- (instancetype)init{ + self = [super init]; + if (self) { + self.alpha = 0; + [self setupBlurView]; + _titleL = [UILabel labelWithFont:[UIFont systemFontOfSize:30] textColor:kColorDark4]; + _contentL = [UILabel labelWithFont:[UIFont systemFontOfSize:kDevice_Is_iPhone6Plus? 17: 15] textColor:kColorDark4]; + _titleL.numberOfLines = _contentL.numberOfLines = 0; + [self addSubview:_titleL]; + [self addSubview:_contentL]; + [_titleL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self).offset(kDevice_Use_iPhone4_Layout? 64: 90); + make.left.equalTo(self).offset(30); + make.right.equalTo(self).offset(-30); + }]; + [_contentL mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(_titleL); + make.top.equalTo(_titleL.mas_bottom).offset((kDevice_Use_iPhone4_Layout || kDevice_Is_iPhone5)? 20: 40); + }]; + } + return self; +} + +- (void)setupBlurView{ + for (NSInteger index = 0; index < 4; index++) { + [self addCircleIndex:index]; + } + UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:self.bounds]; + [toolbar setBarStyle:UIBarStyleDefault]; + [self addSubview:toolbar]; + [toolbar mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self); + }]; + _blurView = toolbar; +} + +- (void)addCircleIndex:(NSInteger)index{ + static NSArray *colorList; + static NSArray *pointList; + if (!colorList) {//背景色列表 + CGFloat alpha = .9; + colorList = @[ + [UIColor colorWithHexString:@"0xC9F1DD" andAlpha:alpha], + [UIColor colorWithHexString:@"0x43CD87" andAlpha:alpha], + [UIColor colorWithHexString:@"0x76A6D9" andAlpha:alpha], + // [UIColor colorWithHexString:@"0x7991B2" andAlpha:alpha], + ]; + } + if (!pointList) {//center 列表 + pointList = @[ + [NSValue valueWithCGPoint:CGPointMake(kScreen_Width * .4, kScreen_Height * .2)], + [NSValue valueWithCGPoint:CGPointMake(kScreen_Width * .2, kScreen_Height * .6)], + [NSValue valueWithCGPoint:CGPointMake(kScreen_Width * .9, kScreen_Height * .5)], + // [NSValue valueWithCGPoint:CGPointMake(kScreen_Width * .7, kScreen_Height * .9)], + ]; + } + if (index < 0 || index >= MIN(colorList.count, pointList.count)) { + return; + } + if (!_circleList) { + _circleList = @[].mutableCopy; + } + CGFloat circleWidth = kScreen_Width; + UIView *circleV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, circleWidth, circleWidth)]; + circleV.backgroundColor = colorList[index]; + circleV.clipsToBounds = YES; + circleV.layer.cornerRadius = circleWidth / 2; + [self addSubview:circleV]; + [_circleList addObject:circleV]; + + CGFloat animationWidth = kScreen_Width * .3; + UIBezierPath *bezierPath = [UIBezierPath new]; + CGPoint originP = pointList[index].CGPointValue; + originP.y += kScreen_Height * .4; + [bezierPath moveToPoint:originP]; + [bezierPath addLineToPoint:CGPointMake(originP.x + animationWidth, originP.y)]; + [bezierPath addLineToPoint:CGPointMake(originP.x + animationWidth, originP.y + animationWidth)]; + [bezierPath addLineToPoint:CGPointMake(originP.x, originP.y + animationWidth)]; + [bezierPath addLineToPoint:CGPointMake(originP.x, originP.y)]; + + CAKeyframeAnimation *animation = [CAKeyframeAnimation animation]; + animation.keyPath = @"position"; + animation.duration = 15.0; + animation.path = bezierPath.CGPath; + animation.repeatCount = INFINITY; + animation.timeOffset = ((CGFloat)index)/ (colorList.count) * animation.duration; + [circleV.layer addAnimation:animation forKey:nil]; +} + +- (void)setCurItem:(IntroductionItem *)curItem{ + if (_curItem == curItem) { + return; + } + if (!_curItem.isHomePage && !curItem.isHomePage) { + _curItem = curItem; + }else{ + YLGIFImage *preImage = (YLGIFImage *)[YLGIFImage imageNamed:[NSString stringWithFormat:@"%@_down.gif", _curItem.imagePrefix]]; + _curItem = curItem; + if (_curItem.isHomePage) { + _titleL.attributedText = self.attrTitle; + _contentL.attributedText = self.attrContent; + } + CGFloat nextAlpha = _curItem.isHomePage? 1.0: 0; + if (fabs(self.alpha - nextAlpha) > .1) { + CGFloat circleDuration = .3; + if (nextAlpha > .1) { + self.alpha = nextAlpha; + [UIView animateWithDuration:kIntroductionView_AnimateDuration - circleDuration delay:preImage.totalDuration options:UIViewAnimationOptionCurveEaseInOut animations:^{ + _titleL.alpha = _contentL.alpha = _blurView.alpha = nextAlpha; + } completion:^(BOOL finished) { + [UIView animateWithDuration:circleDuration animations:^{ + [_circleList setValue:@(nextAlpha) forKey:@"alpha"]; + }]; + }]; + }else{ + [UIView animateWithDuration:circleDuration animations:^{ + [_circleList setValue:@(nextAlpha) forKey:@"alpha"]; + } completion:^(BOOL finished) { + [UIView animateWithDuration:kIntroductionView_AnimateDuration - circleDuration animations:^{ + _titleL.alpha = _contentL.alpha = _blurView.alpha = nextAlpha; + } completion:^(BOOL finished) { + self.alpha = nextAlpha; + }]; + }]; + } + } + } +} + +- (NSAttributedString *)attrTitle{ + NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:_curItem.title]; + NSString *colorStr = [_curItem.title componentsSeparatedByString:@"\n"].lastObject; + [attrStr addAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:(kDevice_Use_iPhone4_Layout || kDevice_Is_iPhone5)? 30: 34], + NSForegroundColorAttributeName : kColorLightBlue} + range:[_curItem.title rangeOfString:colorStr]]; + NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; + paragraphStyle.minimumLineHeight = paragraphStyle.maximumLineHeight = 45; + paragraphStyle.alignment = NSTextAlignmentJustified; + [attrStr addAttributes:@{NSParagraphStyleAttributeName : paragraphStyle} + range:NSMakeRange(0, _curItem.title.length)]; + return attrStr; +} + +- (NSAttributedString *)attrContent{ + NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:_curItem.content]; + NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new]; + paragraphStyle.minimumLineHeight = paragraphStyle.maximumLineHeight = 28; + paragraphStyle.alignment = NSTextAlignmentJustified; + [attrStr addAttributes:@{NSParagraphStyleAttributeName : paragraphStyle} + range:NSMakeRange(0, _curItem.content.length)]; + return attrStr; +} + +@end + +@interface IntroductionIndexPage () +@property (strong, nonatomic) UILabel *titleL, *contentL; +@property (strong, nonatomic) YLImageView *imageV; +@end + +@implementation IntroductionIndexPage + +- (instancetype)init{ + self = [super init]; + if (self) { + self.alpha = 0; + _imageV = [YLImageView new]; + _titleL = [UILabel labelWithFont:[UIFont systemFontOfSize:21 weight:UIFontWeightMedium] textColor:kColorDark4]; + _contentL = [UILabel labelWithFont:[UIFont systemFontOfSize:(kDevice_Use_iPhone4_Layout || kDevice_Is_iPhone5)? 15: 17] textColor:kColorDark4]; + [self addSubview:_imageV]; + [self addSubview:_titleL]; + [self addSubview:_contentL]; + [_imageV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self).offset(60); + make.centerX.equalTo(self); + make.size.mas_equalTo(CGSizeMake((462 / 2.0) * (kScreen_Height / 667), (390 / 2.0) * (kScreen_Height / 667))); + }]; + [_titleL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_imageV.mas_bottom).offset(0); + make.centerX.equalTo(self); + }]; + [_contentL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_titleL.mas_bottom).offset(10); + make.centerX.equalTo(self); + }]; + } + return self; +} + +- (void)setCurItem:(IntroductionItem *)curItem{ + if (_curItem == curItem) { + return; + } + YLGIFImage *preImage = (YLGIFImage *)[YLGIFImage imageNamed:[NSString stringWithFormat:@"%@_down.gif", _curItem.imagePrefix]]; + YLGIFImage *nextImage = (YLGIFImage *)[YLGIFImage imageNamed:[NSString stringWithFormat:@"%@_up.gif", curItem.imagePrefix]]; + preImage.loopCount = nextImage.loopCount = 1; + BOOL isHomeOrIndexNeedChange = (_curItem.isHomePage != curItem.isHomePage); + + _curItem = curItem; + + if (isHomeOrIndexNeedChange) {//Index 和 Home Page 之间的切换 + YLGIFImage *gifImage = preImage ?: nextImage; + CGFloat nextAlpha = _curItem.isHomePage? 0: 1.0; + if (!_curItem.isHomePage) { + _titleL.text = _curItem.title; + _contentL.text = _curItem.content; + } + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((nextAlpha > .1? kIntroductionView_AnimateDuration: 0) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + _imageV.image = gifImage; + }); + [UIView animateWithDuration:gifImage.totalDuration delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ + self.alpha = nextAlpha; + } completion:nil]; + }else{ + _imageV.image = preImage; + [UIView animateWithDuration:preImage.totalDuration animations:^{ + _titleL.alpha = _contentL.alpha = 0; + } completion:^(BOOL finished) { + _imageV.image = nextImage; + _titleL.text = _curItem.title; + _contentL.text = _curItem.content; + [UIView animateWithDuration:nextImage.totalDuration animations:^{ + _titleL.alpha = _contentL.alpha = 1.0; + }]; + }]; + } +} + +@end + +@implementation IntroductionItem + ++ (instancetype)itemWithTitle:(NSString *)title content:(NSString *)content imagePrefix:(NSString *)imagePrefix{ + IntroductionItem *item = [self new]; + item.title = title; + item.content = content; + item.imagePrefix = imagePrefix; + return item; +} + +@end + +#else + #import "IntroductionViewController.h" #import "LoginViewController.h" #import "RegisterViewController.h" @@ -47,13 +517,13 @@ - (instancetype)init @"6_image" : @"intro_tip_5", } mutableCopy]; -// _iconsDict = [NSMutableDictionary new]; -// _tipsDict = [NSMutableDictionary new]; -// for (int i = 0; i < self.numberOfPages; i++) { -// NSString *imageKey = [self imageKeyForIndex:i]; -// [_iconsDict setObject:[NSString stringWithFormat:@"intro_icon_%d", i] forKey:imageKey]; -// [_tipsDict setObject:[NSString stringWithFormat:@"intro_tip_%d", i] forKey:imageKey]; -// } + // _iconsDict = [NSMutableDictionary new]; + // _tipsDict = [NSMutableDictionary new]; + // for (int i = 0; i < self.numberOfPages; i++) { + // NSString *imageKey = [self imageKeyForIndex:i]; + // [_iconsDict setObject:[NSString stringWithFormat:@"intro_icon_%d", i] forKey:imageKey]; + // [_tipsDict setObject:[NSString stringWithFormat:@"intro_tip_%d", i] forKey:imageKey]; + // } } return self; @@ -71,7 +541,7 @@ - (NSString *)viewKeyForIndex:(NSInteger)index{ - (void)viewDidLoad { [super viewDidLoad]; - + self.view.backgroundColor = [UIColor colorWithHexString:@"0xf1f1f1"]; [self configureViews]; @@ -89,7 +559,7 @@ - (void)viewWillDisappear:(BOOL)animated{ #pragma mark - Orientations - (BOOL)shouldAutorotate{ - return UIInterfaceOrientationIsLandscape(self.interfaceOrientation); + return UIInterfaceOrientationIsLandscape(UIApplication.sharedApplication.statusBarOrientation); } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { @@ -115,13 +585,13 @@ - (void)scrollViewDidScroll:(UIScrollView *)scrollView #pragma Views - (void)configureViews{ [self configureButtonsAndPageControl]; - + CGFloat scaleFactor = 1.0; CGFloat desginHeight = 667.0;//iPhone6 的设计尺寸 - if (!kDevice_Is_iPhone6 && !kDevice_Is_iPhone6Plus) { + if (!kDevice_Is_iPhone6 && !kDevice_Is_iPhone6Plus && !kDevice_Is_FullScreen) { scaleFactor = kScreen_Height/desginHeight; } - + for (int i = 0; i < self.numberOfPages; i++) { NSString *imageKey = [self imageKeyForIndex:i]; NSString *viewKey = [self viewKeyForIndex:i]; @@ -151,12 +621,12 @@ - (void)configureViews{ } - (void)configureButtonsAndPageControl{ -// Button - UIColor *darkColor = kColorBrandGreen; + // Button + UIColor *darkColor = kColorBrandBlue; CGFloat buttonWidth = kScreen_Width * 0.4; CGFloat buttonHeight = kScaleFrom_iPhone5_Desgin(38); CGFloat paddingToCenter = kScaleFrom_iPhone5_Desgin(10); - CGFloat paddingToBottom = kScaleFrom_iPhone5_Desgin(20); + CGFloat paddingToBottom = kScaleFrom_iPhone5_Desgin(20) + kSafeArea_Bottom; self.registerBtn = ({ UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; @@ -201,10 +671,10 @@ - (void)configureButtonsAndPageControl{ make.bottom.equalTo(self.view).offset(-paddingToBottom); }]; -// PageControl + // PageControl UIImage *pageIndicatorImage = [UIImage imageNamed:@"intro_dot_unselected"]; UIImage *currentPageIndicatorImage = [UIImage imageNamed:@"intro_dot_selected"]; - + if (!kDevice_Is_iPhone6 && !kDevice_Is_iPhone6Plus) { CGFloat desginWidth = 375.0;//iPhone6 的设计尺寸 CGFloat scaleFactor = kScreen_Width/desginWidth; @@ -265,7 +735,7 @@ - (void)configureTipAndTitleViewAnimations{ } if (tipView) { [self keepView:tipView onPages:@[@(index +1), @(index), @(index-1)] atTimes:@[@(index - 1), @(index), @(index +1)]]; - + IFTTTAlphaAnimation *tipAlphaAnimation = [IFTTTAlphaAnimation animationWithView:tipView]; [tipAlphaAnimation addKeyframeForTime:index -0.5 alpha:0.f]; [tipAlphaAnimation addKeyframeForTime:index alpha:1.f]; @@ -283,15 +753,18 @@ - (void)configureTipAndTitleViewAnimations{ #pragma mark Action - (void)registerBtnClicked{ RegisterViewController *vc = [RegisterViewController vcWithMethodType:RegisterMethodPhone registerObj:nil]; - UINavigationController *nav = [[BaseNavigationController alloc] initWithRootViewController:vc]; + UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; [self presentViewController:nav animated:YES completion:nil]; } - (void)loginBtnClicked{ LoginViewController *vc = [[LoginViewController alloc] init]; vc.showDismissButton = YES; - UINavigationController *nav = [[BaseNavigationController alloc] initWithRootViewController:vc]; + UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; [self presentViewController:nav animated:YES completion:nil]; } @end + +#endif + diff --git a/Coding_iOS/Controllers/Login/LoginViewController.m b/Coding_iOS/Controllers/Login/LoginViewController.m index a44cf87dd..27ad9aaa6 100644 --- a/Coding_iOS/Controllers/Login/LoginViewController.m +++ b/Coding_iOS/Controllers/Login/LoginViewController.m @@ -23,6 +23,473 @@ #import "Ease_2FA.h" #import "Login2FATipCell.h" +#import + +#ifdef Target_Enterprise + +typedef NS_ENUM(NSUInteger, LoginStep) { + LoginStepCompany = 0, + LoginStepPassword, + LoginStep2FA, +}; + +@interface LoginViewController () +@property (strong, nonatomic) TPKeyboardAvoidingTableView *myTableView; +@property (strong, nonatomic) UIButton *backBtn, *rightNavBtn, *nextBtn, *cannotLoginBtn; +@property (strong, nonatomic) UIActivityIndicatorView *activityIndicator; + +@property (assign, nonatomic) LoginStep step; +@property (nonatomic, strong) Login *myLogin; +@property (strong, nonatomic) NSString *otpCode; +@property (assign, nonatomic) BOOL captchaNeeded; +@property (assign, nonatomic, readonly) BOOL isPrivateCloud; +@end + + +@implementation LoginViewController + +#pragma mark Life +- (void)viewDidLoad{ + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = @"登录"; + if (_step == LoginStepCompany) { + self.myLogin.company = self.isPrivateCloud? [NSObject privateCloud]: ([Login curLoginCompany].global_key ?: [NSObject baseCompany]); + [self addChangeBaseURLGesture]; + }else if (_step == LoginStepPassword){ + self.myLogin.email = [Login preUserEmail]; + [self refreshCaptchaNeeded]; + }else if (_step == LoginStep2FA){ + self.otpCode = [OTPListViewController otpCodeWithGK:self.myLogin.email]; + if (self.otpCode) {//发送登录请求 + [self loginBtnClicked]; + } + } + self.myTableView.tableHeaderView = [self customHeaderView]; + self.myTableView.tableFooterView=[self customFooterView]; + [self.navigationController addFullscreenPopGesture]; + [self setupNavBtn]; + +#if DEBUG + if (self.isPrivateCloud) { + self.myLogin.email = @"ce-admin"; + self.myLogin.company = @"http://pd.codingprod.net"; + self.myLogin.password = @"123123"; + } +#endif +} + + + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [self.myTableView reloadData]; + [self.navigationController setNavigationBarHidden:YES animated:YES]; +} + +- (void)viewWillDisappear:(BOOL)animated{ + [super viewWillDisappear:animated]; + [self.view endEditing:YES]; +} + +- (void)setupNavBtn{ + if (_step > LoginStepCompany || self.showDismissButton) { + [self backBtn]; + } + [self rightNavBtn]; +} + +- (void)refreshCaptchaNeeded{ + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_CaptchaNeededWithPath:@"api/captcha/login" andBlock:^(id data, NSError *error) { + if (data) { + weakSelf.captchaNeeded = ((NSNumber *)data).boolValue; + } + }]; +} + +#pragma mark Get Set +- (Login *)myLogin{ + if (!_myLogin) { + _myLogin = [Login new]; + } + return _myLogin; +} + +- (BOOL)isPrivateCloud{ + return [NSObject isPrivateCloud].boolValue; +} + +- (void)setCaptchaNeeded:(BOOL)captchaNeeded{ + _captchaNeeded = captchaNeeded; + if (!captchaNeeded) { + self.myLogin.j_captcha = nil; + } + [self.myTableView reloadData]; +} + +- (TPKeyboardAvoidingTableView *)myTableView{ + if (!_myTableView) { + _myTableView = ({ + TPKeyboardAvoidingTableView *tableView = [[TPKeyboardAvoidingTableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; + [tableView registerClass:[Login2FATipCell class] forCellReuseIdentifier:kCellIdentifier_Login2FATipCell]; + [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Text]; + [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Captcha]; + [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Company]; + tableView.backgroundColor = [UIColor whiteColor]; + tableView.dataSource = self; + tableView.delegate = self; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + tableView; + }); + } + return _myTableView; +} + +- (UIButton *)backBtn{ + if (!_backBtn) { + _backBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, kSafeArea_Top, 44, 44)]; + [button setImage:[UIImage imageNamed:@"back_green_Nav"] forState:UIControlStateNormal]; + button.tintColor = kColorLightBlue; + [button setImage:[[UIImage imageNamed:@"back_green_Nav"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; + [button addTarget:self action:@selector(backBtnClicked) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:button]; + button; + }); + } + return _backBtn; +} + +- (UIButton *)rightNavBtn{ + if (!_rightNavBtn) { + if (!_rightNavBtn) { + _rightNavBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kScreen_Width - 130, kSafeArea_Top, 120, 50)]; + button.backgroundColor = [UIColor whiteColor]; + [button.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [button setTitleColor:kColorLightBlue forState:UIControlStateNormal]; + [button setTitleColor:[UIColor colorWithHexString:@"0x0060FF" andAlpha:.5] forState:UIControlStateHighlighted]; + button.tintColor = kColorBrandBlue; + [button addTarget:self action:@selector(rightNavBtnClicked) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:button]; + button; + }); + } + if (_step == LoginStep2FA) { + [_rightNavBtn setTitle:@"关闭两步验证" forState:UIControlStateNormal]; + [_rightNavBtn setImage:nil forState:UIControlStateNormal]; + _rightNavBtn.hidden = [NSObject isPrivateCloud].boolValue; + }else{ + [_rightNavBtn setTitle:@" 两步验证" forState:UIControlStateNormal]; + [_rightNavBtn setImage:[[UIImage imageNamed:@"twoFABtn_Nav"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; + } + } + return _rightNavBtn; +} + +- (UIActivityIndicatorView *)activityIndicator{ + if (!_activityIndicator) { + _activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhite]; + _activityIndicator.hidesWhenStopped = YES; + [_nextBtn addSubview:_activityIndicator]; + } + [_activityIndicator setCenter:CGPointMake(_nextBtn.width/2 - 40, _nextBtn.height/2)]; + return _activityIndicator; +} + +#pragma mark - Table Header Footer +- (UIView *)customHeaderView{ + UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 44 + (_step == LoginStepPassword? 100: 60))]; + UILabel *headerL = [UILabel labelWithSystemFontSize:28 textColorHexString:@"0x272C33"]; + if (_step == LoginStepPassword) { + [headerL ea_setText:[NSString stringWithFormat:@"登录到\n%@", [NSURL URLWithString:[NSObject baseURLStr]].host] lineSpacing:5]; + }else{ + headerL.text = (_step == LoginStepCompany? (self.isPrivateCloud? @"私有部署账号登录": + @"企业账号登录"): + @"两步验证"); + } + [headerV addSubview:headerL]; + [headerL mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(headerV).offset(20); + make.bottom.equalTo(headerV); + make.height.mas_equalTo(_step == LoginStepPassword? 80: 40); + }]; + return headerV; +} + +- (UIView *)customFooterView{ + UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 100)]; + _nextBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kLoginPaddingLeftWidth, (_step == LoginStepPassword? 50: 25), kScreen_Width-kLoginPaddingLeftWidth*2, 50)]; + button.backgroundColor = kColorDark4; + button.titleLabel.font = [UIFont systemFontOfSize:17 weight:UIFontWeightMedium]; + [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [button setTitle:(_step == LoginStepCompany? @"下一步": @"登录") forState:UIControlStateNormal]; + button.layer.masksToBounds = YES; + button.layer.cornerRadius = 2.0; + [button addTarget:self action:@selector(loginBtnClicked) forControlEvents:UIControlEventTouchUpInside]; + [footerV addSubview:button]; + button; + }); + [RACObserve(self, nextBtn.enabled) subscribeNext:^(NSNumber *x) { + [self.nextBtn setTitleColor:[UIColor colorWithWhite:1.0 alpha:x.boolValue? 1.0: .5] forState:UIControlStateNormal]; + }]; + RAC(self, nextBtn.alpha) = [RACObserve(self, nextBtn.enabled) map:^id(NSNumber *value) { + return @(value.boolValue? 1.0: .99); + }]; + if (_step == LoginStepCompany) { + RAC(self, nextBtn.enabled) = [RACObserve(self, myLogin.company) map:^id(NSString *value) { + return @(value.length > 0); + }]; + }else if (_step == LoginStepPassword){ + _cannotLoginBtn = ({ + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kScreen_Width - 120, 10, 100, 30)]; + button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; + [button.titleLabel setFont:[UIFont systemFontOfSize:14]]; + [button setTitleColor:kColorLightBlue forState:UIControlStateNormal]; + [button setTitle:@"忘记密码?" forState:UIControlStateNormal]; + [button addTarget:self action:@selector(cannotLoginBtnClicked) forControlEvents:UIControlEventTouchUpInside]; + [footerV addSubview:button]; + button; + }); + RAC(self, nextBtn.enabled) = [RACSignal combineLatest:@[RACObserve(self, myLogin.email), + RACObserve(self, myLogin.password), + RACObserve(self, myLogin.j_captcha), + RACObserve(self, captchaNeeded)] + reduce:^id(NSString *email, + NSString *password, + NSString *j_captcha, + NSNumber *captchaNeeded){ + return @(email.length > 0 && password.length > 0 && (j_captcha.length > 0 || !captchaNeeded.boolValue)); + }]; + }else if (_step == LoginStep2FA){ + RAC(self, nextBtn.enabled) = [RACObserve(self, otpCode) map:^id(NSString *value) { + return @(value.length > 0); + }]; + } + return footerV; +} + +#pragma mark - Table Data +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return (_step == LoginStepCompany? 1: + _step == LoginStepPassword? (_captchaNeeded? 3: 2): + _step == LoginStep2FA? 2: + 0); +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + NSInteger row = indexPath.row; + if (_step == LoginStep2FA && row == 0) { + Login2FATipCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_Login2FATipCell forIndexPath:indexPath]; + cell.tipLabel.text = @"您的账户开启了两步验证,请输入动态验证码登录"; + return cell; + }else{ + NSString *identifier = (_step == LoginStepCompany? (self.isPrivateCloud? kCellIdentifier_Input_OnlyText_Cell_Text: + kCellIdentifier_Input_OnlyText_Cell_Company): + _step == LoginStepPassword? (row < 2? kCellIdentifier_Input_OnlyText_Cell_Text: + kCellIdentifier_Input_OnlyText_Cell_Captcha): + kCellIdentifier_Input_OnlyText_Cell_Text); + Input_OnlyText_Cell *cell = [tableView dequeueReusableCellWithIdentifier:identifier forIndexPath:indexPath]; + cell.isBottomLineShow = YES; + __weak typeof(self) weakSelf = self; + if (_step == LoginStepCompany) { + [cell setPlaceholder:self.isPrivateCloud? @" 请输入私有部署域名": @" 请输入企业域名前缀" value:self.myLogin.company]; + if (!self.isPrivateCloud) { + cell.companySuffixL.text = [NSString stringWithFormat:@".%@", [NSObject baseCompanySuffixStr]]; + }else{ + cell.textField.keyboardType = UIKeyboardTypeURL; + } + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myLogin.company = valueStr; + }; + }else if (_step == LoginStepPassword){ + if (row == 0) { + cell.textField.keyboardType = UIKeyboardTypeEmailAddress; + [cell setPlaceholder:@" 邮箱或用户名" value:self.myLogin.email]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myLogin.email = valueStr; + }; + }else if (row == 1){ + [cell setPlaceholder:@" 密码" value:self.myLogin.password]; + cell.textField.secureTextEntry = YES; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myLogin.password = valueStr; + }; + }else{ + [cell setPlaceholder:@" 验证码" value:self.myLogin.j_captcha]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myLogin.j_captcha = valueStr; + }; + } + }else if (_step == LoginStep2FA){ + cell.textField.keyboardType = UIKeyboardTypeNumberPad; + [cell setPlaceholder:@" 动态验证码" value:self.otpCode]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.otpCode = valueStr; + }; + } + return cell; + } +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + return 65.0; +} + +#pragma mark Btn Clicked + +- (void)backBtnClicked{ + if (self.navigationController.viewControllers.count > 1) { + [self.navigationController popViewControllerAnimated:YES]; + }else{ + [self dismissViewControllerAnimated:YES completion:nil]; + } +} + +- (void)rightNavBtnClicked{ + if (_step == LoginStep2FA) { + __weak typeof(self) weakSelf = self; + UIViewController *vc = [Close2FAViewController vcWithPhone:self.myLogin.email sucessBlock:^(UIViewController *vc) { + [weakSelf.navigationController popToViewController:weakSelf.navigationController.viewControllers[1] animated:YES]; + }]; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + OTPListViewController *vc = [OTPListViewController new]; + [self.navigationController pushViewController:vc animated:YES]; + } +} + +- (void)cannotLoginBtnClicked{ + UIViewController *vc = [CannotLoginViewController vcWithMethodType:CannotLoginMethodEamil stepIndex:1 userStr:[self.myLogin.email isEmail]? self.myLogin.email: nil]; + [self.navigationController pushViewController:vc animated:YES]; +} + +- (void)loginBtnClicked{ + [self.view endEditing:YES]; + [self.activityIndicator startAnimating]; + _nextBtn.enabled = NO; + __weak typeof(self) weakSelf = self; + void (^endLoadingBlock)() = ^(){ + [weakSelf.activityIndicator stopAnimating]; + weakSelf.nextBtn.enabled = YES; + }; + if (_step == LoginStepCompany) { + [NSObject changeBaseCompanyTo:self.myLogin.company]; + [[Coding_NetAPIManager sharedManager] request_CompanyExist:[NSObject baseCompany] andBlock:^(id data, NSError *error) { + endLoadingBlock(); + if (error) { + if (error.code == 1){//企业不存在 + [NSObject showHudTipStr:weakSelf.isPrivateCloud? @"请正确填写私有部署域名": @"请正确填写企业域名"]; + }else{ + [NSObject showError:error]; + } + }else{ + NSDictionary *dataBody = [data objectForKey:@"data"]; + NSDictionary *settings = [dataBody objectForKey:@"settings"]; + BOOL ssoEnabled = [[settings objectForKey:@"ssoEnabled"] boolValue]; + NSString *ssoType = [settings objectForKey:@"ssoType"]; + self.myLogin.ssoType = ssoType; + self.myLogin.ssoEnabled = ssoEnabled; + [weakSelf goToNextStep]; + } + }]; + }else if (_step == LoginStepPassword){ + [[Coding_NetAPIManager sharedManager] request_Login_WithPath:[self.myLogin toPath] Params:[self.myLogin toParams] andBlock:^(id data, NSError *error) { + endLoadingBlock(); + if (data) { + [Login setPreUserEmail:weakSelf.myLogin.email];//记住登录账号 + [((AppDelegate *)[UIApplication sharedApplication].delegate) setupTabViewController]; + }else{ + NSString *global_key = error.userInfo[@"msg"][@"two_factor_auth_code_not_empty"]; + if (global_key.length > 0) { + weakSelf.myLogin.email = global_key; + [weakSelf goToNextStep]; + }else if (error.userInfo[@"msg"][@"user_need_activate"]){ + [NSObject showError:error]; + ActivateViewController *vc = [ActivateViewController new]; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + [NSObject showError:error]; + [weakSelf refreshCaptchaNeeded]; + } + } + }]; + }else if (_step == LoginStep2FA){ + [[Coding_NetAPIManager sharedManager] request_Login_With2FA:self.otpCode andBlock:^(id data, NSError *error) { + endLoadingBlock(); + if (data) { + [Login setPreUserEmail:self.myLogin.email];//记住登录账号 + [((AppDelegate *)[UIApplication sharedApplication].delegate) setupTabViewController]; + }else{ + NSString *status_expired = error.userInfo[@"msg"][@"user_login_status_expired"]; + if (status_expired.length > 0) {//登录状态过期了,返回上个页面重新密码登录 + [weakSelf.navigationController popViewControllerAnimated:YES]; + } + } + }]; + }else{ + endLoadingBlock(); + } +} + +- (void)goToNextStep{ + LoginViewController *vc = [LoginViewController new]; + vc.myLogin = _myLogin; + vc.step = _step + 1; + [self.navigationController pushViewController:vc animated:YES]; +} + +#pragma mark 切换服务器手势 - 不停地 tap + +- (void)addChangeBaseURLGesture{ + @weakify(self); + UITapGestureRecognizer *tapGR = [UITapGestureRecognizer bk_recognizerWithHandler:^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) { + @strongify(self); + if (state == UIGestureRecognizerStateRecognized) { + [self changeBaseURLTip]; + } + }]; + tapGR.numberOfTapsRequired = 10.0; + [self.view addGestureRecognizer:tapGR]; +} + +- (void)changeBaseURLTip{ + if ([UIDevice currentDevice].systemVersion.integerValue < 8) { + [NSObject showHudTipStr:@"需要 8.0 以上系统才能切换服务器地址"]; + return; + } + UIAlertController *alertCtrl = [UIAlertController alertControllerWithTitle:@"更改服务器 URL" message:@"空白值可切换回生产环境\n" preferredStyle:UIAlertControllerStyleAlert]; + + UIAlertAction *cancelA = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; + __weak typeof(self) weakSelf = self; + UIAlertAction *confirmA = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { + NSString *newBaseCompanySuffixStr = alertCtrl.textFields[0].text; + if ([newBaseCompanySuffixStr.uppercaseString isEqualToString:@"S"]) { + newBaseCompanySuffixStr = @"coding.codingprod.net"; + } + [NSObject changeBaseCompanySuffixStrTo:newBaseCompanySuffixStr]; + [weakSelf.myTableView reloadData]; + }]; + [alertCtrl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) { + textField.placeholder = @"CODING 服务器地址"; + textField.text = [NSObject baseCompanySuffixStr]; + }]; + [alertCtrl addAction:cancelA]; + [alertCtrl addAction:confirmA]; + [self presentViewController:alertCtrl animated:YES completion:nil]; +} + +@end + +#else + + @interface LoginViewController () @property (nonatomic, strong) Login *myLogin; @@ -31,9 +498,9 @@ @interface LoginViewController () @property (assign, nonatomic) BOOL captchaNeeded; -@property (strong, nonatomic) UIButton *loginBtn, *buttonFor2FA, *cannotLoginBtn; +@property (strong, nonatomic) UIButton *loginBtn, *buttonFor2FA, *underLoginBtn; @property (strong, nonatomic) UIActivityIndicatorView *activityIndicator; -@property (strong, nonatomic) UIImageView *iconUserView, *bgBlurredView; +//@property (strong, nonatomic) UIImageView *iconUserView, *bgBlurredView; @property (strong, nonatomic) EaseInputTipsView *inputTipsView; @property (strong, nonatomic) UIButton *dismissButton; @@ -56,26 +523,31 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. - + self.myLogin = [[Login alloc] init]; self.myLogin.email = [Login preUserEmail]; _captchaNeeded = NO; - + self.view.backgroundColor = kColorWhite; + [self.navigationController.navigationBar setupClearBGStyle]; + // 添加myTableView _myTableView = ({ TPKeyboardAvoidingTableView *tableView = [[TPKeyboardAvoidingTableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; [tableView registerClass:[Login2FATipCell class] forCellReuseIdentifier:kCellIdentifier_Login2FATipCell]; [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Text]; [tableView registerClass:[Input_OnlyText_Cell class] forCellReuseIdentifier:kCellIdentifier_Input_OnlyText_Cell_Captcha]; - - tableView.backgroundView = self.bgBlurredView; + + // tableView.backgroundView = self.bgBlurredView; tableView.dataSource = self; tableView.delegate = self; tableView.separatorStyle = UITableViewCellSeparatorStyleNone; [self.view addSubview:tableView]; [tableView mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(self.view); + make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(kSafeArea_Top, 0, 0, 0)); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); @@ -86,19 +558,19 @@ - (void)viewDidLoad [self buttonFor2FA]; [self refreshCaptchaNeeded]; - [self refreshIconUserImage]; + // [self refreshIconUserImage]; } - (UIButton *)buttonFor2FA{ if (!_buttonFor2FA) { _buttonFor2FA = ({ - UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kScreen_Width - 100, 20, 90, 50)]; - [button.titleLabel setFont:[UIFont systemFontOfSize:13]]; - [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; - [button setTitleColor:[UIColor colorWithWhite:1.0 alpha:0.5] forState:UIControlStateHighlighted]; - + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kScreen_Width - 115, kSafeArea_Top, 100, 50)]; + [button.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [button setTitleColor:kColorBrandBlue forState:UIControlStateNormal]; + [button setTitleColor:[UIColor colorWithHexString:@"0x0060FF" andAlpha:.5] forState:UIControlStateHighlighted]; + button.tintColor = kColorBrandBlue; [button setTitle:@" 两步验证" forState:UIControlStateNormal]; - [button setImage:[UIImage imageNamed:@"twoFABtn_Nav"] forState:UIControlStateNormal]; + [button setImage:[[UIImage imageNamed:@"twoFABtn_Nav"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; button; }); [_buttonFor2FA addTarget:self action:@selector(goTo2FAVC) forControlEvents:UIControlEventTouchUpInside]; @@ -114,29 +586,29 @@ - (void)setCaptchaNeeded:(BOOL)captchaNeeded{ } } -- (UIImageView *)bgBlurredView{ - if (!_bgBlurredView) { - //背景图片 - UIImageView *bgView = [[UIImageView alloc] initWithFrame:kScreen_Bounds]; - bgView.contentMode = UIViewContentModeScaleAspectFill; - UIImage *bgImage = [[StartImagesManager shareManager] curImage].image; - - CGSize bgImageSize = bgImage.size, bgViewSize = bgView.frame.size; - if (bgImageSize.width > bgViewSize.width && bgImageSize.height > bgViewSize.height) { - bgImage = [bgImage scaleToSize:bgViewSize usingMode:NYXResizeModeAspectFill]; - } - bgImage = [bgImage applyLightEffectAtFrame:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)]; - bgView.image = bgImage; - //黑色遮罩 - UIColor *blackColor = [UIColor blackColor]; - [bgView addGradientLayerWithColors:@[(id)[blackColor colorWithAlphaComponent:0.3].CGColor, - (id)[blackColor colorWithAlphaComponent:0.3].CGColor] - locations:nil - startPoint:CGPointMake(0.5, 0.0) endPoint:CGPointMake(0.5, 1.0)]; - _bgBlurredView = bgView; - } - return _bgBlurredView; -} +//- (UIImageView *)bgBlurredView{ +// if (!_bgBlurredView) { +// //背景图片 +// UIImageView *bgView = [[UIImageView alloc] initWithFrame:kScreen_Bounds]; +// bgView.contentMode = UIViewContentModeScaleAspectFill; +// UIImage *bgImage = [[StartImagesManager shareManager] curImage].image; +// +// CGSize bgImageSize = bgImage.size, bgViewSize = bgView.frame.size; +// if (bgImageSize.width > bgViewSize.width && bgImageSize.height > bgViewSize.height) { +// bgImage = [bgImage scaleToSize:bgViewSize usingMode:NYXResizeModeAspectFill]; +// } +// bgImage = [bgImage applyLightEffectAtFrame:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)]; +// bgView.image = bgImage; +// //黑色遮罩 +// UIColor *blackColor = [UIColor blackColor]; +// [bgView addGradientLayerWithColors:@[(id)[blackColor colorWithAlphaComponent:0.3].CGColor, +// (id)[blackColor colorWithAlphaComponent:0.3].CGColor] +// locations:nil +// startPoint:CGPointMake(0.5, 0.0) endPoint:CGPointMake(0.5, 1.0)]; +// _bgBlurredView = bgView; +// } +// return _bgBlurredView; +//} - (void)refreshCaptchaNeeded{ @@ -168,11 +640,11 @@ - (void)viewDidAppear:(BOOL)animated{ tipsView.selectedStringBlock = ^(NSString *valueStr){ [weakSelf.view endEditing:YES]; weakSelf.myLogin.email = valueStr; - [weakSelf refreshIconUserImage]; + // [weakSelf refreshIconUserImage]; [weakSelf.myTableView reloadData]; }; UITableViewCell *cell = [_myTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; - [tipsView setY:CGRectGetMaxY(cell.frame) - 0.5]; + [tipsView setY:CGRectGetMaxY(cell.frame)]; [_myTableView addSubview:tipsView]; tipsView; @@ -188,8 +660,9 @@ - (void)viewWillDisappear:(BOOL)animated{ - (void)showdismissButton:(BOOL)willShow{ self.dismissButton.hidden = !willShow; if (!self.dismissButton && willShow) { - self.dismissButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 20, 50, 50)]; - [self.dismissButton setImage:[UIImage imageNamed:@"dismissBtn_Nav"] forState:UIControlStateNormal]; + self.dismissButton = [[UIButton alloc] initWithFrame:CGRectMake(0, kSafeArea_Top, 50, 50)]; + self.dismissButton.tintColor = kColorBrandBlue; + [self.dismissButton setImage:[[UIImage imageNamed:@"back_green_Nav"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; [self.dismissButton addTarget:self action:@selector(dismissButtonClicked) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.dismissButton]; } @@ -211,13 +684,12 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N { if (self.is2FAUI && indexPath.row == 0) { Login2FATipCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_Login2FATipCell forIndexPath:indexPath]; - cell.tipLabel.text = @" 您的账户开启了两步验证,请输入动态验证码登录 "; return cell; } Input_OnlyText_Cell *cell = [tableView dequeueReusableCellWithIdentifier:(indexPath.row > 1? kCellIdentifier_Input_OnlyText_Cell_Captcha: kCellIdentifier_Input_OnlyText_Cell_Text) forIndexPath:indexPath]; - cell.isForLoginVC = YES; - + // cell.isForLoginVC = YES; + cell.isBottomLineShow = YES; __weak typeof(self) weakSelf = self; if (self.is2FAUI) { cell.textField.keyboardType = UIKeyboardTypeNumberPad; @@ -228,12 +700,12 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N }else{ if (indexPath.row == 0) { cell.textField.keyboardType = UIKeyboardTypeEmailAddress; - [cell setPlaceholder:@" 手机号码/电子邮箱/个性后缀" value:self.myLogin.email]; + [cell setPlaceholder:@" 手机 / 邮箱 / 用户名" value:self.myLogin.email]; cell.textValueChangedBlock = ^(NSString *valueStr){ weakSelf.inputTipsView.valueStr = valueStr; weakSelf.inputTipsView.active = YES; weakSelf.myLogin.email = valueStr; - [weakSelf refreshIconUserImage]; + // [weakSelf refreshIconUserImage]; }; cell.editDidBeginBlock = ^(NSString *valueStr){ weakSelf.inputTipsView.valueStr = valueStr; @@ -258,51 +730,42 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N return cell; } -- (void)refreshIconUserImage{ - NSString *textStr = self.myLogin.email; - if (textStr) { - User *curUser = [Login userWithGlobaykeyOrEmail:textStr]; - if (curUser && curUser.avatar) { - [self.iconUserView sd_setImageWithURL:[curUser.avatar urlImageWithCodePathResizeToView:self.iconUserView] placeholderImage:[UIImage imageNamed:@"icon_user_monkey"]]; - return; - } +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + if (self.is2FAUI && indexPath.row == 0) { + return 40; } - [self.iconUserView setImage:[UIImage imageNamed:@"icon_user_monkey"]]; + return 65; } +//- (void)refreshIconUserImage{ +// NSString *textStr = self.myLogin.email; +// if (textStr) { +// User *curUser = [Login userWithGlobaykeyOrEmail:textStr]; +// if (curUser && curUser.avatar) { +// [self.iconUserView sd_setImageWithURL:[curUser.avatar urlImageWithCodePathResizeToView:self.iconUserView] placeholderImage:[UIImage imageNamed:@"icon_user_monkey"]]; +// return; +// } +// } +// [self.iconUserView setImage:[UIImage imageNamed:@"icon_user_monkey"]]; +//} + #pragma mark - Table view Header Footer - (UIView *)customHeaderView{ - CGFloat iconUserViewWidth; - if (kDevice_Is_iPhone6Plus) { - iconUserViewWidth = 100; - }else if (kDevice_Is_iPhone6){ - iconUserViewWidth = 90; - }else{ - iconUserViewWidth = 75; - } - - UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, kScreen_Height/3)]; - - _iconUserView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, iconUserViewWidth, iconUserViewWidth)]; - _iconUserView.contentMode = UIViewContentModeScaleAspectFit; - _iconUserView.layer.masksToBounds = YES; - _iconUserView.layer.cornerRadius = _iconUserView.frame.size.width/2; - _iconUserView.layer.borderWidth = 2; - _iconUserView.layer.borderColor = [UIColor whiteColor].CGColor; - - [headerV addSubview:_iconUserView]; - [_iconUserView mas_makeConstraints:^(MASConstraintMaker *make) { - make.size.mas_equalTo(CGSizeMake(iconUserViewWidth, iconUserViewWidth)); - make.centerX.equalTo(headerV); - make.centerY.equalTo(headerV).offset(30); + UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 110)]; + UILabel *headerL = [UILabel labelWithFont:[UIFont systemFontOfSize:30] textColor:kColorDark2]; + headerL.text = self.is2FAUI? @"两步验证": @"登录"; + [headerV addSubview:headerL]; + [headerL mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(kPaddingLeftWidth); + make.bottom.offset(0); + make.height.mas_equalTo(42); }]; - [_iconUserView setImage:[UIImage imageNamed:@"icon_user_monkey"]]; return headerV; } - (UIView *)customFooterView{ - UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 150)]; - _loginBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:@"登录" andFrame:CGRectMake(kLoginPaddingLeftWidth, 20, kScreen_Width-kLoginPaddingLeftWidth*2, 45) target:self action:@selector(sendLogin)]; + UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 200)]; + _loginBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:@"登录" andFrame:CGRectMake(kLoginPaddingLeftWidth, 55, kScreen_Width-kLoginPaddingLeftWidth*2, 50) target:self action:@selector(sendLogin)]; [footerV addSubview:_loginBtn]; RAC(self, loginBtn.enabled) = [RACSignal combineLatest:@[RACObserve(self, myLogin.email), RACObserve(self, myLogin.password), @@ -326,13 +789,14 @@ - (UIView *)customFooterView{ } } }]; - _cannotLoginBtn = ({ + _underLoginBtn = ({ UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 30)]; [button.titleLabel setFont:[UIFont systemFontOfSize:14]]; - [button setTitleColor:[UIColor colorWithWhite:1.0 alpha:0.5] forState:UIControlStateNormal]; - [button setTitleColor:[UIColor colorWithWhite:0.5 alpha:0.5] forState:UIControlStateHighlighted]; + [button setTitleColor:kColorDark2 forState:UIControlStateNormal]; + button.tintColor = kColorDark2; + [button setTitle:@" 微信登录" forState:UIControlStateNormal]; + [button setImage:[UIImage imageNamed:@"login_wechat"] forState:UIControlStateNormal]; - [button setTitle:@"找回密码" forState:UIControlStateNormal]; [footerV addSubview:button]; [button mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(100, 30)); @@ -341,7 +805,25 @@ - (UIView *)customFooterView{ }]; button; }); - [_cannotLoginBtn addTarget:self action:@selector(cannotLoginBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; + [_underLoginBtn addTarget:self action:@selector(underLoginBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; + + _underLoginBtn.hidden = ![self p_canOpenWeiXin]; + + UIButton *cannotLoginBtn = ({ + UIButton *button = [UIButton new]; + [button.titleLabel setFont:[UIFont systemFontOfSize:14]]; + [button setTitleColor:kColorDark4 forState:UIControlStateNormal]; + + [button setTitle:@"忘记密码?" forState:UIControlStateNormal]; + [footerV addSubview:button]; + [button mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(90, 30)); + make.top.offset(15); + make.right.offset(-kPaddingLeftWidth); + }]; + button; + }); + [cannotLoginBtn addTarget:self action:@selector(cannotLoginBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; return footerV; } @@ -349,25 +831,30 @@ - (UIView *)customFooterView{ #pragma mark BottomView - (void)configBottomView{ if (!_bottomView) { - _bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, kScreen_Height - 55, kScreen_Width, 55)]; - _bottomView.backgroundColor = [UIColor clearColor]; + _bottomView = [UIView new]; + UIButton *registerBtn = ({ UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 30)]; - [button.titleLabel setFont:[UIFont systemFontOfSize:14]]; - [button setTitleColor:[UIColor colorWithWhite:1.0 alpha:0.5] forState:UIControlStateNormal]; - [button setTitleColor:[UIColor colorWithWhite:0.5 alpha:0.5] forState:UIControlStateHighlighted]; + [button.titleLabel setFont:[UIFont systemFontOfSize:15]]; + [button setTitleColor:kColorDark2 forState:UIControlStateNormal]; - [button setTitle:@"去注册" forState:UIControlStateNormal]; + [button setTitle:@"注册新账号" forState:UIControlStateNormal]; [_bottomView addSubview:button]; [button mas_makeConstraints:^(MASConstraintMaker *make) { make.size.mas_equalTo(CGSizeMake(100, 30)); - make.centerX.equalTo(_bottomView); make.top.equalTo(_bottomView); + make.centerX.equalTo(_bottomView); }]; button; }); [registerBtn addTarget:self action:@selector(goRegisterVC:) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:_bottomView]; + [_bottomView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.equalTo(self.view); + make.bottom.offset(-kSafeArea_Bottom); + make.height.mas_equalTo(55); + }]; } } @@ -436,16 +923,11 @@ - (void)sendLogin{ - (void)doSomethingAfterLogin{ User *curUser = [Login curLoginUser]; if (curUser.email.length > 0 && !curUser.email_validation.boolValue) { - UIAlertView *alertView = [UIAlertView bk_alertViewWithTitle:@"激活邮箱" message:@"该邮箱尚未激活,请尽快去邮箱查收邮件并激活账号。如果在收件箱中没有看到,请留意一下垃圾邮件箱子(T_T)"]; - [alertView bk_setCancelButtonWithTitle:@"取消" handler:nil]; - [alertView bk_addButtonWithTitle:@"重发激活邮件" handler:nil]; - [alertView bk_setDidDismissBlock:^(UIAlertView *alert, NSInteger index) { - if (index == 1) { + [[UIAlertController ea_alertViewWithTitle:@"激活邮箱" message:@"该邮箱尚未激活,请尽快去邮箱查收邮件并激活账号。如果在收件箱中没有看到,请留意一下垃圾邮件箱子(T_T)" buttonTitles:@[@"重发激活邮件"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { [self sendActivateEmail]; } - }]; - [alertView show]; - + }] show]; } } - (void)sendActivateEmail{ @@ -457,28 +939,28 @@ - (void)sendActivateEmail{ } - (IBAction)cannotLoginBtnClicked:(id)sender { - UIViewController *vc; - if (_is2FAUI) { - vc = [Close2FAViewController vcWithPhone:self.myLogin.email sucessBlock:^(UIViewController *vc) { - self.is2FAUI = NO; - [self.navigationController popToRootViewControllerAnimated:YES]; - }]; - }else{ - vc = [CannotLoginViewController vcWithMethodType:0 stepIndex:0 userStr:(([self.myLogin.email isPhoneNo] || [self.myLogin.email isEmail])? self.myLogin.email: nil)]; - } + CannotLoginViewController *vc = [CannotLoginViewController vcWithMethodType:CannotLoginMethodPhone stepIndex:0 userStr:([self.myLogin.email isPhoneNo]? self.myLogin.email: nil)]; [self.navigationController pushViewController:vc animated:YES]; } - (IBAction)goRegisterVC:(id)sender { - RegisterViewController *vc = [RegisterViewController vcWithMethodType:RegisterMethodPhone registerObj:nil]; - [self.navigationController pushViewController:vc animated:YES]; + if (self.navigationController.viewControllers.count > 1) { + [self.navigationController popToRootViewControllerAnimated:YES]; + }else{ + RegisterViewController *vc = [RegisterViewController vcWithMethodType:RegisterMethodPhone registerObj:nil]; + [self.navigationController pushViewController:vc animated:YES]; + } } - (void)dismissButtonClicked{ if (self.is2FAUI) { self.is2FAUI = NO; }else{ - [self dismissViewControllerAnimated:YES completion:nil]; + if (self.navigationController.viewControllers.count > 1) { + [self.navigationController popViewControllerAnimated:YES]; + }else{ + [self dismissViewControllerAnimated:YES completion:nil]; + } } } @@ -493,14 +975,16 @@ - (void)changeUITo2FAWithGK:(NSString *)global_key{ - (void)setIs2FAUI:(BOOL)is2FAUI{ _is2FAUI = is2FAUI; + UILabel *headerL = self.myTableView.tableHeaderView.subviews.firstObject; + headerL.text = self.is2FAUI? @"两步验证": @"登录"; if (!_is2FAUI) { self.otpCode = nil; - [self.dismissButton setImage:[UIImage imageNamed:@"dismissBtn_Nav"] forState:UIControlStateNormal]; + [_buttonFor2FA setTitle:@" 两步验证" forState:UIControlStateNormal]; + [_buttonFor2FA setImage:[[UIImage imageNamed:@"twoFABtn_Nav"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; }else{ - [self.dismissButton setImage:[UIImage imageNamed:@"backBtn_Nav"] forState:UIControlStateNormal]; + [_buttonFor2FA setTitle:@"关闭两步验证" forState:UIControlStateNormal]; + [_buttonFor2FA setImage:nil forState:UIControlStateNormal]; } - [_cannotLoginBtn setTitle:_is2FAUI? @"关闭两步验证": @"找回密码" forState:UIControlStateNormal]; - [self.myTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:_is2FAUI? UITableViewRowAnimationLeft: UITableViewRowAnimationRight]; } @@ -515,7 +999,65 @@ - (NSString *)loginTipFor2FA{ } - (void)goTo2FAVC{ - OTPListViewController *vc = [OTPListViewController new]; - [self.navigationController pushViewController:vc animated:YES]; + if (_is2FAUI) { + Close2FAViewController *vc = [Close2FAViewController vcWithPhone:self.myLogin.email sucessBlock:^(UIViewController *vc) { + self.is2FAUI = NO; + [self.navigationController popToRootViewControllerAnimated:YES]; + }]; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + OTPListViewController *vc = [OTPListViewController new]; + [self.navigationController pushViewController:vc animated:YES]; + } +} + +#pragma mark thridPlatform +- (void)underLoginBtnClicked:(UIButton *)sender { + UMSocialPlatformType platformType = UMSocialPlatformType_WechatSession; + if (platformType != UMSocialPlatformType_UnKnown) { + __weak typeof(self) weakSelf = self; + [[UMSocialManager defaultManager] getUserInfoWithPlatform:platformType currentViewController:self completion:^(id result, NSError *error) { + UMSocialResponse *resp = result; + if (!error) { + [weakSelf p_thridPlatformLogin:resp]; + }else if (error){ + [NSObject showHudTipStr:@"授权失败"]; + DebugLog(@"%@", error); + } + }]; + } } + +- (void)p_thridPlatformLogin:(UMSocialResponse *)resp{ + [self.view endEditing:YES]; + + __weak typeof(self) weakSelf = self; + [NSObject showHUDQueryStr:@"正在登录..."]; + [[Coding_NetAPIManager sharedManager] request_Login_With_UMSocialResponse:resp andBlock:^(id data, NSError *error) { + [NSObject hideHUDQuery]; + if (data) { + [((AppDelegate *)[UIApplication sharedApplication].delegate) setupTabViewController]; + [weakSelf doSomethingAfterLogin]; + }else if (error){ + if (error.userInfo[@"msg"][@"oauth_account_not_bound"]) { + kTipAlert(@"抱歉,你还未绑定微信,请前往 Coding 主站完成微信绑定操作"); + }else{ + [NSObject showError:error]; + } + } + }]; +} + +#pragma mark - app url +- (BOOL)p_canOpenWeiXin{ + return [self p_canOpen:@"weixin://"]; +} + +- (BOOL)p_canOpen:(NSString*)url{ + return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:url]]; +} + @end + +#endif + diff --git a/Coding_iOS/Controllers/Login/PasswordViewController.m b/Coding_iOS/Controllers/Login/PasswordViewController.m index e0920605c..c8530329b 100644 --- a/Coding_iOS/Controllers/Login/PasswordViewController.m +++ b/Coding_iOS/Controllers/Login/PasswordViewController.m @@ -43,6 +43,9 @@ - (void)viewDidLoad [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); self.myTableView.tableFooterView=[self customFooterView]; @@ -133,7 +136,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - return 44.0; + return 50; } #pragma mark Btn Clicked diff --git a/Coding_iOS/Controllers/Login/RegisterViewController.m b/Coding_iOS/Controllers/Login/RegisterViewController.m index 5e1006528..de6beaba9 100755 --- a/Coding_iOS/Controllers/Login/RegisterViewController.m +++ b/Coding_iOS/Controllers/Login/RegisterViewController.m @@ -17,6 +17,7 @@ #import "CannotLoginViewController.h" #import "EaseInputTipsView.h" #import "CountryCodeListViewController.h" +#import "LoginViewController.h" @interface RegisterViewController () @property (nonatomic, assign) RegisterMethodType medthodType; @@ -32,6 +33,8 @@ @interface RegisterViewController () 1) { + [weakSelf.navigationController popToRootViewControllerAnimated:YES]; + }else{ + LoginViewController *vc = [[LoginViewController alloc] init]; + vc.showDismissButton = YES; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } + } forControlEvents:UIControlEventTouchUpInside]; button; }); - [bottomView addSubview:bottomBtn]; [bottomBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(bottomView).insets(UIEdgeInsetsMake(0, 0, 30, 0)); + make.left.top.right.equalTo(bottomView); + make.height.mas_equalTo(25); }]; - [self.view addSubview:bottomView]; [bottomView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.bottom.equalTo(self.view); - make.height.mas_equalTo(50); + make.height.mas_equalTo(50 + kSafeArea_Bottom); }]; } @@ -167,22 +197,21 @@ - (void)changeMethodType{ } } - (UIView *)customHeaderView{ - UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 0.15*kScreen_Height)]; - headerV.backgroundColor = [UIColor clearColor]; - UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 50)]; - headerLabel.backgroundColor = [UIColor clearColor]; - headerLabel.font = [UIFont boldSystemFontOfSize:18]; - headerLabel.textColor = kColor222; - headerLabel.textAlignment = NSTextAlignmentCenter; - headerLabel.text = @"加入Coding,体验云端开发之美!"; - [headerLabel setCenter:headerV.center]; - [headerV addSubview:headerLabel]; + UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 60)]; + UILabel *headerL = [UILabel labelWithFont:[UIFont systemFontOfSize:30] textColor:kColorDark2]; + headerL.text = self.step > 0? @"设置密码": @"注册"; + [headerV addSubview:headerL]; + [headerL mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(kPaddingLeftWidth); + make.bottom.offset(0); + make.height.mas_equalTo(42); + }]; return headerV; } - (UIView *)customFooterView{ UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 150)]; //button - _footerBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:@"注册" andFrame:CGRectMake(kLoginPaddingLeftWidth, 20, kScreen_Width-kLoginPaddingLeftWidth*2, 45) target:self action:@selector(sendRegister)]; + _footerBtn = [UIButton buttonWithStyle:StrapSuccessStyle andTitle:self.step > 0? @"注册": @"下一步" andFrame:CGRectMake(kLoginPaddingLeftWidth, 20, kScreen_Width-kLoginPaddingLeftWidth*2, 50) target:self action:@selector(sendRegister)]; [footerV addSubview:_footerBtn]; __weak typeof(self) weakSelf = self; @@ -190,6 +219,7 @@ - (UIView *)customFooterView{ RACObserve(self, myRegister.phone), RACObserve(self, myRegister.email), RACObserve(self, myRegister.password), + RACObserve(self, myRegister.confirm_password), RACObserve(self, myRegister.code), RACObserve(self, myRegister.j_captcha), RACObserve(self, captchaNeeded)] @@ -197,33 +227,47 @@ - (UIView *)customFooterView{ NSString *phone, NSString *email, NSString *password, + NSString *confirm_password, NSString *code, NSString *j_captcha, NSNumber *captchaNeeded){ - BOOL enabled = (global_key.length > 0 && - password.length > 0 && - (!captchaNeeded.boolValue || j_captcha.length > 0) && - ((weakSelf.medthodType == RegisterMethodEamil && email.length > 0) || - (weakSelf.medthodType == RegisterMethodPhone && phone.length > 0 && code.length > 0))); + BOOL enabled; + if (weakSelf.medthodType == RegisterMethodEamil) { + enabled = (global_key.length > 0 && + password.length > 0 && + (!captchaNeeded.boolValue || j_captcha.length > 0) && + email.length > 0); + }else if (weakSelf.step > 0){ + enabled = (global_key.length > 0 && + password.length > 0 && + confirm_password.length > 0 && +// [confirm_password isEqualToString:password] && + (!captchaNeeded.boolValue || j_captcha.length > 0) && + (phone.length > 0 && code.length > 0)); + }else{ + enabled = (global_key.length > 0 && + (!captchaNeeded.boolValue || j_captcha.length > 0) && + (phone.length > 0 && code.length > 0)); + } return @(enabled); }]; //label UITTTAttributedLabel *lineLabel = ({ - UITTTAttributedLabel *label = [[UITTTAttributedLabel alloc] init]; + UITTTAttributedLabel *label = [[UITTTAttributedLabel alloc] initWithFrame:CGRectZero]; label.textAlignment = NSTextAlignmentCenter; - label.font = [UIFont systemFontOfSize:12]; - label.textColor = kColor999; + label.font = [UIFont systemFontOfSize:14]; + label.textColor = kColorDark2; label.numberOfLines = 0; label.linkAttributes = kLinkAttributes; label.activeLinkAttributes = kLinkAttributesActive; label.delegate = self; label; }); - NSString *tipStr = @"注册 Coding 账号表示您已同意《Coding 服务条款》"; + NSString *tipStr = @"点击注册,即同意《Coding 服务条款》"; lineLabel.text = tipStr; [lineLabel addLinkToTransitInformation:@{@"actionStr" : @"gotoServiceTermsVC"} withRange:[tipStr rangeOfString:@"《Coding 服务条款》"]]; CGRect footerBtnFrame = _footerBtn.frame; - lineLabel.frame = CGRectMake(CGRectGetMinX(footerBtnFrame), CGRectGetMaxY(footerBtnFrame) +12, CGRectGetWidth(footerBtnFrame), 12); + lineLabel.frame = CGRectMake(CGRectGetMinX(footerBtnFrame), CGRectGetMaxY(footerBtnFrame) +15, CGRectGetWidth(footerBtnFrame), 15); [footerV addSubview:lineLabel]; return footerV; @@ -231,7 +275,7 @@ - (UIView *)customFooterView{ #pragma mark - Table view data source - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ - NSInteger num = _medthodType == RegisterMethodEamil? 3: 4; + NSInteger num = _medthodType == RegisterMethodEamil? 3: _step > 0? 2: 3; return _captchaNeeded? num +1 : num; } @@ -242,20 +286,24 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N indexPath.row == 2? kCellIdentifier_Input_OnlyText_Cell_Password: kCellIdentifier_Input_OnlyText_Cell_Text); }else{ - cellIdentifier = (indexPath.row == 4? kCellIdentifier_Input_OnlyText_Cell_Captcha: - indexPath.row == 3? self.phoneCodeCellIdentifier: - indexPath.row == 2? kCellIdentifier_Input_OnlyText_Cell_Password: - indexPath.row == 1? kCellIdentifier_Input_OnlyText_Cell_Phone: - kCellIdentifier_Input_OnlyText_Cell_Text); + if (_step > 0) { + cellIdentifier = (indexPath.row == 2? kCellIdentifier_Input_OnlyText_Cell_Captcha: + kCellIdentifier_Input_OnlyText_Cell_Text); + }else{ + cellIdentifier = (indexPath.row == 2? self.phoneCodeCellIdentifier: + indexPath.row == 1? kCellIdentifier_Input_OnlyText_Cell_Phone: + kCellIdentifier_Input_OnlyText_Cell_Text); + } } Input_OnlyText_Cell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath]; + cell.isBottomLineShow = YES; __weak typeof(self) weakSelf = self; if (_medthodType == RegisterMethodEamil) { if (indexPath.row == 0) { - [cell setPlaceholder:@" 用户名(个性后缀)" value:self.myRegister.global_key]; + [cell setPlaceholder:@" 用户名" value:self.myRegister.global_key]; cell.textValueChangedBlock = ^(NSString *valueStr){ - weakSelf.myRegister.global_key = valueStr; + weakSelf.myRegister.global_key = [valueStr trimWhitespace]; }; }else if (indexPath.row == 1){ cell.textField.keyboardType = UIKeyboardTypeEmailAddress; @@ -280,53 +328,58 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N }; } }else{ - if (indexPath.row == 0) { - [cell setPlaceholder:@" 用户名(个性后缀)" value:self.myRegister.global_key]; - cell.textValueChangedBlock = ^(NSString *valueStr){ - weakSelf.myRegister.global_key = valueStr; - }; - }else if (indexPath.row == 1){ - if (!_countryCodeDict) { - _countryCodeDict = @{@"country": @"China", - @"country_code": @"86", - @"iso_code": @"cn"}; + if (_step > 0) { + if (indexPath.row == 0){ + [cell setPlaceholder:@" 设置密码" value:self.myRegister.password]; + cell.textField.secureTextEntry = YES; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myRegister.password = valueStr; + }; + }else if (indexPath.row == 1){ + [cell setPlaceholder:@" 重复密码" value:self.myRegister.password]; + cell.textField.secureTextEntry = YES; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myRegister.confirm_password = valueStr; + }; + }else{ + [cell setPlaceholder:@" 验证码" value:self.myRegister.j_captcha]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myRegister.j_captcha = valueStr; + }; } - cell.textField.keyboardType = UIKeyboardTypeNumberPad; - [cell setPlaceholder:@" 手机号" value:self.myRegister.phone]; - cell.countryCodeL.text = [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]]; - cell.countryCodeBtnClickedBlock = ^(){ - [weakSelf goToCountryCodeVC]; - }; - cell.textValueChangedBlock = ^(NSString *valueStr){ - weakSelf.myRegister.phone = valueStr; - }; - }else if (indexPath.row == 2){ - [cell setPlaceholder:@" 设置密码" value:self.myRegister.password]; - cell.textValueChangedBlock = ^(NSString *valueStr){ - weakSelf.myRegister.password = valueStr; - }; - }else if (indexPath.row == 3){ - cell.textField.keyboardType = UIKeyboardTypeNumberPad; - [cell setPlaceholder:@" 手机验证码" value:self.myRegister.code]; - cell.textValueChangedBlock = ^(NSString *valueStr){ - weakSelf.myRegister.code = valueStr; - }; - cell.phoneCodeBtnClckedBlock = ^(PhoneCodeButton *btn){ - [weakSelf phoneCodeBtnClicked:btn]; - }; }else{ - [cell setPlaceholder:@" 验证码" value:self.myRegister.j_captcha]; - cell.textValueChangedBlock = ^(NSString *valueStr){ - weakSelf.myRegister.j_captcha = valueStr; - }; + if (indexPath.row == 0) { + [cell setPlaceholder:@" 用户名" value:self.myRegister.global_key]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myRegister.global_key = [valueStr trimWhitespace]; + }; + }else if (indexPath.row == 1){ + cell.textField.keyboardType = UIKeyboardTypeNumberPad; + [cell setPlaceholder:@" 手机号码" value:self.myRegister.phone]; + cell.countryCodeL.text = [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]]; + cell.countryCodeBtnClickedBlock = ^(){ + [weakSelf goToCountryCodeVC]; + }; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myRegister.phone = valueStr; + }; + }else if (indexPath.row == 2){ + cell.textField.keyboardType = UIKeyboardTypeNumberPad; + [cell setPlaceholder:@" 手机验证码" value:self.myRegister.code]; + cell.textValueChangedBlock = ^(NSString *valueStr){ + weakSelf.myRegister.code = valueStr; + }; + cell.phoneCodeBtnClckedBlock = ^(PhoneCodeButton *btn){ + [weakSelf phoneCodeBtnClicked:btn withCaptcha:nil]; + }; + } } } - [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kLoginPaddingLeftWidth]; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - return 44.0; + return 65.0; } #pragma mark TTTAttributedLabelDelegate @@ -334,59 +387,151 @@ - (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithTransitInfo [self gotoServiceTermsVC]; } #pragma mark Btn Clicked -- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender{ +- (void)phoneCodeBtnClicked:(PhoneCodeButton *)sender withCaptcha:(NSString *)captcha{ if (![_myRegister.phone isPhoneNo]) { [NSObject showHudTipStr:@"手机号码格式有误"]; return; } sender.enabled = NO; - NSDictionary *params = @{@"phone": _myRegister.phone, - @"phoneCountryCode": [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]]}; - [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/register/generate_phone_code" withParams:params withMethodType:Post andBlock:^(id data, NSError *error) { + NSMutableDictionary *params = @{@"phone": _myRegister.phone, + @"phoneCountryCode": [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]]}.mutableCopy; + if (captcha.length > 0) { + params[@"j_captcha"] = captcha; + } + __weak typeof(self) weakSelf = self; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/register/generate_phone_code" withParams:params withMethodType:Post autoShowError:captcha.length > 0 andBlock:^(id data, NSError *error) { if (data) { [NSObject showHudTipStr:@"验证码发送成功"]; [sender startUpTimer]; }else{ [sender invalidateTimer]; + if (error && error.userInfo[@"msg"] && [[error.userInfo[@"msg"] allKeys] containsObject:@"j_captcha_error"]) { + [weakSelf p_showCaptchaAlert:sender]; + }else if (captcha.length <= 0){ + [NSObject showError:error]; + } + } + }]; +} + +- (void)p_showCaptchaAlert:(PhoneCodeButton *)sender{ + SDCAlertController *alertV = [SDCAlertController alertControllerWithTitle:@"提示" message:@"请输入图片验证码" preferredStyle:SDCAlertControllerStyleAlert]; + UITextField *textF = [UITextField new]; + textF.layer.sublayerTransform = CATransform3DMakeTranslation(5, 0, 0); + textF.backgroundColor = [UIColor whiteColor]; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + UIImageView *imageV = [YLImageView new]; + imageV.backgroundColor = [UIColor lightGrayColor]; + imageV.contentMode = UIViewContentModeScaleAspectFit; + imageV.clipsToBounds = YES; + imageV.userInteractionEnabled = YES; + [textF doBorderWidth:0.5 color:nil cornerRadius:2.0]; + NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@api/getCaptcha", [NSObject baseURLStr]]]; + [imageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + + [alertV.contentView addSubview:textF]; + [alertV.contentView addSubview:imageV]; + [textF mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(alertV.contentView).offset(15); + make.height.mas_equalTo(25); + make.bottom.equalTo(alertV.contentView).offset(-10); + }]; + [imageV mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(alertV.contentView).offset(-15); + make.left.equalTo(textF.mas_right).offset(10); + make.width.mas_equalTo(60); + make.height.mas_equalTo(25); + make.centerY.equalTo(textF); + }]; + //Action + __weak typeof(imageV) weakImageV = imageV; + [imageV bk_whenTapped:^{ + [weakImageV sd_setImageWithURL:imageURL placeholderImage:nil options:(SDWebImageRetryFailed | SDWebImageRefreshCached | SDWebImageHandleCookies)]; + }]; + __weak typeof(self) weakSelf = self; + [alertV addAction:[SDCAlertAction actionWithTitle:@"取消" style:SDCAlertActionStyleCancel handler:nil]]; + [alertV addAction:[SDCAlertAction actionWithTitle:@"确定" style:SDCAlertActionStyleDefault handler:nil]]; + alertV.shouldDismissBlock = ^BOOL (SDCAlertAction *action){ + if (![action.title isEqualToString:@"取消"]) { + [weakSelf phoneCodeBtnClicked:sender withCaptcha:textF.text]; } + return YES; + }; + [alertV presentWithCompletion:^{ + [textF becomeFirstResponder]; }]; } - (void)sendRegister{ + NSString *tipStr = nil; if (![_myRegister.global_key isGK]) { - [NSObject showHudTipStr:@"个性后缀仅支持英文字母、数字、横线(-)以及下划线(_)"]; + tipStr = @"用户名仅支持英文字母、数字、横线(-)以及下划线(_)"; + }else if (_step > 0 && ![_myRegister.confirm_password isEqualToString:_myRegister.password]){ + tipStr = @"密码输入不一致"; + } + if (tipStr) { + [NSObject showHudTipStr:tipStr]; return; } __weak typeof(self) weakSelf = self; - NSMutableDictionary *params = @{@"channel": [Register channel], - @"global_key": _myRegister.global_key, - @"password": [_myRegister.password sha1Str], - @"confirm": [_myRegister.password sha1Str]}.mutableCopy; - if (_medthodType == RegisterMethodEamil) { - params[@"email"] = _myRegister.email; - }else{ - params[@"phone"] = _myRegister.phone; - params[@"code"] = _myRegister.code; - params[@"country"] = _countryCodeDict[@"iso_code"]; - params[@"phoneCountryCode"] = [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]]; - } - if (_captchaNeeded) { - params[@"j_captcha"] = _myRegister.j_captcha; - } - [self.footerBtn startQueryAnimate]; - [[Coding_NetAPIManager sharedManager] request_Register_V2_WithParams:params andBlock:^(id data, NSError *error) { - [weakSelf.footerBtn stopQueryAnimate]; - if (data) { - [self.view endEditing:YES]; - [Login setPreUserEmail:self.myRegister.global_key];//记住登录账号 - [((AppDelegate *)[UIApplication sharedApplication].delegate) setupTabViewController]; - if (weakSelf.medthodType == RegisterMethodEamil) { - kTipAlert(@"欢迎注册 Coding,请尽快去邮箱查收邮件并激活账号。如若在收件箱中未看到激活邮件,请留意一下垃圾邮件箱(T_T)。"); + if (_medthodType == RegisterMethodPhone && _step <= 0) { + [self.footerBtn startQueryAnimate]; + NSDictionary *gkP = @{@"key": _myRegister.global_key}; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/user/check" withParams:gkP withMethodType:Get andBlock:^(id data, NSError *error) { + if (!error && [data[@"data"] boolValue]) {//用户名还未被注册 + NSDictionary *phoneCodeP = @{@"phone": _myRegister.phone, + @"verifyCode": _myRegister.code, + @"phoneCountryCode": [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]], + }; + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:@"api/account/register/check-verify-code" withParams:phoneCodeP withMethodType:Post andBlock:^(id data, NSError *error) { + [weakSelf.footerBtn stopQueryAnimate]; + if (!error) { + //手机验证码通过校验 + RegisterViewController *vc = [RegisterViewController new]; + vc.medthodType = RegisterMethodPhone; + vc.myRegister = weakSelf.myRegister; + vc.step = 1; + [weakSelf.navigationController pushViewController:vc animated:YES]; + } + }]; + }else{ + [weakSelf.footerBtn stopQueryAnimate]; + if (!error) { + [NSObject showHudTipStr:@"用户名已存在"]; + } } + }]; + }else{ + NSMutableDictionary *params = @{@"channel": [Register channel], + @"global_key": _myRegister.global_key, + @"password": [_myRegister.password sha1Str], + @"confirm": [_myRegister.password sha1Str]}.mutableCopy; + if (_medthodType == RegisterMethodEamil) { + params[@"email"] = _myRegister.email; }else{ - [weakSelf refreshCaptchaNeeded]; + params[@"phone"] = _myRegister.phone; + params[@"code"] = _myRegister.code; + params[@"country"] = _countryCodeDict[@"iso_code"]; + params[@"phoneCountryCode"] = [NSString stringWithFormat:@"+%@", _countryCodeDict[@"country_code"]]; } - }]; + if (_captchaNeeded) { + params[@"j_captcha"] = _myRegister.j_captcha; + } + [self.footerBtn startQueryAnimate]; + [[Coding_NetAPIManager sharedManager] request_Register_V2_WithParams:params andBlock:^(id data, NSError *error) { + [weakSelf.footerBtn stopQueryAnimate]; + if (data) { + [self.view endEditing:YES]; + [Login setPreUserEmail:self.myRegister.global_key];//记住登录账号 + [((AppDelegate *)[UIApplication sharedApplication].delegate) setupTabViewController]; + if (weakSelf.medthodType == RegisterMethodEamil) { + kTipAlert(@"欢迎注册 Coding,请尽快去邮箱查收邮件并激活账号。如若在收件箱中未看到激活邮件,请留意一下垃圾邮件箱(T_T)。"); + } + }else{ + [weakSelf refreshCaptchaNeeded]; + } + }]; + } } #pragma mark VC diff --git a/Coding_iOS/Controllers/MRDetailViewController.m b/Coding_iOS/Controllers/MRDetailViewController.m index 53ac2f481..75505476c 100644 --- a/Coding_iOS/Controllers/MRDetailViewController.m +++ b/Coding_iOS/Controllers/MRDetailViewController.m @@ -8,7 +8,7 @@ -#define kMRPRDetailViewController_BottomViewHeight 49.0 +#define kMRPRDetailViewController_BottomViewHeight 56.0 #import "MRDetailViewController.h" #import "PRDetailViewController.h" #import "ReviewerListController.h" @@ -110,6 +110,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; @@ -122,9 +125,9 @@ - (void)viewWillAppear:(BOOL)animated { - (void)configBottomView{ BOOL canCancel = [self.curPreMRPRInfo.mrpr.author.global_key isEqualToString:[Login curLoginUser].global_key]; - BOOL canAction = self.curPreMRPRInfo.can_edit.boolValue ||(canCancel && self.curPreMRPRInfo.mrpr.granted.boolValue);//有权限 || (作者身份 && 被授权) - BOOL canAuthorization = self.curPreMRPRInfo.can_edit.boolValue &&!canCancel &&!self.curPreMRPRInfo.author_can_edit.boolValue && !self.curPreMRPRInfo.mrpr.granted.boolValue; - BOOL canCancelAuthorization = self.curPreMRPRInfo.can_edit.boolValue &&!canCancel &&!self.curPreMRPRInfo.author_can_edit.boolValue && self.curPreMRPRInfo.mrpr.granted.boolValue; + BOOL canAction = (self.curPreMRPRInfo.can_merge.boolValue || self.curPreMRPRInfo.can_edit.boolValue) ||(canCancel && self.curPreMRPRInfo.mrpr.granted.boolValue);//有权限 || (作者身份 && 被授权) + BOOL canAuthorization = NO;//NO 不是说不可以,只是说不要这按钮了 + BOOL canCancelAuthorization = NO;//NO 不是说不可以,只是说不要这按钮了 BOOL hasBottomView = self.curMRPRInfo.mrpr.status <= MRPRStatusCannotMerge && (canAction || canCancel); if(self.curMRPRInfo == nil || self.curPreMRPRInfo == nil) { hasBottomView = NO ; @@ -144,7 +147,7 @@ - (void)configBottomView{ NSArray *buttonArray; if (canAction && canCancel) {//三个按钮 buttonArray = @[ [self buttonWithType:MRPRActionCancel], - [self buttonWithType:MRPRActionRefuse], +// [self buttonWithType:MRPRActionRefuse], [self buttonWithType:MRPRActionAccept]]; } else if (canAction && !canCancel){//两个按钮 if(canAuthorization) { @@ -168,7 +171,7 @@ - (void)configBottomView{ buttonArray = nil; } if (buttonArray.count > 0) { - CGFloat buttonHeight = 29; + CGFloat buttonHeight = 36; CGFloat padding = 15; CGFloat buttonWidth = ((kScreen_Width - 2*kPaddingLeftWidth) - padding* (buttonArray.count -1))/buttonArray.count; CGFloat buttonY = (kMRPRDetailViewController_BottomViewHeight - buttonHeight)/2; @@ -206,11 +209,9 @@ - (void)updateActivityList{ - (void)updateProjectStatus { __weak typeof(self) weakSelf = self; - [[Coding_NetAPIManager sharedManager] request_MRPRPreInfo_WithObj:_curMRPR andBlock:^(MRPRBaseInfo *data, NSError *error) { - [weakSelf.view endLoading]; - [weakSelf.myRefreshControl endRefreshing]; + [[Coding_NetAPIManager sharedManager] request_MRPRPreInfo_WithObj:_curMRPR andBlock:^(MRPRPreInfo *data, NSError *error) { if (data) { - weakSelf.curPreMRPRInfo = (MRPRPreInfo*)data; + weakSelf.curPreMRPRInfo = data; [weakSelf.myTableView reloadData]; [weakSelf configBottomView]; } @@ -258,7 +259,6 @@ - (void)refresh{ }]; //项目成员 [[Coding_NetAPIManager sharedManager] request_ProjectMembers_WithObj:self.curProject andBlock:^(id data, NSError *error) { - [weakSelf.view endLoading]; if (data) { NSMutableArray* projectUsers = data; weakSelf.projectUsers = projectUsers; @@ -266,8 +266,6 @@ - (void)refresh{ }]; //MR 评审者 [[Coding_NetAPIManager sharedManager] request_MRReviewerInfo_WithObj:_curMRPR andBlock:^(ReviewersInfo *data, NSError *error) { - [weakSelf.view endLoading]; - [weakSelf.myRefreshControl endRefreshing]; if (data) { weakSelf.curReviewersInfo = data; } @@ -306,29 +304,28 @@ - (UIButton *)buttonWithType:(MRPRAction)actionType{ curButton.layer.cornerRadius = 2.0; curButton.tag = actionType; [curButton addTarget:self action:@selector(actionMRPR:) forControlEvents:UIControlEventTouchUpInside]; - [curButton.titleLabel setFont:[UIFont systemFontOfSize:13]]; + [curButton.titleLabel setFont:[UIFont systemFontOfSize:15]]; NSString *title, *colorStr; if (actionType == MRPRActionAccept) { title = @"合并"; - colorStr = @"0x4E90BF"; + colorStr = @"0x425063"; if (_curMRPRInfo.mrpr.status == MRPRStatusCannotMerge) { curButton.alpha = 0.5; } } else if (actionType == MRPRActionRefuse){ title = @"拒绝"; - colorStr = @"0xE15957"; + colorStr = @"0xF56061"; } else if (actionType == MRPRActionCancel){ title = @"取消"; - colorStr = @"0xF8F8F8"; - [curButton doBorderWidth:0.5 color:[UIColor colorWithHexString:@"0xB5B5B5"] cornerRadius:2.0]; + colorStr = @"0xD8DDE4"; } else if(actionType == MRPRActionAuthorization) { title = @"授权"; - colorStr = @"0x38BD78"; + colorStr = @"0x4F95E8"; } else if(actionType == MRPRActionCancelAuthorization) { title = @"取消授权"; - colorStr = @"0x38BD78"; + colorStr = @"0x4F95E8"; } - [curButton setTitleColor:[UIColor colorWithHexString:(actionType == MRPRActionCancel? @"0x222222": @"0xffffff")] forState:UIControlStateNormal]; + [curButton setTitleColor:[UIColor colorWithHexString:(actionType == MRPRActionCancel? @"0x323A45": @"0xFFFFFF")] forState:UIControlStateNormal]; [curButton setTitle:title forState:UIControlStateNormal]; [curButton setBackgroundColor:[UIColor colorWithHexString:colorStr]]; return curButton; @@ -339,7 +336,7 @@ - (void)actionMRPR:(UIButton *)sender{ NSString *tipStr; if (sender.tag == MRPRActionAccept) {//合并 if (_curMRPRInfo.mrpr.status == MRPRStatusCannotMerge) {//不能合并 - tipStr = @"Coding 不能帮你在线自动合并这个合并请求。"; + tipStr = @"CODING 不能帮你在线自动合并这个合并请求。"; kTipAlert(@"%@", tipStr); } else { MRPRAcceptViewController *vc = [MRPRAcceptViewController new]; @@ -354,28 +351,28 @@ - (void)actionMRPR:(UIButton *)sender{ } } else if (sender.tag == MRPRActionRefuse){//拒绝 tipStr = [_curMRPRInfo.mrpr isMR]? @"确定要拒绝这个 Merge Request 么?": @"确定要拒绝这个 Pull Request 么?"; - [[UIActionSheet bk_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + [[UIAlertController ea_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf refuseMRPR]; } }] showInView:self.view]; } else if (sender.tag == MRPRActionCancel){//取消 tipStr = [_curMRPRInfo.mrpr isMR]? @"确定要取消这个 Merge Request 么?": @"确定要取消这个 Pull Request 么?"; - [[UIActionSheet bk_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + [[UIAlertController ea_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf cancelMRPR]; } }] showInView:self.view]; } else if(sender.tag == MRPRActionAuthorization) { tipStr = [_curMRPRInfo.mrpr isMR]? @"确定要授权这个 Merge Request 么?": @"确定要授权这个 Pull Request 么?"; - [[UIActionSheet bk_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + [[UIAlertController ea_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf authorizationMRPR]; } }] showInView:self.view]; } else if(sender.tag == MRPRActionCancelAuthorization) { tipStr = [_curMRPRInfo.mrpr isMR]? @"确定要取消授权这个 Merge Request 么?": @"确定要取消授权这个 Pull Request 么?"; - [[UIActionSheet bk_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) { + [[UIAlertController ea_actionSheetCustomWithTitle:tipStr buttonTitles:@[@"确定"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { if (index == 0) { [weakSelf cancelAuthorizationMRPR]; } @@ -408,10 +405,6 @@ - (void)authorizationMRPR{ [[Coding_NetAPIManager sharedManager] request_MRPRAuthorization:_curMRPRInfo.mrpr andBlock:^(id data, NSError *error) { if (data) { weakSelf.curPreMRPRInfo.mrpr.granted = @1; -// weakSelf.bottomView = nil; - [weakSelf refresh]; - [weakSelf.myTableView reloadData]; - [weakSelf configBottomView]; } }]; } @@ -421,17 +414,13 @@ - (void)cancelAuthorizationMRPR{ [[Coding_NetAPIManager sharedManager] request_MRPRCancelAuthorization:_curMRPRInfo.mrpr andBlock:^(id data, NSError *error) { if (data) { weakSelf.curPreMRPRInfo.mrpr.granted = @0; -// weakSelf.bottomView = nil; - [weakSelf refresh]; - [weakSelf.myTableView reloadData]; - [weakSelf configBottomView]; } }]; } #pragma mark TableM Footer Header - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ - return 20.0; + return 15.0; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 0.5; @@ -525,9 +514,12 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N [cell setImageStr:@"PRReviewer" isowner:NO hasLikeMr:self.isLike]; } - if (self.curMRPRInfo.mrpr.status == MRPRStatusAccepted || self.curMRPRInfo.mrpr.status == MRPRStatusRefused || self.curMRPRInfo.mrpr.status == MRPRStatusRefused) { + if (self.curMRPRInfo.mrpr.status == MRPRStatusAccepted || self.curMRPRInfo.mrpr.status == MRPRStatusRefused) { [cell cantReviewer]; } + cell.rightSideClickedBlock = ^(){ + [weakSelf jiaYi]; + }; [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:50]; return cell; }else { @@ -540,6 +532,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N [tmpReviewers addObject:self.curReviewersInfo.volunteer_reviewers[i]]; } [cell initCellWithReviewers:tmpReviewers]; + cell.lastItemClickedBlock = ^(){ + [weakSelf goToReviewerList]; + }; [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:50]; return cell; } @@ -567,6 +562,46 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } } +- (void)jiaYi{ + if (self.curMRPRInfo.mrpr.status == MRPRStatusAccepted || self.curMRPRInfo.mrpr.status == MRPRStatusRefused) { + return; + } + if([self CurrentUserIsOwer]) { + NSArray *apparray= [[NSBundle mainBundle]loadNibNamed:@"AddReviewerViewController" owner:nil options:nil]; + AddReviewerViewController *appview=[apparray firstObject]; + appview.currentProject = self.curProject; + appview.curMRPR = self.curMRPR; + [self.navigationController pushViewController:appview animated:YES]; + } else { + __weak typeof(self) weakSelf = self; + if ([self.isLike isEqual:@0]) { + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:self.reviewGoodPath withParams:nil withMethodType:Delete andBlock:^(id data, NSError *error) { + weakSelf.isLike = @1; + [weakSelf refresh]; + if (weakSelf.curPreMRPRInfo.can_grant.boolValue) { + [weakSelf cancelAuthorizationMRPR]; + } + }]; + } else { + [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:self.reviewGoodPath withParams:nil withMethodType:Post andBlock:^(id data, NSError *error) { + weakSelf.isLike = @0; + [weakSelf refresh]; + if (weakSelf.curPreMRPRInfo.can_grant.boolValue) { + [weakSelf authorizationMRPR]; + } + }]; + } + } +} + +- (void)goToReviewerList{ + NSArray *apparray= [[NSBundle mainBundle]loadNibNamed:@"ReviewerListController" owner:nil options:nil]; + ReviewerListController *appview=[apparray firstObject]; + appview.currentProject = self.curProject; + appview.curMRPR = self.curMRPR; + appview.isPublisher = [self currentUserCanAddMember]; + [self.navigationController pushViewController:appview animated:YES]; +} - (BOOL)CurrentUserIsOwer{ User *currentUser = [Login curLoginUser]; @@ -585,7 +620,7 @@ - (bool)currentUserCanAddMember { return NO; } } - if (self.curMRPRInfo.mrpr.status == MRPRStatusAccepted || self.curMRPRInfo.mrpr.status == MRPRStatusRefused || self.curMRPRInfo.mrpr.status == MRPRStatusRefused) { + if (self.curMRPRInfo.mrpr.status == MRPRStatusAccepted || self.curMRPRInfo.mrpr.status == MRPRStatusRefused) { return NO; } return YES; @@ -657,38 +692,6 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath [self.navigationController pushViewController:vc animated:YES]; } } else if (indexPath.section == 2){//Disclosure - if (indexPath.row == 0) { - if (self.curMRPRInfo.mrpr.status == MRPRStatusAccepted || self.curMRPRInfo.mrpr.status == MRPRStatusRefused || self.curMRPRInfo.mrpr.status == MRPRStatusRefused) { - return; - } - if([self CurrentUserIsOwer]) { - NSArray *apparray= [[NSBundle mainBundle]loadNibNamed:@"AddReviewerViewController" owner:nil options:nil]; - AddReviewerViewController *appview=[apparray firstObject]; - appview.currentProject = self.curProject; - appview.curMRPR = self.curMRPR; - [self.navigationController pushViewController:appview animated:YES]; - } else { - __weak typeof(self) weakSelf = self; - if ([self.isLike isEqual:@0]) { - [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:self.reviewGoodPath withParams:nil withMethodType:Delete andBlock:^(id data, NSError *error) { - weakSelf.isLike = @1; - [weakSelf refresh]; - }]; - } else { - [[CodingNetAPIClient sharedJsonClient] requestJsonDataWithPath:self.reviewGoodPath withParams:nil withMethodType:Post andBlock:^(id data, NSError *error) { - weakSelf.isLike = @0; - [weakSelf refresh]; - }]; - } - } - } else { - NSArray *apparray= [[NSBundle mainBundle]loadNibNamed:@"ReviewerListController" owner:nil options:nil]; - ReviewerListController *appview=[apparray firstObject]; - appview.currentProject = self.curProject; - appview.curMRPR = self.curMRPR; - appview.isPublisher = [self currentUserCanAddMember]; - [self.navigationController pushViewController:appview animated:YES]; - } } else if (self.activityList.count > 0 && indexPath.section == 3){//Comment ProjectLineNote *curCommentItem = self.activityList[indexPath.row]; if ([curCommentItem.action isEqual:@"mergeChanges"]) { diff --git a/Coding_iOS/Controllers/MRListViewController.h b/Coding_iOS/Controllers/MRListViewController.h deleted file mode 100644 index 37603df29..000000000 --- a/Coding_iOS/Controllers/MRListViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// MRListViewController.h -// Coding_iOS -// -// Created by Ease on 15/10/23. -// Copyright © 2015年 Coding. All rights reserved. -// - -#import "BaseViewController.h" -#import "Project.h" - -@interface MRListViewController : BaseViewController -@property (strong, nonatomic) Project *curProject; - -@end diff --git a/Coding_iOS/Controllers/MRListViewController.m b/Coding_iOS/Controllers/MRListViewController.m deleted file mode 100644 index c818285d2..000000000 --- a/Coding_iOS/Controllers/MRListViewController.m +++ /dev/null @@ -1,185 +0,0 @@ -// -// MRListViewController.m -// Coding_iOS -// -// Created by Ease on 15/10/23. -// Copyright © 2015年 Coding. All rights reserved. -// - -#define kMRPRListViewController_IsNew NO - -#define kMRPRListViewController_BottomViewHeight 49.0 - -#import "MRListViewController.h" -#import "XTSegmentControl.h" -#import "iCarousel.h" -#import "MRListView.h" -#import "MRDetailViewController.h" - - -@interface MRListViewController () -@property (strong, nonatomic) XTSegmentControl *mySegmentControl; -@property (strong, nonatomic) iCarousel *myCarousel; -@property (strong, nonatomic) NSMutableDictionary *myMRsDict; -@property (nonatomic, assign) NSInteger segmentIndex; - -@property (strong, nonatomic) UIView *bottomView; -@property (strong, nonatomic) UISegmentedControl *mySegmentedControl; -@end - -@implementation MRListViewController -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view. - self.view.backgroundColor = kColorTableBG; - self.title = @"Merge Requests"; - _myMRsDict = [[NSMutableDictionary alloc] initWithCapacity:6]; - - //添加myCarousel - _myCarousel = ({ - iCarousel *icarousel = [[iCarousel alloc] init]; - icarousel.dataSource = self; - icarousel.delegate = self; - icarousel.decelerationRate = 1.0; - icarousel.scrollSpeed = 1.0; - icarousel.type = iCarouselTypeLinear; - icarousel.pagingEnabled = YES; - icarousel.clipsToBounds = YES; - icarousel.bounceDistance = 0.2; - icarousel.scrollEnabled = kMRPRListViewController_IsNew; - [self.view addSubview:icarousel]; - [icarousel mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(kMRPRListViewController_IsNew? kMySegmentControl_Height: 0, 0, 0, 0)); - }]; - icarousel; - }); - - //添加滑块 - if (kMRPRListViewController_IsNew) { - __weak typeof(_myCarousel) weakCarousel = _myCarousel; - _mySegmentControl = [[XTSegmentControl alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, kMySegmentControl_Height) Items:@[@"我评审的", @"我发布的", @"其他的"] selectedBlock:^(NSInteger index) { - [weakCarousel scrollToItemAtIndex:index animated:NO]; - }]; - [self.view addSubview:_mySegmentControl]; - } - [self configBottomView]; - self.segmentIndex = 0; -} - -- (void)setSegmentIndex:(NSInteger)segmentIndex{ - _segmentIndex = segmentIndex; - if (self.mySegmentedControl.selectedSegmentIndex != _segmentIndex) { - [self.mySegmentedControl setSelectedSegmentIndex:_segmentIndex]; - } - MRListView *curView = (MRListView *)_myCarousel.currentItemView; - curView.curMRPRS = [self curMRPRS]; - [curView refreshToQueryData]; -} - -- (MRPRS *)curMRPRS{ - NSString *curKey = [NSString stringWithFormat:@"%ld_%ld", (long)_myCarousel.currentItemIndex, (long)_segmentIndex]; - MRPRS *curMRPRS = _myMRsDict[curKey]; - if (!curMRPRS) { - curMRPRS = [[MRPRS alloc] initWithType:(kMRPRListViewController_IsNew? MRPRSTypeMRMine: MRPRSTypeMRAll) + _myCarousel.currentItemIndex - statusIsOpen:_segmentIndex == 0 - userGK:_curProject.owner_user_name - projectName:_curProject.name]; - _myMRsDict[curKey] = curMRPRS; - } - return curMRPRS; -} - -#pragma mark Segment -- (void)configBottomView{ - if (!_bottomView) { - _bottomView = [UIView new]; - _bottomView.backgroundColor = self.view.backgroundColor; - [_bottomView addLineUp:YES andDown:NO]; - [self.view addSubview:_bottomView]; - [_bottomView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.bottom.equalTo(self.view); - make.height.mas_equalTo(kMRPRListViewController_BottomViewHeight); - }]; - } - if (!_mySegmentedControl) { - _mySegmentedControl = ({ - UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Open", @"Closed"]]; - segmentedControl.tintColor = kColorBrandGreen; - [segmentedControl setTitleTextAttributes:@{ - NSFontAttributeName: [UIFont boldSystemFontOfSize:16], - NSForegroundColorAttributeName: [UIColor whiteColor] - } - forState:UIControlStateSelected]; - [segmentedControl setTitleTextAttributes:@{ - NSFontAttributeName: [UIFont boldSystemFontOfSize:16], - NSForegroundColorAttributeName: kColorBrandGreen - } forState:UIControlStateNormal]; - [segmentedControl addTarget:self action:@selector(segmentedControlSelected:) forControlEvents:UIControlEventValueChanged]; - segmentedControl; - }); - _mySegmentedControl.frame = CGRectMake(kPaddingLeftWidth, (kMRPRListViewController_BottomViewHeight - 30)/2, kScreen_Width - 2*kPaddingLeftWidth, 30); - [_bottomView addSubview:_mySegmentedControl]; - } -} - -- (void)segmentedControlSelected:(id)sender{ - UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; - self.segmentIndex = segmentedControl.selectedSegmentIndex; -} - -#pragma mark iCarousel M -- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel{ - return 3; -} - -- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view{ - - MRListView *listView = (MRListView *)view; - if (!listView) { - listView = [[MRListView alloc] initWithFrame:carousel.bounds]; - __weak typeof(self) weakSelf = self; - listView.clickedMRBlock = ^(MRPR *clickedMR){ - [weakSelf goToMRDetail:clickedMR]; - }; - } - listView.curMRPRS = [self curMRPRS]; - if (index == carousel.currentItemIndex) { - [listView refreshToQueryData]; - } - [listView setSubScrollsToTop:(index == carousel.currentItemIndex)]; - return listView; -} - -- (void)carouselDidScroll:(iCarousel *)carousel{ - [self.view endEditing:YES]; - if (_mySegmentControl) { - float offset = carousel.scrollOffset; - if (offset > 0) { - [_mySegmentControl moveIndexWithProgress:offset]; - } - } -} - -- (void)carouselCurrentItemIndexDidChange:(iCarousel *)carousel -{ - if (_mySegmentControl) { - _mySegmentControl.currentIndex = carousel.currentItemIndex; - } - MRListView *listView = (MRListView *)carousel.currentItemView; - listView.curMRPRS = [self curMRPRS]; - [listView refreshToQueryData]; - [carousel.visibleItemViews enumerateObjectsUsingBlock:^(UIView *obj, NSUInteger idx, BOOL *stop) { - [obj setSubScrollsToTop:(obj == carousel.currentItemView)]; - }]; -} - -#pragma mark goto VC -- (void)goToMRDetail:(MRPR *)curMR{ - NSLog(@"%@", curMR.title); - MRDetailViewController *vc = [MRDetailViewController new]; - vc.curMRPR = curMR; - vc.curProject = _curProject; - [self.navigationController pushViewController:vc animated:YES]; -} -@end diff --git a/Coding_iOS/Controllers/MRPRAcceptViewController.m b/Coding_iOS/Controllers/MRPRAcceptViewController.m index c39bd7630..0740300d1 100644 --- a/Coding_iOS/Controllers/MRPRAcceptViewController.m +++ b/Coding_iOS/Controllers/MRPRAcceptViewController.m @@ -69,6 +69,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myTableView.tableFooterView = [self tableFooterView]; @@ -138,9 +141,23 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath - (UIView*)tableFooterView{ UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 90)]; - _mergeBtn = [UIButton buttonWithStyle:StrapInfoStyle andTitle:@"确认合并" andFrame:CGRectMake(10, 0, kScreen_Width-10*2, 44) target:self action:@selector(mergeBtnClicked:)]; - [_mergeBtn setCenter:footerV.center]; + _mergeBtn = ({ + UIButton *curButton = [UIButton new]; + curButton.cornerRadius = 4.0; + [curButton addTarget:self action:@selector(mergeBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; + [curButton.titleLabel setFont:[UIFont systemFontOfSize:17]]; + [curButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [curButton setTitle:@"确认合并" forState:UIControlStateNormal]; + [curButton setBackgroundColor:[UIColor colorWithHexString:@"0x425063"]]; + curButton; + }); [footerV addSubview:_mergeBtn]; + [_mergeBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.offset(kPaddingLeftWidth); + make.right.offset(-kPaddingLeftWidth); + make.centerY.equalTo(footerV); + make.height.mas_equalTo(44); + }]; return footerV; } diff --git a/Coding_iOS/Controllers/MRPRCommitsViewController.m b/Coding_iOS/Controllers/MRPRCommitsViewController.m index dbdbf05aa..39e84f2ad 100644 --- a/Coding_iOS/Controllers/MRPRCommitsViewController.m +++ b/Coding_iOS/Controllers/MRPRCommitsViewController.m @@ -38,6 +38,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; diff --git a/Coding_iOS/Controllers/MRPRFilesViewController.m b/Coding_iOS/Controllers/MRPRFilesViewController.m index dd2628501..9be303601 100644 --- a/Coding_iOS/Controllers/MRPRFilesViewController.m +++ b/Coding_iOS/Controllers/MRPRFilesViewController.m @@ -44,6 +44,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; diff --git a/Coding_iOS/Controllers/MRPRListViewController.h b/Coding_iOS/Controllers/MRPRListViewController.h new file mode 100644 index 000000000..52e082e63 --- /dev/null +++ b/Coding_iOS/Controllers/MRPRListViewController.h @@ -0,0 +1,15 @@ +// +// MRPRListViewController.h +// Coding_iOS +// +// Created by Ease on 2017/2/14. +// Copyright © 2017年 Coding. All rights reserved. +// + +#import "BaseViewController.h" +#import "Project.h" + +@interface MRPRListViewController : BaseViewController +@property (strong, nonatomic) Project *curProject; +@property (assign, nonatomic) BOOL isMR; +@end diff --git a/Coding_iOS/Controllers/PRListViewController.m b/Coding_iOS/Controllers/MRPRListViewController.m similarity index 60% rename from Coding_iOS/Controllers/PRListViewController.m rename to Coding_iOS/Controllers/MRPRListViewController.m index 08c1f7e66..183657b93 100644 --- a/Coding_iOS/Controllers/PRListViewController.m +++ b/Coding_iOS/Controllers/MRPRListViewController.m @@ -2,13 +2,11 @@ // MRPRListViewController.m // Coding_iOS // -// Created by Ease on 15/5/29. -// Copyright (c) 2015年 Coding. All rights reserved. +// Created by Ease on 2017/2/14. +// Copyright © 2017年 Coding. All rights reserved. // -#define kMRPRListViewController_BottomViewHeight 49.0 - -#import "PRListViewController.h" +#import "MRPRListViewController.h" #import "ODRefreshControl.h" #import "SVPullToRefresh.h" #import "MRPRS.h" @@ -16,22 +14,26 @@ #import "MRPRListCell.h" #import "PRDetailViewController.h" #import "MRDetailViewController.h" +#import "EAFliterMenu.h" -@interface PRListViewController () +@interface MRPRListViewController () @property (strong, nonatomic) NSMutableDictionary *dataDict; @property (strong, nonatomic) UITableView *myTableView; @property (nonatomic, strong) ODRefreshControl *myRefreshControl; + @property (nonatomic, assign) NSInteger selectedIndex; +@property (strong, nonatomic) UIButton *titleBtn; +@property (nonatomic, strong) EAFliterMenu *myFliterMenu; -@property (strong, nonatomic) UIView *bottomView; -@property (strong, nonatomic) UISegmentedControl *mySegmentedControl; @end -@implementation PRListViewController -- (void)viewDidLoad{ +@implementation MRPRListViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. [super viewDidLoad]; self.view.backgroundColor = kColorTableBG; - self.title = @"Pull Requests"; _dataDict = [NSMutableDictionary new]; _myTableView = ({ @@ -45,9 +47,12 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; - UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, kMRPRListViewController_BottomViewHeight, 0); + UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, 0, 0); tableView.contentInset = insets; tableView.scrollIndicatorInsets = insets; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myRefreshControl = [[ODRefreshControl alloc] initInScrollView:self.myTableView]; @@ -57,31 +62,42 @@ - (void)viewDidLoad{ [_myTableView addInfiniteScrollingWithActionHandler:^{ [weakSelf refreshMore:YES]; }]; - [self configBottomView]; - self.selectedIndex = 0; + + //初始化过滤目录 + _myFliterMenu = [[EAFliterMenu alloc] initWithFrame:CGRectMake(0, 44 + kSafeArea_Top, kScreen_Width, kScreen_Height - (44 + kSafeArea_Top)) items:[self titleList]]; + _myFliterMenu.clickBlock = ^(NSInteger selectIndex){ + if (weakSelf.selectedIndex != selectIndex) { + weakSelf.selectedIndex = selectIndex; + } + }; + + [self refresh]; } - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; - if([self curMRPRS].list.count <= 0) { - [self.view configBlankPage:EaseBlankPageTypeTaskResource hasData:NO hasError:NO reloadButtonBlock:nil]; +} + +- (void)viewWillDisappear:(BOOL)animated{ + [super viewWillDisappear:animated]; + if (_myFliterMenu.isShowing) { + [_myFliterMenu dismissMenu]; } - [self refresh]; } +#pragma mark Fliter + - (void)setSelectedIndex:(NSInteger)selectedIndex{ _selectedIndex = selectedIndex; - if (self.mySegmentedControl.selectedSegmentIndex != _selectedIndex) { - [self.mySegmentedControl setSelectedSegmentIndex:_selectedIndex]; - } + [self setupTitleBtn]; + [self.myTableView reloadData]; __weak typeof(self) weakSelf = self; [self.view configBlankPage:EaseBlankPageTypeView hasData:YES hasError:NO reloadButtonBlock:^(id sender) { [weakSelf refreshMore:NO]; }]; - if ([self curMRPRS].list.count <= 0) { [self refresh]; }else{ @@ -89,10 +105,56 @@ - (void)setSelectedIndex:(NSInteger)selectedIndex{ } } +- (NSArray *)titleList{ + NSArray *titleList = (_isMR? @[@"默认", + @"可合并", + @"不可自动合并", + @"已拒绝", + @"已合并", + ]: + @[@"未处理", + @"已处理", + @"全部", + ]); + return titleList; +} + +- (void)setupTitleBtn{ + if (!_titleBtn) { + _titleBtn = [UIButton new]; + [_titleBtn setTitleColor:kColorNavTitle forState:UIControlStateNormal]; + [_titleBtn.titleLabel setFont:[UIFont systemFontOfSize:kNavTitleFontSize]]; + [_titleBtn addTarget:self action:@selector(fliterClicked) forControlEvents:UIControlEventTouchUpInside]; + self.navigationItem.titleView = _titleBtn; + } + + NSString *titleStr = [self titleList][_selectedIndex]; + CGFloat titleWidth = [titleStr getWidthWithFont:_titleBtn.titleLabel.font constrainedToSize:CGSizeMake(kScreen_Width, 30)]; + CGFloat imageWidth = 12; + CGFloat btnWidth = titleWidth +imageWidth; + _titleBtn.frame = CGRectMake((kScreen_Width-btnWidth)/2, (44-30)/2, btnWidth, 30); + _titleBtn.titleEdgeInsets = UIEdgeInsetsMake(0, -imageWidth, 0, imageWidth); + _titleBtn.imageEdgeInsets = UIEdgeInsetsMake(0, titleWidth, 0, -titleWidth); + [_titleBtn setTitle:titleStr forState:UIControlStateNormal]; + [_titleBtn setImage:[UIImage imageNamed:@"btn_fliter_down"] forState:UIControlStateNormal]; +} + +-(void)fliterClicked{ + if (_myFliterMenu.isShowing) { + [_myFliterMenu dismissMenu]; + }else{ + _myFliterMenu.selectIndex = self.selectedIndex; + [_myFliterMenu showMenuInView:kKeyWindow]; + } +} + +#pragma mark Data + - (MRPRS *)curMRPRS{ MRPRS *curMRPRS = [_dataDict objectForKey:@(_selectedIndex)]; if (!curMRPRS) { - curMRPRS = [[MRPRS alloc] initWithType:MRPRSTypePR statusIsOpen:_selectedIndex == 0 userGK:_curProject.owner_user_name projectName:_curProject.name]; + + curMRPRS = [[MRPRS alloc] initWithType:_isMR? _selectedIndex: _selectedIndex + MRPRSTypePROpen userGK:_curProject.owner_user_name projectName:_curProject.name]; [_dataDict setObject:curMRPRS forKey:@(_selectedIndex)]; } return curMRPRS; @@ -135,43 +197,6 @@ - (void)sendRequest:(MRPRS *)curMRPRS{ }]; } -#pragma mark Segment -- (void)configBottomView{ - if (!_bottomView) { - _bottomView = [UIView new]; - _bottomView.backgroundColor = self.view.backgroundColor; - [_bottomView addLineUp:YES andDown:NO]; - [self.view addSubview:_bottomView]; - [_bottomView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.bottom.equalTo(self.view); - make.height.mas_equalTo(kMRPRListViewController_BottomViewHeight); - }]; - } - if (!_mySegmentedControl) { - _mySegmentedControl = ({ - UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Open", @"Closed"]]; - segmentedControl.tintColor = kColorBrandGreen; - [segmentedControl setTitleTextAttributes:@{ - NSFontAttributeName: [UIFont boldSystemFontOfSize:16], - NSForegroundColorAttributeName: [UIColor whiteColor] - } - forState:UIControlStateSelected]; - [segmentedControl setTitleTextAttributes:@{ - NSFontAttributeName: [UIFont boldSystemFontOfSize:16], - NSForegroundColorAttributeName: kColorBrandGreen - } forState:UIControlStateNormal]; - [segmentedControl addTarget:self action:@selector(segmentedControlSelected:) forControlEvents:UIControlEventValueChanged]; - segmentedControl; - }); - _mySegmentedControl.frame = CGRectMake(kPaddingLeftWidth, (kMRPRListViewController_BottomViewHeight - 30)/2, kScreen_Width - 2*kPaddingLeftWidth, 30); - [_bottomView addSubview:_mySegmentedControl]; - } -} - -- (void)segmentedControlSelected:(id)sender{ - UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; - self.selectedIndex = segmentedControl.selectedSegmentIndex; -} #pragma mark TableM - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ @@ -182,12 +207,12 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N MRPR *curMRPR = [[self curMRPRS].list objectAtIndex:indexPath.row]; MRPRListCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_MRPRListCell forIndexPath:indexPath]; cell.curMRPR = curMRPR; - [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:60]; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - return [MRPRListCell cellHeight]; + return [MRPRListCell cellHeightWithObj:[[self curMRPRS].list objectAtIndex:indexPath.row]]; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ @@ -204,9 +229,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath vc.curProject = _curProject; [self.navigationController pushViewController:vc animated:YES]; } - + } - - @end diff --git a/Coding_iOS/Controllers/MeDisplayViewController.m b/Coding_iOS/Controllers/MeDisplayViewController.m index 5b8e2d1c7..254b90669 100644 --- a/Coding_iOS/Controllers/MeDisplayViewController.m +++ b/Coding_iOS/Controllers/MeDisplayViewController.m @@ -53,9 +53,11 @@ - (void)viewDidLoad{ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - _curUser = [Login curLoginUser]; [self.myTableView reloadData]; +} +- (User *)curUser{ + return [Login curLoginUser]; } - (void)setupHeaderV{ @@ -74,7 +76,7 @@ - (void)setupHeaderV{ [weakSelf goToSettingInfo]; //编辑 }; - [[Coding_NetAPIManager sharedManager] request_Users_activenessWithGlobalKey:_curUser.global_key andBlock:^(ActivenessModel *data, NSError *error) { + [[Coding_NetAPIManager sharedManager] request_Users_activenessWithGlobalKey:self.curUser.global_key andBlock:^(ActivenessModel *data, NSError *error) { weakSelf.activenessModel = data; [weakSelf.myTableView reloadData]; }]; @@ -95,6 +97,8 @@ - (void)setDataIndex:(NSInteger)dataIndex{ if ((_dataIndex == 0 && self.curTweets.list.count <= 0) || (_dataIndex == 1 && _dataList.count <= 0)) { [self refresh]; + }else{ + self.view.blankPageView.hidden = YES; } } @@ -102,10 +106,10 @@ - (void)setDataIndex:(NSInteger)dataIndex{ - (void)refresh{ if (_dataIndex == 0) { - _curUser = [Login curLoginUser]; + self.curUser = [Login curLoginUser]; [self.myTableView reloadData]; __weak typeof(self) weakSelf = self; - [[Coding_NetAPIManager sharedManager] request_Users_activenessWithGlobalKey:_curUser.global_key andBlock:^(ActivenessModel *data, NSError *error) { + [[Coding_NetAPIManager sharedManager] request_Users_activenessWithGlobalKey:self.curUser.global_key andBlock:^(ActivenessModel *data, NSError *error) { weakSelf.activenessModel = data; [weakSelf.myTableView reloadData]; }]; @@ -115,6 +119,13 @@ - (void)refresh{ [self requestTopicsMore:NO]; } } + if (self.myTableView.loadingView) { + CGFloat offsetY = _userInfoCell.frame.size.height + [UserActiveGraphCell cellHeight] + 80; + [self.myTableView.loadingView mas_updateConstraints:^(MASConstraintMaker *make) { + make.centerY.offset(offsetY); + make.height.mas_equalTo(200); + }]; + } } - (void)refreshMore{ @@ -132,11 +143,13 @@ - (void)refreshMore{ - (void)requestTopicsMore:(BOOL)loadMore{ _willLoadMore = loadMore; _curPage = _willLoadMore? _curPage + 1: 0; - + if (self.dataList.count <= 0) { + [self.myTableView beginLoading]; + } __weak typeof(self) weakSelf = self; - [[Coding_NetAPIManager sharedManager] request_JoinedTopicsWithUserGK:_curUser.global_key page:weakSelf.curPage block:^(id data, BOOL hasMoreData, NSError *error) { + [[Coding_NetAPIManager sharedManager] request_JoinedTopicsWithUserGK:self.curUser.global_key page:weakSelf.curPage block:^(id data, BOOL hasMoreData, NSError *error) { [weakSelf.refreshControl endRefreshing]; - [weakSelf.view endLoading]; + [weakSelf.myTableView endLoading]; [weakSelf.myTableView.infiniteScrollingView stopAnimating]; if (data) { if (weakSelf.willLoadMore) { @@ -148,7 +161,7 @@ - (void)requestTopicsMore:(BOOL)loadMore{ weakSelf.myTableView.showsInfiniteScrolling = hasMoreData; } - CGFloat offsetY = _userInfoCell.frame.size.height + [UserActiveGraphCell cellHeight] + 100; + CGFloat offsetY = _userInfoCell.frame.size.height + [UserActiveGraphCell cellHeight] + 80; [weakSelf.view configBlankPage:EaseBlankPageTypeMyJoinedTopic hasData:weakSelf.dataList.count > 0 hasError:error != nil offsetY:offsetY reloadButtonBlock:^(id sender) { [weakSelf refresh]; }]; @@ -159,19 +172,19 @@ - (void)requestTopicsMore:(BOOL)loadMore{ #pragma mark headerV - (void)fansCountBtnClicked{ UsersViewController *vc = [[UsersViewController alloc] init]; - vc.curUsers = [Users usersWithOwner:_curUser Type:UsersTypeFollowers]; + vc.curUsers = [Users usersWithOwner:self.curUser Type:UsersTypeFollowers]; [self.navigationController pushViewController:vc animated:YES]; } - (void)followsCountBtnClicked{ UsersViewController *vc = [[UsersViewController alloc] init]; - vc.curUsers = [Users usersWithOwner:_curUser Type:UsersTypeFriends_Attentive]; + vc.curUsers = [Users usersWithOwner:self.curUser Type:UsersTypeFriends_Attentive]; [self.navigationController pushViewController:vc animated:YES]; } - (void)userIconClicked{ // 显示大图 MJPhoto *photo = [[MJPhoto alloc] init]; - photo.url = [_curUser.avatar urlWithCodePath]; + photo.url = [self.curUser.avatar urlWithCodePath]; MJPhotoBrowser *browser = [[MJPhotoBrowser alloc] init]; browser.currentPhotoIndex = 0; @@ -211,8 +224,13 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ if (section < 2) { return 20; + }else{ + if (_dataIndex == 0) { + return 0; + }else{ + return _dataList.count == 0? self.view.height - self.sectionHeaderView.height: 0; + } } - return 0; } - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ @@ -234,7 +252,7 @@ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ if (indexPath.section == 0) { EaseUserInfoCell *cell = self.userInfoCell; - cell.user = _curUser; + cell.user = self.curUser; return cell; } else if (indexPath.section == 1) { UserActiveGraphCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_UserActiveGraphCell forIndexPath:indexPath]; @@ -254,7 +272,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ if (indexPath.section == 0) { - return [tableView cellHeightForIndexPath:indexPath model:_curUser keyPath:@"user" cellClass:[EaseUserInfoCell class] contentViewWidth:kScreen_Width]; + return [tableView cellHeightForIndexPath:indexPath model:self.curUser keyPath:@"user" cellClass:[EaseUserInfoCell class] contentViewWidth:kScreen_Width]; } else if (indexPath.section == 1) { return [UserActiveGraphCell cellHeight]; diff --git a/Coding_iOS/Controllers/MeSetting/AboutViewController.m b/Coding_iOS/Controllers/MeSetting/AboutViewController.m index 278017458..01f551af9 100755 --- a/Coding_iOS/Controllers/MeSetting/AboutViewController.m +++ b/Coding_iOS/Controllers/MeSetting/AboutViewController.m @@ -10,6 +10,88 @@ #import "TitleDisclosureCell.h" #import "CodingShareView.h" + +#ifdef Target_Enterprise + +@interface AboutViewController () +@end + +@implementation AboutViewController + +- (void)viewDidLoad{ + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = kColorTableSectionBg; + self.title = @"关于我们"; + + CGFloat logoViewTop, logoLabelTop, versionLabelTop, infoLabelBottom; + NSString *icon_user_monkey; + if (kDevice_Is_iPhone6Plus) { + logoViewTop = 80; + logoLabelTop = 30; + versionLabelTop = 35; + infoLabelBottom = 35; + icon_user_monkey = @"icon_user_monkey"; + }else if (kDevice_Is_iPhone6){ + logoViewTop = 65; + logoLabelTop = 20; + versionLabelTop = 20; + infoLabelBottom = 20; + icon_user_monkey = @"icon_user_monkey"; + }else{ + logoViewTop = 40; + logoLabelTop = 15; + versionLabelTop = 20; + infoLabelBottom = 20; + icon_user_monkey = @"icon_user_monkey"; + } + + UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:icon_user_monkey]]; + [self.view addSubview:logoView]; + + UILabel *versionLabel = [[UILabel alloc] init]; + versionLabel.font = [UIFont systemFontOfSize:13]; + versionLabel.textColor = [UIColor colorWithHexString:@"0x323A45"]; + versionLabel.textAlignment = NSTextAlignmentCenter; + versionLabel.numberOfLines = 0; + versionLabel.text = [NSString stringWithFormat:@"CODING Enterprise\n\n版本:V%@", kVersion_Coding]; + versionLabel.userInteractionEnabled = YES; + __weak typeof(versionLabel) weakLabel = versionLabel; + [versionLabel bk_whenTapped:^{ + weakLabel.text = [NSString stringWithFormat:@"CODING Enterprise\n\n版本:V%@", [weakLabel.text hasSuffix:kVersion_Coding]? kVersionBuild_Coding: kVersion_Coding]; + }]; + [self.view addSubview:versionLabel]; + + UILabel *infoLabel = [[UILabel alloc] init]; + infoLabel.numberOfLines = 0; + infoLabel.backgroundColor = [UIColor clearColor]; + infoLabel.font = [UIFont systemFontOfSize:13]; + infoLabel.textColor = [UIColor colorWithHexString:@"0x76808E"]; + infoLabel.textAlignment = NSTextAlignmentCenter; + infoLabel.text = [NSString stringWithFormat:@"官网:https://e.coding.net \n联系电话:400-930-9163 \n客服邮箱:enterprise@coding.net\n客服 QQ:2847276903"]; + [self.view addSubview:infoLabel]; + + [logoView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.view.mas_top).offset(logoViewTop); + make.centerX.equalTo(self.view.mas_centerX); + }]; + + [versionLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(logoView.mas_bottom).offset(logoLabelTop); + make.left.right.equalTo(self.view); + }]; + + [infoLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.view.mas_bottom).offset(-infoLabelBottom - kSafeArea_Bottom); + make.left.right.mas_equalTo(self.view); + }]; +} + +@end + +#else + + @interface AboutViewController () @end @@ -50,14 +132,20 @@ - (void)viewDidLoad{ logoLabel.font = [UIFont boldSystemFontOfSize:17]; logoLabel.textColor = kColor222; logoLabel.textAlignment = NSTextAlignmentCenter; - logoLabel.text = @"Coding-让开发更简单"; + logoLabel.text = @"CODING-让开发更简单"; [self.view addSubview:logoLabel]; UILabel *versionLabel = [[UILabel alloc] init]; versionLabel.font = [UIFont systemFontOfSize:12]; versionLabel.textColor = kColor666; versionLabel.textAlignment = NSTextAlignmentCenter; - versionLabel.text = [NSString stringWithFormat:@"版本:V%@", kVersionBuild_Coding]; + versionLabel.text = [NSString stringWithFormat:@"版本:V%@", kVersion_Coding]; + versionLabel.userInteractionEnabled = YES; + __weak typeof(versionLabel) weakLabel = versionLabel; + [versionLabel bk_whenTapped:^{ + weakLabel.text = [NSString stringWithFormat:@"版本:V%@", [weakLabel.text hasSuffix:kVersion_Coding]? kVersionBuild_Coding: kVersion_Coding]; + }]; + [self.view addSubview:versionLabel]; UILabel *infoLabel = [[UILabel alloc] init]; @@ -66,7 +154,7 @@ - (void)viewDidLoad{ infoLabel.font = [UIFont systemFontOfSize:12]; infoLabel.textColor = kColor666; infoLabel.textAlignment = NSTextAlignmentCenter; - infoLabel.text = [NSString stringWithFormat:@"官网:https://coding.net \nE-mail:link@coding.net \n微博:Coding \n微信:扣钉Coding"]; + infoLabel.text = [NSString stringWithFormat:@"官网:https://coding.net \nE-mail:support@coding.net \n微博:Coding \n微信:扣钉Coding\nQQ 群:617404718"]; [self.view addSubview:infoLabel]; [logoView mas_makeConstraints:^(MASConstraintMaker *make) { @@ -89,9 +177,9 @@ - (void)viewDidLoad{ [infoLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.view.mas_bottom).offset(-infoLabelBottom); make.left.right.mas_equalTo(self.view); - make.height.mas_equalTo(5*infoLabel.font.pointSize); + make.height.mas_equalTo(6*infoLabel.font.pointSize); }]; - + UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; tableView.scrollEnabled = NO; tableView.backgroundColor = [UIColor clearColor]; @@ -113,7 +201,7 @@ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ TitleDisclosureCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleDisclosure forIndexPath:indexPath]; - [cell setTitleStr:indexPath.row == 0? @"去评分": @"推荐 Coding"]; + [cell setTitleStr:indexPath.row == 0? @"去评分": @"推荐 CODING"]; [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; return cell; } @@ -127,3 +215,6 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath } @end + +#endif + diff --git a/Coding_iOS/Controllers/MeSetting/SettingAccountViewController.m b/Coding_iOS/Controllers/MeSetting/SettingAccountViewController.m index 41e510b11..8721435fc 100755 --- a/Coding_iOS/Controllers/MeSetting/SettingAccountViewController.m +++ b/Coding_iOS/Controllers/MeSetting/SettingAccountViewController.m @@ -17,6 +17,7 @@ #import "Login.h" #import "Close2FAViewController.h" #import "SettingEmailViewController.h" +#import "CannotLoginViewController.h" @interface SettingAccountViewController () @property (strong, nonatomic) User *myUser; @@ -47,6 +48,9 @@ - (void)viewDidLoad [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); } @@ -68,6 +72,99 @@ - (void)refresh2FA{ }]; } + +#ifdef Target_Enterprise + +#pragma mark TableM + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ + return 2; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + NSInteger row = (section == 0? 2: _is2FAOpen? 3: 2); + return row; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + if (indexPath.section == 0) { + TitleValueCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleValue forIndexPath:indexPath]; + if (indexPath.row == 0) { + cell.selectionStyle = UITableViewCellSelectionStyleNone; + [cell setTitleStr:@"用户名" valueStr:self.myUser.global_key]; + }else{ + cell.selectionStyle = self.myUser.email_validation.boolValue? UITableViewCellSelectionStyleNone: UITableViewCellSelectionStyleDefault; + NSString *valueStr = (self.myUser.email.length <= 0? @"未绑定": + self.myUser.email_validation.boolValue? self.myUser.email: + [NSString stringWithFormat:@"%@ 未验证",self.myUser.email]); + [cell setTitleStr:@"邮箱" valueStr:valueStr]; + } + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; + }else{ + if (indexPath.row == 0) { + TitleValueMoreCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleValueMore forIndexPath:indexPath]; + [cell setTitleStr:@"手机号码" valueStr:self.myUser.phone.length > 0 ? self.myUser.phone: @"未绑定"]; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; + }else{ + TitleDisclosureCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleDisclosure forIndexPath:indexPath]; + [cell setTitleStr:indexPath.row == 1? @"修改密码": @"关闭两步验证"]; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; + } + } +} +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ + UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 20)]; + headerView.backgroundColor = kColorTableSectionBg; + return headerView; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ + return 15.0; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ + return 1.0/[UIScreen mainScreen].scale; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + if (indexPath.section == 0) { + if (indexPath.row == 1) { + if (!self.myUser.email_validation.boolValue && self.myUser.email.length > 0) { + [self.view endEditing:YES]; + [[UIAlertController ea_alertViewWithTitle:@"激活邮箱" message:@"该邮箱尚未激活,请尽快去邮箱查收邮件并激活账号。如果在收件箱中没有看到,请留意一下垃圾邮件箱子(T_T)" buttonTitles:@[@"重发激活邮件"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { + [self sendActivateEmail]; + } + }] show]; + } + } + }else{ + if (indexPath.row == 0) { + if ([NSObject isPrivateCloud].boolValue) { + [NSObject showHudTipStr:@"App 暂不支持设置手机号码"]; + }else{ + SettingPhoneViewController *vc = [[SettingPhoneViewController alloc] init]; + [self.navigationController pushViewController:vc animated:YES]; + } + }else if (indexPath.row == 1){ + SettingPasswordViewController *vc = [[SettingPasswordViewController alloc] init]; + vc.myUser = self.myUser; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + Close2FAViewController *vc = [Close2FAViewController vcWithPhone:_myUser.phone sucessBlock:^(UIViewController *vcc) { + [vcc.navigationController popToRootViewControllerAnimated:YES]; + }]; + [self.navigationController pushViewController:vc animated:YES]; + } + } +} + +#else + #pragma mark TableM - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ @@ -75,7 +172,7 @@ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ - NSInteger row = (section == 1? 2: 1); + NSInteger row = ((section == 1 || section == 2)? 2: 1); return row; } @@ -83,7 +180,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N if (indexPath.section == 0) { TitleValueCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleValue forIndexPath:indexPath]; cell.selectionStyle = UITableViewCellSelectionStyleNone; - [cell setTitleStr:@"个性后缀" valueStr:self.myUser.global_key]; + [cell setTitleStr:@"用户名" valueStr:self.myUser.global_key]; [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; return cell; }else if (indexPath.section == 1){ @@ -105,7 +202,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } }else{ TitleDisclosureCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleDisclosure forIndexPath:indexPath]; - [cell setTitleStr:indexPath.section == 2? @"修改密码": @"关闭两步验证"]; + [cell setTitleStr:indexPath.section == 2? indexPath.row == 0? @"修改密码": @"找回密码": @"关闭两步验证"]; [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; return cell; } @@ -129,15 +226,11 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath if (indexPath.section == 1) { if (indexPath.row == 0) { if (!self.myUser.email_validation.boolValue && self.myUser.email.length > 0) { - UIAlertView *alertView = [UIAlertView bk_alertViewWithTitle:@"激活邮箱" message:@"该邮箱尚未激活,请尽快去邮箱查收邮件并激活账号。如果在收件箱中没有看到,请留意一下垃圾邮件箱子(T_T)"]; - [alertView bk_setCancelButtonWithTitle:@"取消" handler:nil]; - [alertView bk_addButtonWithTitle:@"重发激活邮件" handler:nil]; - [alertView bk_setDidDismissBlock:^(UIAlertView *alert, NSInteger index) { - if (index == 1) { + [[UIAlertController ea_alertViewWithTitle:@"激活邮箱" message:@"该邮箱尚未激活,请尽快去邮箱查收邮件并激活账号。如果在收件箱中没有看到,请留意一下垃圾邮件箱子(T_T)" buttonTitles:@[@"重发激活邮件"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + if (index == 0) { [self sendActivateEmail]; } - }]; - [alertView show]; + }] show]; }else{ SettingEmailViewController *vc = [SettingEmailViewController new]; [self.navigationController pushViewController:vc animated:YES]; @@ -147,9 +240,18 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath [self.navigationController pushViewController:vc animated:YES]; } }else if (indexPath.section == 2){ - SettingPasswordViewController *vc = [[SettingPasswordViewController alloc] init]; - vc.myUser = self.myUser; - [self.navigationController pushViewController:vc animated:YES]; + if (indexPath.row == 0) { + SettingPasswordViewController *vc = [[SettingPasswordViewController alloc] init]; + vc.myUser = self.myUser; + [self.navigationController pushViewController:vc animated:YES]; + }else{ + if (self.myUser.hasNoEamilAndPhone) { + [NSObject showHudTipStr:@"邮箱和手机账号均未填写的情况下,无法使用找回密码功能"]; + }else{ + CannotLoginViewController *vc = [CannotLoginViewController vcWithMethodType:(self.myUser.phone.length > 0? CannotLoginMethodPhone: CannotLoginMethodEamil) stepIndex:0 userStr:nil]; + [self.navigationController pushViewController:vc animated:YES]; + } + } }else if (indexPath.section == 3){ Close2FAViewController *vc = [Close2FAViewController vcWithPhone:_myUser.phone sucessBlock:^(UIViewController *vcc) { [vcc.navigationController popToRootViewControllerAnimated:YES]; @@ -158,6 +260,10 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath } } +#endif + + + - (void)sendActivateEmail{ [[Coding_NetAPIManager sharedManager] request_SendActivateEmail:self.myUser.email block:^(id data, NSError *error) { if (data) { diff --git a/Coding_iOS/Controllers/MeSetting/SettingEmailViewController.m b/Coding_iOS/Controllers/MeSetting/SettingEmailViewController.m index 81344ccf0..4ba5070e4 100644 --- a/Coding_iOS/Controllers/MeSetting/SettingEmailViewController.m +++ b/Coding_iOS/Controllers/MeSetting/SettingEmailViewController.m @@ -40,6 +40,9 @@ - (void)viewDidLoad{ [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; tableView; }); _myTableView.tableFooterView = [self customFooterView]; @@ -71,7 +74,7 @@ - (UIView *)customFooterView{ RACObserve(self, j_captcha), RACObserve(self, two_factor_code)] reduce:^id(NSString *email, NSString *j_captcha, NSString *two_factor_code){ - return @(email.length > 0 && j_captcha.length > 0 && two_factor_code.length > 0); + return @(email.length > 0 && j_captcha.length > 0 && (two_factor_code.length > 0 || [Login curLoginUser].hasNoEamilAndPhone)); }]; [footerV addSubview:_footerBtn]; @@ -110,6 +113,13 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N return cell; } +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + if (indexPath.row == 1 && [Login curLoginUser].hasNoEamilAndPhone) { + return 0; + } + return 50; +} + - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 20)]; headerView.backgroundColor = kColorTableSectionBg; @@ -133,7 +143,7 @@ - (void)doneBtnClicked:(id)sender{ NSString *tipStr; if (![_email isEmail]) { tipStr = @"邮箱格式有误"; - }else if (_two_factor_code.length <= 0){ + }else if (_two_factor_code.length <= 0 && ![Login curLoginUser].hasNoEamilAndPhone){ tipStr = !_is2FAOpen? @"请填写密码": @"请填写两步验证码"; }else if (_j_captcha.length <= 0){ tipStr = @"请填写验证码"; diff --git a/Coding_iOS/Controllers/MeSetting/SettingMineInfoViewController.m b/Coding_iOS/Controllers/MeSetting/SettingMineInfoViewController.m index 852ab58d9..0ff7a140f 100755 --- a/Coding_iOS/Controllers/MeSetting/SettingMineInfoViewController.m +++ b/Coding_iOS/Controllers/MeSetting/SettingMineInfoViewController.m @@ -21,6 +21,10 @@ #import "Helper.h" #import "UserInfoDetailTagCell.h" #import "JDStatusBarNotification.h" +#import "SettingSkillsViewController.h" +#import "SettingAccountViewController.h" + +#ifdef Target_Enterprise @interface SettingMineInfoViewController () @property (strong, nonatomic) UITableView *myTableView; @@ -117,7 +121,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N case 0:{ switch (indexPath.row) { case 1: - [cell setTitleStr:@"昵称" valueStr:_curUser.name]; + [cell setTitleStr:@"名字" valueStr:_curUser.name]; break; case 2: if (_curUser.sex.intValue == 0) { @@ -194,13 +198,15 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath switch (indexPath.row) { case 0:{//头像 if (![JDStatusBarNotification isVisible]) { - UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"更换头像" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照", @"从相册选择", nil]; - [actionSheet showInView:self.view]; + __weak typeof(self) weakSelf = self; + [[UIAlertController ea_actionSheetCustomWithTitle:@"更换头像" buttonTitles:@[@"拍照", @"从相册选择"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) { + [weakSelf actionSheetDidDismissWithButtonIndex:index]; + }] showInView:self.view]; } } break; - case 1:{//昵称 - SettingTextViewController *vc = [SettingTextViewController settingTextVCWithTitle:@"昵称" textValue:_curUser.name doneBlock:^(NSString *textValue) { + case 1:{//名字 + SettingTextViewController *vc = [SettingTextViewController settingTextVCWithTitle:@"名字" textValue:_curUser.name doneBlock:^(NSString *textValue) { NSString *preValue = weakSelf.curUser.name; weakSelf.curUser.name = textValue; [weakSelf.myTableView reloadData]; @@ -333,10 +339,10 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath NSNumber *index = [_curJobManager indexOfJobName:_curUser.job_str]; [ActionSheetStringPicker showPickerWithTitle:nil rows:@[jobNameArray] initialSelection:@[index] doneBlock:^(ActionSheetStringPicker *picker, NSArray *selectedIndex, NSArray *selectedValue) { NSString *preValue = weakSelf.curUser.job_str; - NSString *preValueKey = weakSelf.curUser.job; - + NSNumber *preValueKey = weakSelf.curUser.job; + NSNumber *jobIndex = selectedIndex.firstObject; - NSString *job = [NSString stringWithFormat:@"%d", jobIndex.intValue +1]; + NSNumber *job = @(jobIndex.intValue +1); NSString *job_str = selectedValue.firstObject; _curUser.job = job; _curUser.job_str = job_str; @@ -370,7 +376,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath tags = [selectedTags componentsJoinedByString:@","]; tags_str = [weakSelf.curTagsManager getTags_strWithTags:selectedTags]; } - + weakSelf.curUser.tags = tags; weakSelf.curUser.tags_str = tags_str; [weakSelf.myTableView reloadData]; @@ -391,7 +397,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath } #pragma mark UIActionSheetDelegate M -- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{ +- (void)actionSheetDidDismissWithButtonIndex:(NSInteger)buttonIndex{ if (buttonIndex == 2) { return; } @@ -400,20 +406,565 @@ - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSIn picker.allowsEditing = YES;//设置可编辑 if (buttonIndex == 0) { -// 拍照 + // 拍照 if (![Helper checkCameraAuthorizationStatus]) { return; } picker.sourceType = UIImagePickerControllerSourceTypeCamera; }else if (buttonIndex == 1){ -// 相册 + // 相册 if (![Helper checkPhotoLibraryAuthorizationStatus]) { return; } picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; } [self presentViewController:picker animated:YES completion:nil];//进入照相界面 + +} + +#pragma mark UIImagePickerControllerDelegate +- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ + [picker dismissViewControllerAnimated:YES completion:^{ + UIImage *editedImage, *originalImage; + editedImage = [info objectForKey:UIImagePickerControllerEditedImage]; + __weak typeof(self) weakSelf = self; + + [[Coding_NetAPIManager sharedManager] request_UpdateUserIconImage:editedImage successBlock:^(id responseObj) { + weakSelf.curUser.avatar = responseObj; + [weakSelf.myTableView reloadData]; + } failureBlock:^(NSError *error) { + [NSObject showError:error]; + } progerssBlock:^(CGFloat progressValue) { + }]; + + // 保存原图片到相册中 + if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) { + originalImage = [info objectForKey:UIImagePickerControllerOriginalImage]; + UIImageWriteToSavedPhotosAlbum(originalImage, self, nil, NULL); + } + }]; +} + +- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ + [picker dismissViewControllerAnimated:YES completion:nil]; +} + +- (void)dealloc +{ + _myTableView.delegate = nil; + _myTableView.dataSource = nil; +} + +@end + +#else + +@interface SettingMineInfoViewController () +@property (strong, nonatomic) UITableView *myTableView; +@property (strong, nonatomic) User *curUser; +@property (strong, nonatomic) JobManager *curJobManager; +@property (strong, nonatomic) TagsManager *curTagsManager; + +@property (assign, nonatomic) BOOL isHeaderClosed; +@end + +@implementation SettingMineInfoViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.title = @"个人信息"; + + // 添加myTableView + _myTableView = ({ + UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped]; + tableView.backgroundColor = kColorTableSectionBg; + tableView.dataSource = self; + tableView.delegate = self; + tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [tableView registerClass:[TitleValueMoreCell class] forCellReuseIdentifier:kCellIdentifier_TitleValueMore]; + [tableView registerClass:[TitleRImageMoreCell class] forCellReuseIdentifier:kCellIdentifier_TitleRImageMore]; + [tableView registerClass:[UserInfoDetailTagCell class] forCellReuseIdentifier:kCellIdentifier_UserInfoDetailTagCell]; + [self.view addSubview:tableView]; + [tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.view); + }]; + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView; + }); + _curJobManager = [[JobManager alloc] init]; + _curTagsManager = [[TagsManager alloc] init]; + __weak typeof(self) weakSelf = self; + [[Coding_NetAPIManager sharedManager] request_UserJobArrayWithBlock:^(id data, NSError *error) { + if (data) { + weakSelf.curJobManager.jobDict = data; + } + }]; + [[Coding_NetAPIManager sharedManager] request_UserTagArrayWithBlock:^(id data, NSError *error) { + if (data) { + weakSelf.curTagsManager.tagArray = data; + } + }]; +} + +- (void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + self.curUser =[Login curLoginUser]; +} + +- (void)setCurUser:(User *)curUser{ + _curUser = curUser; + + [self configHeader]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. + self.myTableView = nil; + self.curUser = nil; + self.curJobManager = nil; + self.curTagsManager = nil; + self.view = nil; +} + +- (void)configHeader{ + BOOL isHeaderNeedToShow = !_isHeaderClosed && (!_curUser.is_phone_validated.boolValue || !_curUser.email_validation.boolValue) && _curUser.canUpgradeByCompleteUserInfo; + UIView *headerV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, !isHeaderNeedToShow? 1: 44)]; + headerV.backgroundColor = !isHeaderNeedToShow? [UIColor clearColor]: [UIColor colorWithHexString:@"0xF2DADA"]; + if (isHeaderNeedToShow) { + __weak typeof(self) weakSelf = self; + UIButton *closeBtn = [UIButton new]; + [closeBtn setImage:[UIImage imageNamed:@"button_red_close"] forState:UIControlStateNormal]; + [closeBtn bk_addEventHandler:^(id sender) { + weakSelf.isHeaderClosed = YES; + [weakSelf configHeader]; + } forControlEvents:UIControlEventTouchUpInside]; + [headerV addSubview:closeBtn]; + [closeBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.right.equalTo(headerV); + make.width.equalTo(closeBtn.mas_height); + }]; + UILabel *tipL = [UILabel labelWithFont:[UIFont systemFontOfSize:14] textColor:[UIColor colorWithHexString:@"0xA64C4B"]]; + tipL.adjustsFontSizeToFitWidth = YES; + tipL.minimumScaleFactor = .5; + tipL.userInteractionEnabled = YES; + NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:@"验证手机或邮箱后完善资料才能升级,去验证"]; + [attrStr addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:[attrStr.string rangeOfString:@"去验证"]]; + tipL.attributedText = attrStr; + [tipL bk_whenTapped:^{ + SettingAccountViewController *vc = [SettingAccountViewController new]; + [weakSelf.navigationController pushViewController:vc animated:YES]; + }]; + [headerV addSubview:tipL]; + [tipL mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerY.equalTo(headerV); + make.left.equalTo(headerV).offset(15); + make.right.equalTo(closeBtn.mas_left); + }]; + } + self.myTableView.tableHeaderView = headerV; +} + +#pragma mark TableM + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ + return 4; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + NSInteger row; + switch (section) { + case 0: + row = 6; + break; + case 1: + row = 4; + break; + default: + row = 1; + break; + } + return row; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + if (indexPath.section == 0 && indexPath.row == 0) { + TitleRImageMoreCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleRImageMore forIndexPath:indexPath]; + cell.curUser = _curUser; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; + }else if (indexPath.section == 2 || indexPath.section == 3){ + UserInfoDetailTagCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_UserInfoDetailTagCell forIndexPath:indexPath]; + [cell setTitleStr:indexPath.section == 2? @"开发技能": @"个性标签"]; + [cell setTagStr:indexPath.section == 2? _curUser.skills_str: _curUser.tags_str]; + [tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:kPaddingLeftWidth]; + return cell; + }else{ + TitleValueMoreCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_TitleValueMore forIndexPath:indexPath]; + switch (indexPath.section) { + case 0:{ + switch (indexPath.row) { + case 1: + [cell setTitleStr:@"昵称" valueStr:_curUser.name]; + break; + case 2: + if (_curUser.sex.intValue == 0) { + // 男 + [cell setTitleStr:@"性别" valueStr:@"男"]; + }else if (_curUser.sex.intValue == 1){ + // 女 + [cell setTitleStr:@"性别" valueStr:@"女"]; + }else{ + // 未知 + [cell setTitleStr:@"性别" valueStr:@"未知"]; + } + break; + case 3: + [cell setTitleStr:@"生日" valueStr:_curUser.birthday]