├── .gitignore ├── BuddyBuildSDK.framework ├── BuddyBuildSDK ├── Headers │ └── BuddyBuildSDK.h └── build.num ├── Cartfile ├── Cartfile.resolved ├── FayeClient ├── FayeClient.h ├── FayeClient.swift ├── FayeMessage.swift └── Info.plist ├── FayeClientTests ├── FayeClientTests.swift └── Info.plist ├── LICENSE ├── OpenGraph ├── Extensions │ ├── NSURL+OpenGraph.swift │ └── String+OpenGraph.swift ├── Info.plist ├── OpenGraph.h ├── OpenGraph.swift └── Service.swift ├── OpenGraphTests ├── Extensions │ └── NSURL+OpenGraphTests.swift ├── Info.plist └── OpenGraphTests.swift ├── Podfile ├── Podfile.lock ├── README.md ├── Yep.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── kevin.xcuserdatad │ └── xcschemes │ ├── Yep.xcscheme │ └── xcschememanagement.plist ├── Yep.xcworkspace └── contents.xcworkspacedata ├── Yep ├── Activities.xcassets │ ├── wechat_session.imageset │ │ ├── Contents.json │ │ └── wechat_session.pdf │ └── wechat_timeline.imageset │ │ ├── Contents.json │ │ └── wechat_timeline.pdf ├── Activities │ └── WeChatActivity.swift ├── AlbumListController.swift ├── AppDelegate.swift ├── Badges.xcassets │ ├── badge_android.imageset │ │ ├── Contents.json │ │ └── badge_android.pdf │ ├── badge_apple.imageset │ │ ├── Contents.json │ │ └── badge_apple.pdf │ ├── badge_ball.imageset │ │ ├── Contents.json │ │ └── badge_ball.pdf │ ├── badge_bubble.imageset │ │ ├── Contents.json │ │ └── badge_bubble.pdf │ ├── badge_camera.imageset │ │ ├── Contents.json │ │ └── badge_camera.pdf │ ├── badge_game.imageset │ │ ├── Contents.json │ │ └── badge_game.pdf │ ├── badge_heart.imageset │ │ ├── Contents.json │ │ └── badge_heart.pdf │ ├── badge_music.imageset │ │ ├── Contents.json │ │ └── badge_music.pdf │ ├── badge_palette.imageset │ │ ├── Contents.json │ │ └── badge_palette.pdf │ ├── badge_pet.imageset │ │ ├── Contents.json │ │ └── badge_pet.pdf │ ├── badge_plane.imageset │ │ ├── Contents.json │ │ └── badge_plane.pdf │ ├── badge_star.imageset │ │ ├── Contents.json │ │ └── badge_star.pdf │ ├── badge_steve.imageset │ │ ├── Contents.json │ │ └── badge_steve.pdf │ ├── badge_tech.imageset │ │ ├── Contents.json │ │ └── badge_tech.pdf │ ├── badge_wine.imageset │ │ ├── Contents.json │ │ └── badge_wine.pdf │ └── enabled_badge_background.imageset │ │ ├── Contents.json │ │ └── enabled_badge_background.pdf ├── Base.lproj │ ├── Intro.storyboard │ ├── LaunchScreen.xib │ ├── Main.storyboard │ └── Show.storyboard ├── Caches │ ├── AttributedStringCache.swift │ ├── AvatarStyles.swift │ ├── ImageCache.swift │ ├── PlainAvatar.swift │ └── UserAvatar.swift ├── Extensions │ ├── ASImageNode+Yep.swift │ ├── CGImage+Yep.swift │ ├── CGRect+Yep.swift │ ├── CGSize+Yep.swift │ ├── CLLocationCoordinate2D+Yep.swift │ ├── CLPlacemark+Yep.swift │ ├── DeviceGuru+Yep.swift │ ├── Double+Yep.swift │ ├── Message+Yep.swift │ ├── NSBundle+Yep.swift │ ├── NSDate+TimeAgo │ │ ├── NSDate+Extension.swift │ │ └── NSDateTimeAgo.bundle │ │ │ ├── ar.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── bg.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── cs.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── da.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── de.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── en.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── es.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── fi.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── fr.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── gre.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── he.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── hu.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── is.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── it.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── ja.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── ko.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── lv.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── nb.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── nl.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── pl.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── pt-PT.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── pt.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── ro.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── ru.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── sq.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── sv.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── th.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── tr.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── uk.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── vi.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ ├── zh-Hans.lproj │ │ │ └── NSDateTimeAgo.strings │ │ │ └── zh-Hant.lproj │ │ │ └── NSDateTimeAgo.strings │ ├── NSDate+Yep.swift │ ├── NSParagraphStyle+Yep.swift │ ├── NSTimeZone+Yep.swift │ ├── NSURL+Yep.swift │ ├── PHImageRequestOptions+Yep.swift │ ├── String+Trans.swift │ ├── String+Yep.swift │ ├── UIApplication+Yep.swift │ ├── UICollectionView+Yep.swift │ ├── UIColor+Yep.swift │ ├── UIFont+Yep.swift │ ├── UIImage+Yep.swift │ ├── UIImageView+Yep.swift │ ├── UIMotionEffect+Yep.swift │ ├── UIScrollView+Yep.swift │ ├── UISearchBar+Yep.swift │ ├── UISegmentedControl+Yep.swift │ ├── UIStoryboard+Yep.swift │ ├── UITableView+Yep.swift │ └── UIViewController+Yep.swift ├── Helpers │ ├── KVO │ │ └── ObjectKeypathObserver.swift │ ├── UploadContactsMaker.swift │ ├── YepAlert.swift │ ├── YepAsset.swift │ ├── YepConfig.swift │ ├── YepHUD.swift │ ├── YepHelpers.swift │ ├── YepLog.swift │ └── YepSoundEffect.swift ├── Images.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── icon-ipad_29.png │ │ ├── icon-ipad_29@2x.png │ │ ├── icon-ipad_40.png │ │ ├── icon-ipad_40@2x.png │ │ ├── icon-ipad_50.png │ │ ├── icon-ipad_50@2x.png │ │ ├── icon-ipad_72.png │ │ ├── icon-ipad_72@2x.png │ │ ├── icon-ipad_76.png │ │ ├── icon-ipad_76@2x.png │ │ ├── icon-iphone_29.png │ │ ├── icon-iphone_29@2x.png │ │ ├── icon-iphone_29@3x.png │ │ ├── icon-iphone_40@2x.png │ │ ├── icon-iphone_40@3x.png │ │ ├── icon-iphone_57.png │ │ ├── icon-iphone_57@2x.png │ │ ├── icon-iphone_60@2x.png │ │ └── icon-iphone_60@3x.png │ ├── Contents.json │ ├── bubble_body.imageset │ │ ├── Contents.json │ │ └── bubble_body.pdf │ ├── bubble_left_tail.imageset │ │ ├── Contents.json │ │ └── bubble_left_tail.pdf │ ├── bubble_right_tail.imageset │ │ ├── Contents.json │ │ └── bubble_right_tail.pdf │ ├── button_camera_roll.imageset │ │ ├── Contents.json │ │ └── button_camera_roll.pdf │ ├── button_capture.imageset │ │ ├── Contents.json │ │ └── button_capture.pdf │ ├── button_capture_ok.imageset │ │ ├── Contents.json │ │ └── button_capture_ok.pdf │ ├── button_skill_category.imageset │ │ ├── Contents.json │ │ └── button_skill_category.pdf │ ├── button_voice_pause.imageset │ │ ├── Contents.json │ │ └── button_voice_pause.pdf │ ├── button_voice_play.imageset │ │ ├── Contents.json │ │ └── button_voice_play.pdf │ ├── button_voice_reset.imageset │ │ ├── Contents.json │ │ └── button_voice_reset.pdf │ ├── chat_sharetopicbubble.imageset │ │ ├── Contents.json │ │ └── chat_sharetopicbubble.pdf │ ├── default_avatar.imageset │ │ ├── Contents.json │ │ └── default_avatar.pdf │ ├── default_avatar_30.imageset │ │ ├── Contents.json │ │ └── default_avatar_30.pdf │ ├── default_avatar_40.imageset │ │ ├── Contents.json │ │ └── default_avatar_40.pdf │ ├── default_avatar_60.imageset │ │ ├── Contents.json │ │ └── default_avatar_60.pdf │ ├── feed_audio_bubble.imageset │ │ ├── Contents.json │ │ └── feed_audio_bubble.pdf │ ├── feed_container_background.imageset │ │ ├── Contents.json │ │ └── feed_container_background.pdf │ ├── feed_media_add.imageset │ │ ├── Contents.json │ │ └── feed_media_add.pdf │ ├── feed_skill_channel_arrow.imageset │ │ ├── Contents.json │ │ └── feed_skill_channel_arrow.pdf │ ├── flat_arrow_down.imageset │ │ ├── Contents.json │ │ └── flat_arrow_down.pdf │ ├── flat_arrow_left.imageset │ │ ├── Contents.json │ │ └── flat_arrow_left.pdf │ ├── gradient_art.imageset │ │ ├── Contents.json │ │ └── gradient_art.pdf │ ├── gradient_life.imageset │ │ ├── Contents.json │ │ └── gradient_life.pdf │ ├── gradient_sport.imageset │ │ ├── Contents.json │ │ └── gradient_sport.pdf │ ├── gradient_tech.imageset │ │ ├── Contents.json │ │ └── gradient_tech.pdf │ ├── icon_accessory.imageset │ │ ├── Contents.json │ │ └── icon_accessory.pdf │ ├── icon_accessory_mini.imageset │ │ ├── Contents.json │ │ └── icon_accessory_mini.pdf │ ├── icon_arrow_down.imageset │ │ ├── Contents.json │ │ └── icon_arrow_down.pdf │ ├── icon_arrow_up.imageset │ │ ├── Contents.json │ │ └── icon_arrow_up.pdf │ ├── icon_back.imageset │ │ ├── Contents.json │ │ └── icon_back.pdf │ ├── icon_blog.imageset │ │ ├── Contents.json │ │ └── icon_blog.pdf │ ├── icon_chat.imageset │ │ ├── Contents.json │ │ └── icon_chat.pdf │ ├── icon_chat_active.imageset │ │ ├── Contents.json │ │ └── icon_chat_active.pdf │ ├── icon_chat_active_unread.imageset │ │ ├── Contents.json │ │ └── icon_chat_active_unread.pdf │ ├── icon_chat_unread.imageset │ │ ├── Contents.json │ │ └── icon_chat_unread.pdf │ ├── icon_contact.imageset │ │ ├── Contents.json │ │ └── icon_contact.pdf │ ├── icon_contact_active.imageset │ │ ├── Contents.json │ │ └── icon_contact_active.pdf │ ├── icon_current_location.imageset │ │ ├── Contents.json │ │ └── icon_current_location.pdf │ ├── icon_discussion.imageset │ │ ├── Contents.json │ │ └── icon_discussion.pdf │ ├── icon_dot_failed.imageset │ │ ├── Contents.json │ │ └── icon_dot_failed.pdf │ ├── icon_dot_sending.imageset │ │ ├── Contents.json │ │ └── icon_dot_sending.pdf │ ├── icon_dot_unread.imageset │ │ ├── Contents.json │ │ └── icon_dot_unread.pdf │ ├── icon_dribbble.imageset │ │ ├── Contents.json │ │ └── icon_dribbble.pdf │ ├── icon_explore.imageset │ │ ├── Contents.json │ │ └── icon_explore.pdf │ ├── icon_explore_active.imageset │ │ ├── Contents.json │ │ └── icon_explore_active.pdf │ ├── icon_feed_text.imageset │ │ ├── Contents.json │ │ └── icon_feed_text.pdf │ ├── icon_feeds.imageset │ │ ├── Contents.json │ │ └── icon_feeds.pdf │ ├── icon_feeds_active.imageset │ │ ├── Contents.json │ │ └── icon_feeds_active.pdf │ ├── icon_ghost.imageset │ │ ├── Contents.json │ │ └── icon_ghost.pdf │ ├── icon_github.imageset │ │ ├── Contents.json │ │ └── icon_github.pdf │ ├── icon_imagepicker_check.imageset │ │ ├── Contents.json │ │ └── icon_imagepicker_check.pdf │ ├── icon_instagram.imageset │ │ ├── Contents.json │ │ └── icon_instagram.pdf │ ├── icon_keyboard.imageset │ │ ├── Contents.json │ │ └── icon_keyboard.pdf │ ├── icon_link.imageset │ │ ├── Contents.json │ │ └── icon_link.pdf │ ├── icon_list.imageset │ │ ├── Contents.json │ │ └── icon_list.pdf │ ├── icon_location.imageset │ │ ├── Contents.json │ │ └── icon_location.pdf │ ├── icon_location_checkmark.imageset │ │ ├── Contents.json │ │ └── icon_location_checkmark.pdf │ ├── icon_me.imageset │ │ ├── Contents.json │ │ └── icon_me.pdf │ ├── icon_me_active.imageset │ │ ├── Contents.json │ │ └── icon_me_active.pdf │ ├── icon_media_delete.imageset │ │ ├── Contents.json │ │ └── icon_media_delete.pdf │ ├── icon_minicard.imageset │ │ ├── Contents.json │ │ └── icon_minicard (1).pdf │ ├── icon_more.imageset │ │ ├── Contents.json │ │ └── icon_more.pdf │ ├── icon_more_image.imageset │ │ ├── Contents.json │ │ └── icon_more_image.pdf │ ├── icon_pause.imageset │ │ ├── Contents.json │ │ └── icon_pause.pdf │ ├── icon_pin.imageset │ │ ├── Contents.json │ │ └── icon_pin.pdf │ ├── icon_pin_mini_gray.imageset │ │ ├── Contents.json │ │ └── icon_pin_mini_gray.pdf │ ├── icon_pin_shadow.imageset │ │ ├── Contents.json │ │ └── icon_pin_shadow.pdf │ ├── icon_play.imageset │ │ ├── Contents.json │ │ └── icon_play.pdf │ ├── icon_playvideo.imageset │ │ ├── Contents.json │ │ └── icon_playvideo.pdf │ ├── icon_profile_phone.imageset │ │ ├── Contents.json │ │ └── icon_profile_phone.pdf │ ├── icon_quick_camera.imageset │ │ ├── Contents.json │ │ └── icon_quick_camera.pdf │ ├── icon_remove.imageset │ │ ├── Contents.json │ │ └── icon_remove.pdf │ ├── icon_repo.imageset │ │ ├── Contents.json │ │ └── icon_repo.pdf │ ├── icon_settings.imageset │ │ ├── Contents.json │ │ └── icon_settings.pdf │ ├── icon_share.imageset │ │ ├── Contents.json │ │ └── icon_share.pdf │ ├── icon_skill_art.imageset │ │ ├── Contents.json │ │ └── icon_skill_art.pdf │ ├── icon_skill_ball.imageset │ │ ├── Contents.json │ │ └── icon_skill_ball.pdf │ ├── icon_skill_category_arrow.imageset │ │ ├── Contents.json │ │ └── icon_skill_category_arrow.pdf │ ├── icon_skill_life.imageset │ │ ├── Contents.json │ │ └── icon_skill_life.pdf │ ├── icon_skill_music.imageset │ │ ├── Contents.json │ │ └── icon_skill_music.pdf │ ├── icon_skill_tech.imageset │ │ ├── Contents.json │ │ └── icon_skill_tech.pdf │ ├── icon_stars.imageset │ │ ├── Contents.json │ │ └── icon_stars.pdf │ ├── icon_subscribe_close.imageset │ │ ├── Contents.json │ │ └── icon_subscribe_close.pdf │ ├── icon_subscribe_notify.imageset │ │ ├── Contents.json │ │ └── icon_subscribe_notify.pdf │ ├── icon_topic.imageset │ │ ├── Contents.json │ │ └── icon_topic.pdf │ ├── icon_topic_reddot.imageset │ │ ├── Contents.json │ │ └── icon_topic_reddot.pdf │ ├── icon_topic_text.imageset │ │ ├── Contents.json │ │ └── icon_topic_text.pdf │ ├── icon_voice_left.imageset │ │ ├── Contents.json │ │ └── icon_voice_left.pdf │ ├── icon_voice_right.imageset │ │ ├── Contents.json │ │ └── icon_voice_right.pdf │ ├── image_rectangle_border.imageset │ │ ├── Contents.json │ │ └── image_rectangle_border.pdf │ ├── item_mic.imageset │ │ ├── Contents.json │ │ └── icon_mic.pdf │ ├── item_more.imageset │ │ ├── Contents.json │ │ └── item_more.pdf │ ├── left_tail_bubble.imageset │ │ ├── Contents.json │ │ └── left_tail_bubble.pdf │ ├── left_tail_image_bubble.imageset │ │ ├── Contents.json │ │ └── left_tail_image_bubble.pdf │ ├── left_tail_image_bubble_border.imageset │ │ ├── Contents.json │ │ └── left_tail_image_bubble_border.pdf │ ├── location_bottom_shadow.imageset │ │ ├── Contents.json │ │ └── location_bottom_shadow.pdf │ ├── minicard_bubble.imageset │ │ ├── Contents.json │ │ └── minicard_bubble.pdf │ ├── minicard_bubble_more.imageset │ │ ├── Contents.json │ │ └── minicard_bubble_more.pdf │ ├── pick_skills_dismiss_background.imageset │ │ ├── Contents.json │ │ ├── pick_skills_dismiss_background@2x.png │ │ └── pick_skills_dismiss_background@3x.png │ ├── profile_avatar_frame.imageset │ │ ├── Contents.json │ │ └── profile_avatar_frame.pdf │ ├── right_tail_bubble.imageset │ │ ├── Contents.json │ │ └── right_tail_bubble.pdf │ ├── right_tail_image_bubble.imageset │ │ ├── Contents.json │ │ └── right_tail_image_bubble.pdf │ ├── right_tail_image_bubble_border.imageset │ │ ├── Contents.json │ │ └── right_tail_image_bubble_border.pdf │ ├── searchbar_textfield_background.imageset │ │ ├── Contents.json │ │ └── searchbar_textfield_background.pdf │ ├── share_feed_bubble_left.imageset │ │ ├── Contents.json │ │ └── bubble.pdf │ ├── skill_add.imageset │ │ ├── Contents.json │ │ └── skill_add.pdf │ ├── skill_bubble.imageset │ │ ├── Contents.json │ │ └── skill_bubble.pdf │ ├── skill_bubble_empty.imageset │ │ ├── Contents.json │ │ └── skill_bubble_empty.pdf │ ├── skill_bubble_empty_gray.imageset │ │ ├── Contents.json │ │ └── skill_bubble_empty_gray.pdf │ ├── skill_bubble_large.imageset │ │ ├── Contents.json │ │ └── skill_bubble_large.pdf │ ├── skill_bubble_large_empty.imageset │ │ ├── Contents.json │ │ └── skill_bubble_large_empty.pdf │ ├── social_media_image_mask.imageset │ │ ├── Contents.json │ │ └── social_media_image_mask.pdf │ ├── social_media_image_mask_full.imageset │ │ ├── Contents.json │ │ └── social_media_image_mask_full.pdf │ ├── social_work_border.imageset │ │ ├── Contents.json │ │ └── social_work_border.pdf │ ├── social_work_border_line.imageset │ │ ├── Contents.json │ │ └── social_work_border_line.pdf │ ├── swipe_up.imageset │ │ ├── Contents.json │ │ └── swipe_up.pdf │ ├── top_shadow.imageset │ │ ├── Contents.json │ │ ├── top_shadow@2x.png │ │ └── top_shadow@3x.png │ ├── unread_red_dot.imageset │ │ ├── Contents.json │ │ └── unread_red_dot.pdf │ ├── url_container_left_background.imageset │ │ ├── Contents.json │ │ └── url_container_left_background.pdf │ ├── url_container_right_background.imageset │ │ ├── Contents.json │ │ └── url_container_right_background.pdf │ ├── voice_indicator.imageset │ │ ├── Contents.json │ │ └── voice_indicator.pdf │ ├── white.imageset │ │ ├── Contents.json │ │ └── white.pdf │ └── yep_icon_solo.imageset │ │ ├── Contents.json │ │ └── yep_icon_solo.pdf ├── Info.plist ├── Layouts │ └── ChatTextCellLayout.swift ├── PreviewPhotos │ ├── PreviewAttachmentPhoto.swift │ ├── PreviewDribbblePhoto.swift │ ├── PreviewMessagePhoto.swift │ └── PreviewNewFeedPhoto.swift ├── Protocols │ ├── InterviewRepresentation.swift │ ├── NibLoadable.swift │ ├── PhoneNumberRepresentation.swift │ ├── Reusable.swift │ ├── SearchActionRepresentation.swift │ ├── SearchTriggerRepresentation.swift │ ├── ShowProfileWithUsername.swift │ └── UserRepresentation.swift ├── RunLoop │ ├── FreeTimeJob.swift │ └── NextRunloopJob.swift ├── Services │ ├── YepAudioService.swift │ ├── YepDownloader.swift │ ├── YepFayeService.swift │ ├── YepLocationService.swift │ └── YepStorageService.swift ├── Shortcuts │ ├── ShortcutItems.swift │ └── ShortcutType.swift ├── Show.xcassets │ ├── Book.imageset │ │ ├── Book.pdf │ │ └── Contents.json │ ├── Camera.imageset │ │ ├── Camera.pdf │ │ └── Contents.json │ ├── Controller.imageset │ │ ├── Contents.json │ │ └── Controller.pdf │ ├── Fill 1.imageset │ │ ├── Contents.json │ │ └── Fill 1.pdf │ ├── Fill 2.imageset │ │ ├── Contents.json │ │ └── Fill 2.pdf │ ├── Fill 4.imageset │ │ ├── Contents.json │ │ └── Fill 4.pdf │ ├── Fill 5.imageset │ │ ├── Contents.json │ │ └── Fill 5.pdf │ ├── Fill 6.imageset │ │ ├── Contents.json │ │ └── Fill 6.pdf │ ├── Fill 7.imageset │ │ ├── Contents.json │ │ └── Fill 7.pdf │ ├── Fill 8.imageset │ │ ├── Contents.json │ │ └── Fill 8.pdf │ ├── Frame.imageset │ │ ├── Contents.json │ │ └── Frame.pdf │ ├── Head.imageset │ │ ├── Contents.json │ │ └── Head.pdf │ ├── Keyboard.imageset │ │ ├── Contents.json │ │ └── Keyboard.pdf │ ├── Oval1.imageset │ │ ├── Contents.json │ │ └── Oval1.pdf │ ├── Oval10.imageset │ │ ├── Contents.json │ │ └── Oval10.pdf │ ├── Oval11.imageset │ │ ├── Contents.json │ │ └── Oval11.pdf │ ├── Oval2.imageset │ │ ├── Contents.json │ │ └── Oval2.pdf │ ├── Oval3.imageset │ │ ├── Contents.json │ │ └── Oval3.pdf │ ├── Oval4.imageset │ │ ├── Contents.json │ │ └── Oval4.pdf │ ├── Oval5.imageset │ │ ├── Contents.json │ │ └── Oval5.pdf │ ├── Oval6.imageset │ │ ├── Contents.json │ │ └── Oval6.pdf │ ├── Oval7.imageset │ │ ├── Contents.json │ │ └── Oval7.pdf │ ├── Oval8.imageset │ │ ├── Contents.json │ │ └── Oval8.pdf │ ├── Oval9.imageset │ │ ├── Contents.json │ │ └── Oval9.pdf │ ├── Oval_big.imageset │ │ ├── Contents.json │ │ └── Oval_big.pdf │ └── Pen.imageset │ │ ├── Contents.json │ │ └── Pen.pdf ├── Sounds │ └── bub3.caf ├── Transitions │ └── SearchTransition.swift ├── ViewControllers │ ├── About │ │ ├── About.storyboard │ │ └── AboutViewController.swift │ ├── AddFriends │ │ ├── AddFriends.storyboard │ │ └── AddFriendsViewController.swift │ ├── Base │ │ ├── BaseViewController.swift │ │ └── SegueViewController.swift │ ├── BlackList │ │ ├── BlackList.storyboard │ │ └── BlackListViewController.swift │ ├── ChangeMobile │ │ ├── ChangeMobile.storyboard │ │ └── ChangeMobileViewController.swift │ ├── Chat │ │ ├── CellNodes │ │ │ ├── ChatBaseCellNode.swift │ │ │ ├── ChatLeftBaseCellNode.swift │ │ │ ├── ChatLeftImageCellNode.swift │ │ │ ├── ChatLeftLocationCellNode.swift │ │ │ ├── ChatLeftTextCellNode.swift │ │ │ ├── ChatLoadingCellNode.swift │ │ │ ├── ChatPromptCellNode.swift │ │ │ ├── ChatRightBaseCellNode.swift │ │ │ ├── ChatRightImageCellNode.swift │ │ │ ├── ChatRightLocationCellNode.swift │ │ │ ├── ChatRightTextCellNode.swift │ │ │ └── ChatSectionDateCellNode.swift │ │ ├── Chat.storyboard │ │ ├── ChatViewController+Animations.swift │ │ ├── ChatViewController+Preview.swift │ │ ├── ChatViewController+SendMessages.swift │ │ ├── ChatViewController+UIImagePickerControllerDelegate.swift │ │ ├── ChatViewController+Views.swift │ │ ├── ChatViewController.swift │ │ ├── Protocols │ │ │ ├── Copyable.swift │ │ │ └── Previewable.swift │ │ └── Views │ │ │ ├── ChatTextNode.swift │ │ │ └── ChatToolbar.swift │ ├── Contacts │ │ ├── Contacts.storyboard │ │ └── ContactsViewController.swift │ ├── Conversation │ │ ├── Conversation.storyboard │ │ ├── ConversationFeed.swift │ │ ├── ConversationLayout.swift │ │ ├── ConversationMoreViewManager.swift │ │ ├── ConversationViewController+AVAudioPlayerDelegate.swift │ │ ├── ConversationViewController+AVAudioRecorderDelegate.swift │ │ ├── ConversationViewController+CollectionView.swift │ │ ├── ConversationViewController+Feed.swift │ │ ├── ConversationViewController+ImagePicker.swift │ │ ├── ConversationViewController+LoadPreviousMessages.swift │ │ ├── ConversationViewController+MoreViewManager.swift │ │ ├── ConversationViewController+PhotosViewControllerDelegate.swift │ │ ├── ConversationViewController+SendMessages.swift │ │ ├── ConversationViewController+SyncMessages.swift │ │ ├── ConversationViewController+TextIndicator.swift │ │ ├── ConversationViewController+Views.swift │ │ ├── ConversationViewController+YepFayeServiceDelegate.swift │ │ └── ConversationViewController.swift │ ├── Conversations │ │ ├── Conversations.storyboard │ │ └── ConversationsViewController.swift │ ├── CreatorsOfBlockedFeeds │ │ ├── CreatorsOfBlockedFeeds.storyboard │ │ └── CreatorsOfBlockedFeedsViewController.swift │ ├── CustomNavigationBar │ │ └── CustomNavigationBarViewController.swift │ ├── Discover │ │ ├── Discover.storyboard │ │ ├── DiscoverCollectionView.swift │ │ ├── DiscoverContainerViewController.swift │ │ ├── DiscoverFlowLayout.swift │ │ ├── DiscoverViewController.swift │ │ └── MeetGeniusViewController.swift │ ├── DoNotDisturbPeriod │ │ ├── DoNotDisturbPeriod.storyboard │ │ └── DoNotDisturbPeriodViewController.swift │ ├── EditNicknameAndBadge │ │ ├── EditNicknameAndBadge.storyboard │ │ └── EditNicknameAndBadgeViewController.swift │ ├── EditProfile │ │ ├── EditProfile.storyboard │ │ └── EditProfileViewController.swift │ ├── EditSkills │ │ ├── EditSkills.storyboard │ │ └── EditSkillsViewController.swift │ ├── FeedConversations │ │ ├── FeedConversations.storyboard │ │ └── FeedConversationsViewController.swift │ ├── Feedback │ │ ├── Feedback.storyboard │ │ └── FeedbackViewController.swift │ ├── Feeds │ │ ├── Feeds.storyboard │ │ ├── FeedsMoreViewManager.swift │ │ └── FeedsViewController.swift │ ├── FriendsInContacts │ │ ├── FriendsInContacts.storyboard │ │ └── FriendsInContactsViewController.swift │ ├── GeniusInterview │ │ ├── GeniusInterview.storyboard │ │ └── GeniusInterviewViewController.swift │ ├── Login │ │ ├── LoginByMobileViewController.swift │ │ └── LoginVerifyMobileViewController.swift │ ├── MediaPreview │ │ ├── MediaPreview.storyboard │ │ └── MediaPreviewViewController.swift │ ├── Nav │ │ └── YepNavigationController.swift │ ├── NewFeed │ │ ├── NewFeed.storyboard │ │ └── NewFeedViewController.swift │ ├── NewFeedVoiceRecord │ │ ├── NewFeedVoiceRecord.storyboard │ │ └── NewFeedVoiceRecordViewController.swift │ ├── Notifications │ │ ├── Notifications.storyboard │ │ └── NotificationsViewController.swift │ ├── PickLocation │ │ ├── LocationPin.swift │ │ ├── PickLocation.storyboard │ │ └── PickLocationViewController.swift │ ├── PickPhotos │ │ ├── ImageCacheController.swift │ │ ├── PickPhotos.storyboard │ │ └── PickPhotosViewController.swift │ ├── PodsHelpYep │ │ ├── PodsHelpYep.storyboard │ │ └── PodsHelpYepViewController.swift │ ├── Profile │ │ ├── Profile.storyboard │ │ ├── ProfileLayout.swift │ │ ├── ProfileViewController+Prepare.swift │ │ └── ProfileViewController.swift │ ├── Register │ │ ├── RegisterPickAvatarViewController.swift │ │ ├── RegisterPickMobileViewController.swift │ │ ├── RegisterPickNameViewController.swift │ │ ├── RegisterPickSkillsLayout.swift │ │ ├── RegisterPickSkillsSelectSkillsTransitionManager.swift │ │ ├── RegisterPickSkillsViewController.swift │ │ ├── RegisterSelectSkillsLayout.swift │ │ ├── RegisterSelectSkillsViewController.swift │ │ ├── RegisterSkillsLayout.swift │ │ └── RegisterVerifyMobileViewController.swift │ ├── SearchContacts │ │ ├── SearchContacts.storyboard │ │ └── SearchContactsViewController.swift │ ├── SearchConversations │ │ ├── SearchConversations.storyboard │ │ └── SearchConversationsViewController.swift │ ├── SearchFeeds │ │ ├── SearchFeeds.storyboard │ │ └── SearchFeedsViewController.swift │ ├── SearchedUserMessages │ │ ├── SearchedUserMessages.storyboard │ │ └── SearchedUserMessagesViewController.swift │ ├── SearchedUsers │ │ ├── SearchedUsers.storyboard │ │ └── SearchedUsersViewController.swift │ ├── Settings │ │ ├── Settings.storyboard │ │ └── SettingsViewController.swift │ ├── Show │ │ ├── ShowStepGeniusViewController.swift │ │ ├── ShowStepMatchViewController.swift │ │ ├── ShowStepMeetViewController.swift │ │ ├── ShowStepViewController.swift │ │ └── ShowViewController.swift │ ├── SkillHome │ │ ├── SkillHome.storyboard │ │ └── SkillHomeViewController.swift │ ├── SocialWorks │ │ ├── SocialWorkDribbbleViewController.swift │ │ ├── SocialWorkGithubViewController.swift │ │ ├── SocialWorkInstagramViewController.swift │ │ └── SocialWorks.storyboard │ ├── TabBar │ │ └── YepTabBarController.swift │ ├── VerifyChangedMobile │ │ ├── VerifyChangedMobile.storyboard │ │ └── VerifyChangedMobileViewController.swift │ └── Welcome │ │ └── WelcomeViewController.swift ├── Views │ ├── ActionSheet │ │ └── ActionSheetView.swift │ ├── AudioWaves │ │ ├── SampleView.swift │ │ ├── VoiceRecordSampleView.swift │ │ ├── Waver.swift │ │ └── YepWaverView.swift │ ├── Badge │ │ └── BadgeView.swift │ ├── Buttons │ │ ├── BorderButton.swift │ │ ├── EdgeBorderButton.swift │ │ ├── MessageTypeButton.swift │ │ ├── RecordButton.swift │ │ ├── SkillCategoryButton.swift │ │ ├── TouchZoomButton.swift │ │ └── YepButton.swift │ ├── CameraPreview │ │ └── CameraPreviewView.swift │ ├── Cells │ │ ├── About │ │ │ ├── AboutCell.swift │ │ │ └── AboutCell.xib │ │ ├── AddFriendMore │ │ │ ├── AddFriendMoreCell.swift │ │ │ └── AddFriendMoreCell.xib │ │ ├── AddFriendSearch │ │ │ ├── AddFriendSearchCell.swift │ │ │ └── AddFriendSearchCell.xib │ │ ├── Camera │ │ │ ├── CameraCell.swift │ │ │ └── CameraCell.xib │ │ ├── ChatBaseCell │ │ │ └── ChatBaseCell.swift │ │ ├── ChatLeftAudio │ │ │ └── ChatLeftAudioCell.swift │ │ ├── ChatLeftImage │ │ │ └── ChatLeftImageCell.swift │ │ ├── ChatLeftLocation │ │ │ └── ChatLeftLocationCell.swift │ │ ├── ChatLeftShareFeed │ │ │ └── LeftShareFeedCell.swift │ │ ├── ChatLeftSocialWork │ │ │ ├── ChatLeftSocialWorkCell.swift │ │ │ └── ChatLeftSocialWorkCell.xib │ │ ├── ChatLeftText │ │ │ └── ChatLeftTextCell.swift │ │ ├── ChatLeftTextURL │ │ │ └── ChatLeftTextURLCell.swift │ │ ├── ChatLeftVideo │ │ │ └── ChatLeftVideoCell.swift │ │ ├── ChatRightAudio │ │ │ └── ChatRightAudioCell.swift │ │ ├── ChatRightBase │ │ │ └── ChatRightBaseCell.swift │ │ ├── ChatRightImage │ │ │ └── ChatRightImageCell.swift │ │ ├── ChatRightLocation │ │ │ └── ChatRightLocationCell.swift │ │ ├── ChatRightShareFeed │ │ │ └── RightShareFeedCell.swift │ │ ├── ChatRightText │ │ │ └── ChatRightTextCell.swift │ │ ├── ChatRightTextURL │ │ │ └── ChatRightTextURLCell.swift │ │ ├── ChatRightVideo │ │ │ └── ChatRightVideoCell.swift │ │ ├── ChatSectionDate │ │ │ ├── ChatSectionDateCell.swift │ │ │ └── ChatSectionDateCell.xib │ │ ├── ChatTextIndicator │ │ │ └── ChatTextIndicatorCell.swift │ │ ├── Contacts │ │ │ ├── ContactsCell.swift │ │ │ ├── ContactsCell.xib │ │ │ ├── SearchedContactsCell.swift │ │ │ └── SearchedContactsCell.xib │ │ ├── Conversation │ │ │ ├── ConversationCell.swift │ │ │ └── ConversationCell.xib │ │ ├── DeletedFeedConversation │ │ │ ├── DeletedFeedConversationCell.swift │ │ │ └── DeletedFeedConversationCell.xib │ │ ├── DiscoverCardUser │ │ │ ├── DiscoverCardUserCell.swift │ │ │ ├── DiscoverCardUserCell.xib │ │ │ └── MiniCardSkillLayout.swift │ │ ├── DiscoverNormalUser │ │ │ ├── DiscoverNormalUserCell.swift │ │ │ └── DiscoverNormalUserCell.xib │ │ ├── DiscoverSkill │ │ │ ├── DiscoverSkillCell.swift │ │ │ └── DiscoverSkillCell.xib │ │ ├── DoNotDisturb │ │ │ ├── DoNotDisturbPeriodCell.swift │ │ │ ├── DoNotDisturbPeriodCell.xib │ │ │ ├── DoNotDisturbSwitchCell.swift │ │ │ └── DoNotDisturbSwitchCell.xib │ │ ├── DribbbleShot │ │ │ ├── DribbbleShotCell.swift │ │ │ └── DribbbleShotCell.xib │ │ ├── EditProfileColoredTitle │ │ │ ├── EditProfileColoredTitleCell.swift │ │ │ └── EditProfileColoredTitleCell.xib │ │ ├── EditProfileLessInfo │ │ │ ├── EditProfileLessInfoCell.swift │ │ │ └── EditProfileLessInfoCell.xib │ │ ├── EditProfileMoreInfo │ │ │ ├── EditProfileMoreInfoCell.swift │ │ │ └── EditProfileMoreInfoCell.xib │ │ ├── EditSkill │ │ │ ├── EditSkillCell.swift │ │ │ └── EditSkillCell.xib │ │ ├── Feed │ │ │ ├── FeedAnyImagesCell.swift │ │ │ ├── FeedBasicCell.swift │ │ │ ├── FeedBiggerImageCell.swift │ │ │ ├── FeedCellLayout.swift │ │ │ ├── FeedDribbbleShotCell.swift │ │ │ ├── FeedGithubRepoCell.swift │ │ │ ├── FeedLocationCell.swift │ │ │ ├── FeedNormalImagesCell.swift │ │ │ ├── FeedURLCell.swift │ │ │ ├── FeedVoiceCell.swift │ │ │ └── SearchedFeed │ │ │ │ ├── SearchedFeedAnyImagesCell.swift │ │ │ │ ├── SearchedFeedBasicCell.swift │ │ │ │ ├── SearchedFeedCellLayout.swift │ │ │ │ ├── SearchedFeedDribbbleShotCell.swift │ │ │ │ ├── SearchedFeedGithubRepoCell.swift │ │ │ │ ├── SearchedFeedLocationCell.swift │ │ │ │ ├── SearchedFeedNormalImagesCell.swift │ │ │ │ ├── SearchedFeedURLCell.swift │ │ │ │ └── SearchedFeedVoiceCell.swift │ │ ├── FeedConversation │ │ │ ├── FeedConversationCell.swift │ │ │ └── FeedConversationCell.xib │ │ ├── FeedConversationDock │ │ │ ├── FeedConversationDockCell.swift │ │ │ └── FeedConversationDockCell.xib │ │ ├── FeedFilter │ │ │ ├── FeedFilterCell.swift │ │ │ └── FeedFilterCell.xib │ │ ├── FeedMedia │ │ │ ├── FeedMediaCell.swift │ │ │ └── FeedMediaCell.xib │ │ ├── FeedMediaAdd │ │ │ ├── FeedMediaAddCell.swift │ │ │ └── FeedMediaAddCell.xib │ │ ├── FeedSkillUsers │ │ │ ├── FeedSkillUsersCell.swift │ │ │ └── FeedSkillUsersCell.xib │ │ ├── GeniusInterview │ │ │ ├── GeniusInterviewCell.swift │ │ │ └── GeniusInterviewCell.xib │ │ ├── GithubRepo │ │ │ ├── GithubRepoCell.swift │ │ │ └── GithubRepoCell.xib │ │ ├── InstagramMedia │ │ │ ├── InstagramMediaCell.swift │ │ │ └── InstagramMediaCell.xib │ │ ├── LoadMore │ │ │ ├── LoadMoreCollectionViewCell.swift │ │ │ ├── LoadMoreCollectionViewCell.xib │ │ │ ├── LoadMoreTableViewCell.swift │ │ │ └── LoadMoreTableViewCell.xib │ │ ├── MediaView │ │ │ ├── MediaViewCell.swift │ │ │ └── MediaViewCell.xib │ │ ├── NewFeedPreview │ │ │ ├── AlbumListCell.swift │ │ │ ├── AlbumListCell.xib │ │ │ ├── NewFeedPreviewCell.swift │ │ │ └── NewFeedPreviewCell.xib │ │ ├── Photo │ │ │ ├── PhotoCell.swift │ │ │ └── PhotoCell.xib │ │ ├── PickLocation │ │ │ ├── PickLocationCell.swift │ │ │ └── PickLocationCell.xib │ │ ├── ProfileFeeds │ │ │ ├── ProfileFeedsCell.swift │ │ │ └── ProfileFeedsCell.xib │ │ ├── ProfileFooter │ │ │ ├── ProfileFooterCell.swift │ │ │ └── ProfileFooterCell.xib │ │ ├── ProfileHeader │ │ │ ├── ProfileHeaderCell.swift │ │ │ └── ProfileHeaderCell.xib │ │ ├── ProfileSeparationLine │ │ │ ├── ProfileSeparationLineCell.swift │ │ │ └── ProfileSeparationLineCell.xib │ │ ├── ProfileSocialAccount │ │ │ ├── ProfileSocialAccountBlogCell.swift │ │ │ ├── ProfileSocialAccountBlogCell.xib │ │ │ ├── ProfileSocialAccountCell.swift │ │ │ ├── ProfileSocialAccountCell.xib │ │ │ ├── ProfileSocialAccountGithubCell.swift │ │ │ ├── ProfileSocialAccountGithubCell.xib │ │ │ ├── ProfileSocialAccountImagesCell.swift │ │ │ └── ProfileSocialAccountImagesCell.xib │ │ ├── QuickPickPhotos │ │ │ ├── QuickPickPhotosCell.swift │ │ │ └── QuickPickPhotosCell.xib │ │ ├── SearchMoreResults │ │ │ ├── SearchMoreResultsCell.swift │ │ │ └── SearchMoreResultsCell.xib │ │ ├── SearchSectionTitle │ │ │ ├── SearchSectionTitleCell.swift │ │ │ └── SearchSectionTitleCell.xib │ │ ├── SearchedDiscoveredUser │ │ │ ├── SearchedDiscoveredUserCell.swift │ │ │ └── SearchedDiscoveredUserCell.xib │ │ ├── SearchedFeed │ │ │ ├── SearchedFeedCell.swift │ │ │ └── SearchedFeedCell.xib │ │ ├── SearchedMessage │ │ │ ├── SearchedMessageCell.swift │ │ │ └── SearchedMessageCell.xib │ │ ├── SearchedUser │ │ │ ├── SearchedUserCell.swift │ │ │ └── SearchedUserCell.xib │ │ ├── SettingsMore │ │ │ ├── SettingsMoreCell.swift │ │ │ └── SettingsMoreCell.xib │ │ ├── SettingsUser │ │ │ ├── SettingsUserCell.swift │ │ │ └── SettingsUserCell.xib │ │ ├── Skill │ │ │ ├── SkillCell.swift │ │ │ └── SkillCell.xib │ │ ├── SkillAdd │ │ │ ├── SkillAddCell.swift │ │ │ └── SkillAddCell.xib │ │ ├── SkillCategory │ │ │ ├── SkillCategoryCell.swift │ │ │ └── SkillCategoryCell.xib │ │ ├── SkillRank │ │ │ ├── SkillRankCell.swift │ │ │ └── SkillRankCell.xib │ │ ├── SkillSelection │ │ │ ├── SkillSelectionCell.swift │ │ │ └── SkillSelectionCell.xib │ │ ├── Title │ │ │ ├── TitleCell.swift │ │ │ └── TitleCell.xib │ │ └── TitleSwitch │ │ │ └── TitleSwitchCell.swift │ ├── ContainerViews │ │ ├── FeedGithubRepoContainerView.swift │ │ ├── FeedLocationContainerView.swift │ │ ├── FeedMediaContainerView.swift │ │ ├── FeedURLContainerView.swift │ │ ├── FeedUploadingErrorContainerView.swift │ │ ├── FeedVoiceContainerView.swift │ │ ├── IconTitleContainerView.swift │ │ └── LinkContainerView.swift │ ├── ConversationTitle │ │ └── ConversationTitleView.swift │ ├── Feed │ │ ├── FeedMediaView.swift │ │ ├── FeedView.swift │ │ └── FeedView.xib │ ├── Footers │ │ └── SearchFeedsFooterView.swift │ ├── FriendRequest │ │ └── FriendRequestView.swift │ ├── GeniusInterviewAction │ │ └── GeniusInterviewActionView.swift │ ├── HorizontalLine │ │ └── HorizontalLineView.swift │ ├── InfoView │ │ └── InfoView.swift │ ├── Labels │ │ ├── FPSLabel.swift │ │ └── NavigationTitleLabel.swift │ ├── Media │ │ ├── MediaControlView.swift │ │ ├── MediaPreviewView.swift │ │ └── MediaView.swift │ ├── MeetGeniusShow │ │ └── MeetGeniusShowView.swift │ ├── Mention │ │ └── MentionView.swift │ ├── MessageToolbar │ │ ├── MessageToolbar.swift │ │ └── VoiceRecordButton.swift │ ├── MoreMessageTypes │ │ └── MoreMessageTypesView.swift │ ├── PickerItems │ │ └── FeedSkill │ │ │ └── FeedSkillPickerItemView.swift │ ├── ProgressViews │ │ └── MessageLoadingProgressView.swift │ ├── PullToRefresh │ │ ├── PullToRefreshView.swift │ │ └── YepRefreshView.swift │ ├── Rank │ │ └── RankView.swift │ ├── ReusableViews │ │ ├── AddSkills │ │ │ ├── AddSkillsReusableView.swift │ │ │ └── AddSkillsReusableView.xib │ │ ├── ProfileSectionHeader │ │ │ ├── ProfileSectionHeaderReusableView.swift │ │ │ └── ProfileSectionHeaderReusableView.xib │ │ ├── SkillAnnotationHeader │ │ │ ├── SkillAnnotationHeader.swift │ │ │ └── SkillAnnotationHeader.xib │ │ └── TableSectionTitle │ │ │ └── TableSectionTitleView.swift │ ├── SayHi │ │ └── BottomButtonView.swift │ ├── ScrollView │ │ └── YepChildScrollView.swift │ ├── ShareProfileView │ │ └── ShareProfileView.swift │ ├── SkillHomeHeaderView │ │ └── SkillHomeHeaderView.swift │ ├── SkillHomeSectionButton │ │ └── SkillHomeSectionButton.swift │ ├── Subscribe │ │ └── SubscribeView.swift │ ├── TextFields │ │ ├── BorderTextField.swift │ │ └── UnderLineTextField.swift │ ├── TextViews │ │ ├── ChatTextView.swift │ │ └── FeedTextView.swift │ ├── TitleViews │ │ └── ActivityIndicatorTitleView.swift │ └── TouchClosures │ │ └── TouchClosuresView.swift ├── Yep-Bridging-Header.h ├── Yep.entitlements ├── en.lproj │ ├── InfoPlist.strings │ └── Localizable.strings └── zh-Hans.lproj │ ├── InfoPlist.strings │ └── Localizable.strings ├── YepKit ├── Caches │ └── SendingMessagePool.swift ├── Config.swift ├── Extensions │ ├── Array+Yep.swift │ ├── Double+Yep.swift │ ├── NSDate+Yep.swift │ ├── NSFileManager+Yep.swift │ ├── Realm+Yep.swift │ ├── String+Yep.swift │ └── UIImage+Yep.swift ├── Helpers │ ├── CancelableTask.swift │ ├── SafeDispatch.swift │ └── YepMedia.swift ├── Info.plist ├── Operations │ ├── ConcurrentOperation.swift │ └── UploadAttachmentOperation.swift ├── Persistence │ ├── Models.swift │ └── RealmConfig.swift ├── Protocols │ └── OpenGraphInfoType.swift ├── Remote │ ├── SocialWorkService.swift │ ├── YepService.swift │ └── YepServiceSync.swift ├── Spotlight │ ├── FeedSearch.swift │ ├── SearchableItemType.swift │ └── UserSearch.swift ├── UI │ └── YepUIModels.swift ├── UserDefaults │ └── YepUserDefaults.swift └── YepKit.h ├── YepKitTests ├── Images.xcassets │ ├── Contents.json │ └── coolie.imageset │ │ ├── Contents.json │ │ └── coolie.png ├── Info.plist ├── ServiceTests.swift ├── SocialWorkTests.swift ├── SyncTests.swift ├── ThirdPartyServiceTests.swift └── YepKitTests.swift ├── YepNetworking ├── Extensions │ └── NSURLRequest+cURL.swift ├── Info.plist ├── Manager.swift ├── YepNetworking.h └── YepNetworking.swift ├── YepNetworkingTests ├── Info.plist └── YepNetworkingTests.swift ├── YepPreview ├── Info.plist ├── OverlayActionView.swift ├── PhotoViewController.swift ├── PhotosDataSource.swift ├── PhotosViewController.swift ├── Protocols │ ├── Photo.swift │ ├── PhotosViewControllerDataSource.swift │ └── PhotosViewControllerDelegate.swift ├── ScalingImageView.swift ├── Transiton │ ├── PhotoDismissalInteractionController.swift │ ├── PhotoTransitionAnimator.swift │ └── PhotoTransitonController.swift └── YepPreview.h ├── YepPreviewTests ├── Info.plist └── YepPreviewTests.swift ├── YepShare ├── Base.lproj │ └── MainInterface.storyboard ├── ChooseChannelViewController.swift ├── Extensions │ └── String+YepShare.swift ├── Info.plist ├── ShareViewController.swift ├── YepShare.entitlements ├── en.lproj │ └── Localizable.strings └── zh-Hans.lproj │ └── Localizable.strings ├── YepTests ├── ClearTests.swift ├── FunctionTests.swift ├── ImagesTests.swift ├── Info.plist ├── RealmTests.swift ├── StoryboardTests.swift └── YepTests.swift └── Yep_Guide_Chinese.md /BuddyBuildSDK.framework/BuddyBuildSDK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/BuddyBuildSDK.framework/BuddyBuildSDK -------------------------------------------------------------------------------- /BuddyBuildSDK.framework/build.num: -------------------------------------------------------------------------------- 1 | 1778cf1 2 | -------------------------------------------------------------------------------- /Cartfile: -------------------------------------------------------------------------------- 1 | 2 | github "realm/realm-cocoa" 3 | github "onevcat/Kingfisher" 4 | github "tid-kijyun/Kanna" 5 | github "Alamofire/Alamofire" 6 | github "ReactiveX/RxSwift" 7 | github "nixzhu/Navi" 8 | github "nixzhu/KeyboardMan" 9 | github "nixzhu/Ruler" 10 | github "nixzhu/Proposer" 11 | github "nixzhu/MonkeyKing" ~> 0.0.2 12 | 13 | -------------------------------------------------------------------------------- /Cartfile.resolved: -------------------------------------------------------------------------------- 1 | github "Alamofire/Alamofire" "3.4.1" 2 | github "tid-kijyun/Kanna" "1.1.0" 3 | github "nixzhu/KeyboardMan" "0.6.0" 4 | github "onevcat/Kingfisher" "2.4.2" 5 | github "nixzhu/MonkeyKing" "0.0.2" 6 | github "nixzhu/Proposer" "0.9.0" 7 | github "nixzhu/Ruler" "0.7.1" 8 | github "ReactiveX/RxSwift" "2.6.0" 9 | github "realm/realm-cocoa" "v1.0.2" 10 | github "nixzhu/Navi" "0.4.4" 11 | -------------------------------------------------------------------------------- /FayeClient/FayeClient.h: -------------------------------------------------------------------------------- 1 | // 2 | // FayeClient.h 3 | // FayeClient 4 | // 5 | // Created by NIX on 16/5/20. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for FayeClient. 12 | FOUNDATION_EXPORT double FayeClientVersionNumber; 13 | 14 | //! Project version string for FayeClient. 15 | FOUNDATION_EXPORT const unsigned char FayeClientVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /FayeClient/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /FayeClientTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /OpenGraph/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /OpenGraph/OpenGraph.h: -------------------------------------------------------------------------------- 1 | // 2 | // OpenGraph.h 3 | // OpenGraph 4 | // 5 | // Created by NIX on 16/5/23. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for OpenGraph. 12 | FOUNDATION_EXPORT double OpenGraphVersionNumber; 13 | 14 | //! Project version string for OpenGraph. 15 | FOUNDATION_EXPORT const unsigned char OpenGraphVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /OpenGraphTests/Extensions/NSURL+OpenGraphTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSURL+OpenGraphTests.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/5/20. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension NSURL { 12 | 13 | private var opengraphtests_queryItems: [NSURLQueryItem] { 14 | 15 | if let components = NSURLComponents(URL: self, resolvingAgainstBaseURL: false), queryItems = components.queryItems { 16 | return queryItems 17 | } 18 | 19 | return [] 20 | } 21 | 22 | func opengraphtests_containsQueryItem(queryItem: NSURLQueryItem) -> Bool { 23 | 24 | return opengraphtests_queryItems.contains(queryItem) 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /OpenGraphTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Yep.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Yep.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Yep.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 0A8F54AA1AB67D11004AD60E 16 | 17 | primary 18 | 19 | 20 | 0A8F54BF1AB67D11004AD60E 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Yep.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Yep/Activities.xcassets/wechat_session.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "wechat_session.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Activities.xcassets/wechat_session.imageset/wechat_session.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Activities.xcassets/wechat_session.imageset/wechat_session.pdf -------------------------------------------------------------------------------- /Yep/Activities.xcassets/wechat_timeline.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "wechat_timeline.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Activities.xcassets/wechat_timeline.imageset/wechat_timeline.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Activities.xcassets/wechat_timeline.imageset/wechat_timeline.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_android.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_android.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_android.imageset/badge_android.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_android.imageset/badge_android.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_apple.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_apple.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_apple.imageset/badge_apple.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_apple.imageset/badge_apple.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_ball.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_ball.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_ball.imageset/badge_ball.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_ball.imageset/badge_ball.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_bubble.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_bubble.imageset/badge_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_bubble.imageset/badge_bubble.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_camera.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_camera.imageset/badge_camera.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_camera.imageset/badge_camera.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_game.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_game.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_game.imageset/badge_game.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_game.imageset/badge_game.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_heart.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_heart.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_heart.imageset/badge_heart.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_heart.imageset/badge_heart.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_music.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_music.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_music.imageset/badge_music.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_music.imageset/badge_music.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_palette.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_palette.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_palette.imageset/badge_palette.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_palette.imageset/badge_palette.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_pet.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_pet.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_pet.imageset/badge_pet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_pet.imageset/badge_pet.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_plane.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_plane.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_plane.imageset/badge_plane.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_plane.imageset/badge_plane.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_star.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_star.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_star.imageset/badge_star.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_star.imageset/badge_star.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_steve.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_steve.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_steve.imageset/badge_steve.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_steve.imageset/badge_steve.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_tech.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_tech.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_tech.imageset/badge_tech.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_tech.imageset/badge_tech.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_wine.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "badge_wine.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/badge_wine.imageset/badge_wine.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/badge_wine.imageset/badge_wine.pdf -------------------------------------------------------------------------------- /Yep/Badges.xcassets/enabled_badge_background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "enabled_badge_background.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Badges.xcassets/enabled_badge_background.imageset/enabled_badge_background.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Badges.xcassets/enabled_badge_background.imageset/enabled_badge_background.pdf -------------------------------------------------------------------------------- /Yep/Caches/AttributedStringCache.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AttributedStringCache.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/8/2. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import YepKit 11 | 12 | class AttributedStringCache { 13 | 14 | static var sharedDictionary: [String: NSAttributedString] = [:] 15 | 16 | class func valueForKey(key: String) -> NSAttributedString? { 17 | 18 | return sharedDictionary[key] 19 | } 20 | 21 | class func setValue(attributedString: NSAttributedString, forKey key: String) { 22 | 23 | guard !key.isEmpty else { 24 | return 25 | } 26 | 27 | sharedDictionary[key] = attributedString 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Yep/Caches/AvatarStyles.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AvatarStyles.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/10/20. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Navi 10 | 11 | let miniAvatarStyle: AvatarStyle = .RoundedRectangle(size: CGSize(width: 60, height: 60), cornerRadius: 30, borderWidth: 0) 12 | let nanoAvatarStyle: AvatarStyle = .RoundedRectangle(size: CGSize(width: 40, height: 40), cornerRadius: 20, borderWidth: 0) 13 | let picoAvatarStyle: AvatarStyle = .RoundedRectangle(size: CGSize(width: 30, height: 30), cornerRadius: 15, borderWidth: 0) 14 | 15 | -------------------------------------------------------------------------------- /Yep/Extensions/CGRect+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CGRect+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/3/16. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | extension CGRect { 12 | 13 | func largestCenteredSquare() -> CGRect { 14 | 15 | let width = self.size.width 16 | let height = self.size.height 17 | let widthBigger = width / height > 1.0 18 | let size = min(width, height) 19 | 20 | let square = CGRect(x: widthBigger ? (width - height) * 0.5 : 0.0, y: widthBigger ? 0.0 : (height - width) * 0.5, width: size, height: size) 21 | 22 | return square 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /Yep/Extensions/CGSize+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CGSize+Yep.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 16/1/19. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension CGSize { 12 | 13 | func yep_ensureMinWidthOrHeight(value: CGFloat) -> CGSize { 14 | if width > height { 15 | 16 | if height < value { 17 | let ratio = height / value 18 | return CGSize(width: floor(width / ratio), height: value) 19 | } 20 | 21 | } else { 22 | if width < value { 23 | let ratio = width / value 24 | return CGSize(width: value, height: floor(height / ratio)) 25 | } 26 | } 27 | 28 | return self 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Yep/Extensions/CLPlacemark+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CLPlacemark+Yep.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/12/8. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import CoreLocation 10 | 11 | extension CLPlacemark { 12 | 13 | var yep_autoName: String? { 14 | 15 | if let a = areasOfInterest?.first { 16 | return a 17 | } 18 | 19 | if let locality = locality, thoroughfare = thoroughfare { 20 | return String(format: NSLocalizedString("localityAndThoroughfare_%@_%@", comment: ""), locality, thoroughfare) 21 | } 22 | 23 | return name ?? administrativeArea 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Yep/Extensions/DeviceGuru+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DeviceGuru+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/4/29. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import DeviceGuru 10 | 11 | extension DeviceGuru { 12 | 13 | static var yep_isLowEndDevice: Bool { 14 | 15 | switch UIDevice.currentDevice().userInterfaceIdiom { 16 | case .Phone: 17 | if DeviceGuru.hardwareNumber() < 6 { 18 | return true 19 | } 20 | case .Pad: 21 | if DeviceGuru.hardwareNumber() < 4 { 22 | return true 23 | } 24 | default: 25 | return false 26 | } 27 | 28 | return false 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Yep/Extensions/Double+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Double+Yep.swift 3 | // Yep 4 | // 5 | // Created by kevinzhow on 15/5/22. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension Double { 12 | 13 | var yep_feedAudioTimeLengthString: String { 14 | let minutes = Int(self / 60) 15 | let seconds = Int(self % 60) 16 | return String(format: "%02d:%02d", minutes, seconds) 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Yep/Extensions/NSBundle+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+Yep.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/8/31. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension NSBundle { 12 | 13 | static var releaseVersionNumber: String? { 14 | return NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as? String 15 | } 16 | 17 | static var buildVersionNumber: String? { 18 | return NSBundle.mainBundle().infoDictionary?["CFBundleVersion"] as? String 19 | } 20 | } -------------------------------------------------------------------------------- /Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/ar.lproj/NSDateTimeAgo.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/ar.lproj/NSDateTimeAgo.strings -------------------------------------------------------------------------------- /Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/gre.lproj/NSDateTimeAgo.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/gre.lproj/NSDateTimeAgo.strings -------------------------------------------------------------------------------- /Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/lv.lproj/NSDateTimeAgo.strings: -------------------------------------------------------------------------------- 1 | "1 year ago" = "Pirms gada"; 2 | "1 month ago" = "Pirms mēneša"; 3 | "1 week ago" = "Pirms nedēļas"; 4 | "1 day ago" = "Pirms dienas"; 5 | "A minute ago" = "Pirms minūtes"; 6 | "An hour ago" = "Pirms stundas"; 7 | "Last month" = "Pagājušajā mēnesī"; 8 | "Last week" = "Pagājušajā nedēļā"; 9 | "Last year" = "Pagājušajā gadā"; 10 | "Just now" = "Tikko"; 11 | "Today" = "Šodien"; 12 | "Yesterday" = "Vakar"; 13 | "This morning" = "Šorīt"; 14 | "This afternoon" = "Pēcpusdienā"; 15 | "This week" = "Šonedēļ"; 16 | "This month" = "Šomēnes"; 17 | "This year" = "Šogad"; 18 | "%d seconds ago" = "Pirms %d sekundēm"; 19 | "%d minutes ago" = "Pirms %d minūtēm"; 20 | "%d hours ago" = "Pirms %d stundām"; 21 | "%d days ago" = "Pirms %d dienām"; 22 | "%d weeks ago" = "Pirms %d nedēļām"; 23 | "%d months ago" = "Pirms %d mēnešiem"; 24 | "%d years ago" = "Pirms %d gadiem"; 25 | -------------------------------------------------------------------------------- /Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/sv.lproj/NSDateTimeAgo.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/sv.lproj/NSDateTimeAgo.strings -------------------------------------------------------------------------------- /Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/th.lproj/NSDateTimeAgo.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Extensions/NSDate+TimeAgo/NSDateTimeAgo.bundle/th.lproj/NSDateTimeAgo.strings -------------------------------------------------------------------------------- /Yep/Extensions/NSDate+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSDate+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/4/13. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension NSDate { 12 | 13 | func firstDateInThisWeek() -> NSDate { 14 | var beginningOfWeek: NSDate? 15 | let calendar = NSCalendar.currentCalendar() 16 | calendar.rangeOfUnit(.WeekOfYear, startDate: &beginningOfWeek, interval: nil, forDate: self) 17 | return beginningOfWeek! 18 | } 19 | 20 | func isInCurrentWeek() -> Bool { 21 | let firstDateOfWeek = NSDate().firstDateInThisWeek() 22 | 23 | if self.compare(firstDateOfWeek) == .OrderedDescending { 24 | return true 25 | } 26 | 27 | return false 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Yep/Extensions/NSParagraphStyle+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSParagraphStyle+Yep.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/8/21. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | extension NSParagraphStyle { 12 | 13 | class func chatTextParagraphStyle() -> NSParagraphStyle { 14 | 15 | let style = NSMutableParagraphStyle() 16 | 17 | style.minimumLineHeight = 17.3 18 | style.lineSpacing = 0 19 | style.paragraphSpacing = 0 20 | style.paragraphSpacingBefore = 0 21 | style.lineBreakMode = .ByWordWrapping 22 | 23 | return style 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Yep/Extensions/PHImageRequestOptions+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PHImageRequestOptions+Yep.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 16/1/4. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Photos 10 | 11 | extension PHImageRequestOptions { 12 | 13 | static var yep_sharedOptions: PHImageRequestOptions { 14 | 15 | let options = PHImageRequestOptions() 16 | options.synchronous = true 17 | options.version = .Current 18 | options.deliveryMode = .HighQualityFormat 19 | options.resizeMode = .Exact 20 | options.networkAccessAllowed = true 21 | 22 | return options 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /Yep/Extensions/UIApplication+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIApplication+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/28. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension UIApplication { 12 | 13 | func yep_reviewOnTheAppStore() { 14 | 15 | let appID = "983891256" 16 | 17 | guard let appURL = NSURL(string: "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") else { 18 | return 19 | } 20 | 21 | if canOpenURL(appURL) { 22 | openURL(appURL) 23 | } 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Yep/Extensions/UISegmentedControl+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UISegmentedControl+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/8/3. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | extension UISegmentedControl { 12 | 13 | func yep_setTitleFont(font: UIFont, withPadding padding: CGFloat) { 14 | 15 | let attributes = [NSFontAttributeName: font] 16 | 17 | setTitleTextAttributes(attributes, forState: .Normal) 18 | 19 | var maxWidth: CGFloat = 0 20 | for i in 0.. UIImage? { 13 | let asset = AVURLAsset(URL: videoURL, options: [:]) 14 | let imageGenerator = AVAssetImageGenerator(asset: asset) 15 | 16 | imageGenerator.appliesPreferredTrackTransform = true 17 | 18 | var actualTime: CMTime = CMTimeMake(0, 0) 19 | 20 | guard let cgImage = try? imageGenerator.copyCGImageAtTime(CMTimeMakeWithSeconds(0.0, 600), actualTime: &actualTime) else { 21 | return nil 22 | } 23 | 24 | let thumbnail = UIImage(CGImage: cgImage) 25 | 26 | return thumbnail 27 | } -------------------------------------------------------------------------------- /Yep/Helpers/YepLog.swift: -------------------------------------------------------------------------------- 1 | // 2 | // YepLog.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/9/4. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | func println(@autoclosure item: () -> Any) { 12 | #if DEBUG 13 | Swift.print(item()) 14 | #endif 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_29.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_29@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_40.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_40@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_50.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_50@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_72.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_72@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_76.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-ipad_76@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_29.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_29@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_29@3x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_40@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_40@3x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_57.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_57@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_57@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_60@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/AppIcon.appiconset/icon-iphone_60@3x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/bubble_body.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "bubble_body.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "capInsets" : { 14 | "bottom" : 20, 15 | "top" : 19, 16 | "right" : 20, 17 | "left" : 21 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode", 25 | "template-rendering-intent" : "template" 26 | } 27 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/bubble_body.imageset/bubble_body.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/bubble_body.imageset/bubble_body.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/bubble_left_tail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "bubble_left_tail.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/bubble_left_tail.imageset/bubble_left_tail.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/bubble_left_tail.imageset/bubble_left_tail.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/bubble_right_tail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "bubble_right_tail.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/bubble_right_tail.imageset/bubble_right_tail.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/bubble_right_tail.imageset/bubble_right_tail.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_camera_roll.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_camera_roll.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_camera_roll.imageset/button_camera_roll.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_camera_roll.imageset/button_camera_roll.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_capture.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_capture.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_capture.imageset/button_capture.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_capture.imageset/button_capture.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_capture_ok.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_capture_ok.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_capture_ok.imageset/button_capture_ok.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_capture_ok.imageset/button_capture_ok.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_skill_category.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_skill_category.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_skill_category.imageset/button_skill_category.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_skill_category.imageset/button_skill_category.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_voice_pause.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_voice_pause.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_voice_pause.imageset/button_voice_pause.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_voice_pause.imageset/button_voice_pause.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_voice_play.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_voice_play.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_voice_play.imageset/button_voice_play.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_voice_play.imageset/button_voice_play.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_voice_reset.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "button_voice_reset.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/button_voice_reset.imageset/button_voice_reset.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/button_voice_reset.imageset/button_voice_reset.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/chat_sharetopicbubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "chat_sharetopicbubble.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/chat_sharetopicbubble.imageset/chat_sharetopicbubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/chat_sharetopicbubble.imageset/chat_sharetopicbubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "default_avatar.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar.imageset/default_avatar.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/default_avatar.imageset/default_avatar.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar_30.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "default_avatar_30.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar_30.imageset/default_avatar_30.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/default_avatar_30.imageset/default_avatar_30.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar_40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "default_avatar_40.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar_40.imageset/default_avatar_40.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/default_avatar_40.imageset/default_avatar_40.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar_60.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "default_avatar_60.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/default_avatar_60.imageset/default_avatar_60.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/default_avatar_60.imageset/default_avatar_60.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_audio_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "feed_audio_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 25, 14 | "left" : 25 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_audio_bubble.imageset/feed_audio_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/feed_audio_bubble.imageset/feed_audio_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_container_background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "feed_container_background.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 5, 15 | "top" : 5, 16 | "right" : 5, 17 | "left" : 5 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_container_background.imageset/feed_container_background.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/feed_container_background.imageset/feed_container_background.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_media_add.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "feed_media_add.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_media_add.imageset/feed_media_add.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/feed_media_add.imageset/feed_media_add.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_skill_channel_arrow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "feed_skill_channel_arrow.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/feed_skill_channel_arrow.imageset/feed_skill_channel_arrow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/feed_skill_channel_arrow.imageset/feed_skill_channel_arrow.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/flat_arrow_down.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "flat_arrow_down.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/flat_arrow_down.imageset/flat_arrow_down.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/flat_arrow_down.imageset/flat_arrow_down.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/flat_arrow_left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "flat_arrow_left.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/flat_arrow_left.imageset/flat_arrow_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/flat_arrow_left.imageset/flat_arrow_left.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_art.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "gradient_art.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 187, 14 | "left" : 187 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "original" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_art.imageset/gradient_art.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/gradient_art.imageset/gradient_art.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_life.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "gradient_life.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 187, 14 | "left" : 187 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "original" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_life.imageset/gradient_life.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/gradient_life.imageset/gradient_life.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_sport.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "gradient_sport.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 187, 14 | "left" : 187 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "original" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_sport.imageset/gradient_sport.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/gradient_sport.imageset/gradient_sport.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_tech.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "gradient_tech.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 187, 14 | "left" : 187 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "original" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/gradient_tech.imageset/gradient_tech.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/gradient_tech.imageset/gradient_tech.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_accessory.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_accessory.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_accessory.imageset/icon_accessory.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_accessory.imageset/icon_accessory.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_accessory_mini.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_accessory_mini.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_accessory_mini.imageset/icon_accessory_mini.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_accessory_mini.imageset/icon_accessory_mini.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_arrow_down.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_arrow_down.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_arrow_down.imageset/icon_arrow_down.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_arrow_down.imageset/icon_arrow_down.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_arrow_up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_arrow_up.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_arrow_up.imageset/icon_arrow_up.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_arrow_up.imageset/icon_arrow_up.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_back.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_back.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_back.imageset/icon_back.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_back.imageset/icon_back.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_blog.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_blog.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_blog.imageset/icon_blog.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_blog.imageset/icon_blog.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_chat.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat.imageset/icon_chat.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_chat.imageset/icon_chat.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat_active.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_chat_active.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat_active.imageset/icon_chat_active.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_chat_active.imageset/icon_chat_active.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat_active_unread.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_chat_active_unread.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat_active_unread.imageset/icon_chat_active_unread.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_chat_active_unread.imageset/icon_chat_active_unread.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat_unread.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_chat_unread.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_chat_unread.imageset/icon_chat_unread.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_chat_unread.imageset/icon_chat_unread.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_contact.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_contact.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_contact.imageset/icon_contact.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_contact.imageset/icon_contact.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_contact_active.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_contact_active.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_contact_active.imageset/icon_contact_active.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_contact_active.imageset/icon_contact_active.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_current_location.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_current_location.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_current_location.imageset/icon_current_location.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_current_location.imageset/icon_current_location.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_discussion.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_discussion.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_discussion.imageset/icon_discussion.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_discussion.imageset/icon_discussion.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dot_failed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_dot_failed.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dot_failed.imageset/icon_dot_failed.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_dot_failed.imageset/icon_dot_failed.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dot_sending.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_dot_sending.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dot_sending.imageset/icon_dot_sending.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_dot_sending.imageset/icon_dot_sending.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dot_unread.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_dot_unread.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dot_unread.imageset/icon_dot_unread.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_dot_unread.imageset/icon_dot_unread.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dribbble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_dribbble.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_dribbble.imageset/icon_dribbble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_dribbble.imageset/icon_dribbble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_explore.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_explore.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_explore.imageset/icon_explore.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_explore.imageset/icon_explore.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_explore_active.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_explore_active.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_explore_active.imageset/icon_explore_active.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_explore_active.imageset/icon_explore_active.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_feed_text.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_feed_text.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_feed_text.imageset/icon_feed_text.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_feed_text.imageset/icon_feed_text.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_feeds.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_feeds.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_feeds.imageset/icon_feeds.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_feeds.imageset/icon_feeds.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_feeds_active.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_feeds_active.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_feeds_active.imageset/icon_feeds_active.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_feeds_active.imageset/icon_feeds_active.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_ghost.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_ghost.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_ghost.imageset/icon_ghost.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_ghost.imageset/icon_ghost.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_github.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_github.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_github.imageset/icon_github.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_github.imageset/icon_github.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_imagepicker_check.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_imagepicker_check.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_imagepicker_check.imageset/icon_imagepicker_check.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_imagepicker_check.imageset/icon_imagepicker_check.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_instagram.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_instagram.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_instagram.imageset/icon_instagram.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_instagram.imageset/icon_instagram.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_keyboard.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_keyboard.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_keyboard.imageset/icon_keyboard.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_keyboard.imageset/icon_keyboard.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_link.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_link.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_link.imageset/icon_link.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_link.imageset/icon_link.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_list.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_list.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_list.imageset/icon_list.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_list.imageset/icon_list.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_location.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_location.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_location.imageset/icon_location.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_location.imageset/icon_location.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_location_checkmark.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_location_checkmark.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_location_checkmark.imageset/icon_location_checkmark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_location_checkmark.imageset/icon_location_checkmark.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_me.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_me.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_me.imageset/icon_me.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_me.imageset/icon_me.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_me_active.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_me_active.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_me_active.imageset/icon_me_active.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_me_active.imageset/icon_me_active.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_media_delete.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_media_delete.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_media_delete.imageset/icon_media_delete.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_media_delete.imageset/icon_media_delete.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_minicard.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_minicard (1).pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "original" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_minicard.imageset/icon_minicard (1).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_minicard.imageset/icon_minicard (1).pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_more.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_more.imageset/icon_more.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_more.imageset/icon_more.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_more_image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_more_image.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_more_image.imageset/icon_more_image.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_more_image.imageset/icon_more_image.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pause.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_pause.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pause.imageset/icon_pause.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_pause.imageset/icon_pause.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pin.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_pin.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pin.imageset/icon_pin.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_pin.imageset/icon_pin.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pin_mini_gray.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_pin_mini_gray.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pin_mini_gray.imageset/icon_pin_mini_gray.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_pin_mini_gray.imageset/icon_pin_mini_gray.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pin_shadow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_pin_shadow.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_pin_shadow.imageset/icon_pin_shadow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_pin_shadow.imageset/icon_pin_shadow.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_play.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_play.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_play.imageset/icon_play.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_play.imageset/icon_play.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_playvideo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_playvideo.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_playvideo.imageset/icon_playvideo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_playvideo.imageset/icon_playvideo.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_profile_phone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_profile_phone.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_profile_phone.imageset/icon_profile_phone.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_profile_phone.imageset/icon_profile_phone.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_quick_camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_quick_camera.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_quick_camera.imageset/icon_quick_camera.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_quick_camera.imageset/icon_quick_camera.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_remove.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_remove.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_remove.imageset/icon_remove.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_remove.imageset/icon_remove.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_repo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_repo.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_repo.imageset/icon_repo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_repo.imageset/icon_repo.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_settings.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_settings.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_settings.imageset/icon_settings.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_settings.imageset/icon_settings.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_share.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_share.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_share.imageset/icon_share.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_share.imageset/icon_share.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_art.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_skill_art.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_art.imageset/icon_skill_art.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_skill_art.imageset/icon_skill_art.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_ball.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_skill_ball.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_ball.imageset/icon_skill_ball.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_skill_ball.imageset/icon_skill_ball.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_category_arrow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_skill_category_arrow.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_category_arrow.imageset/icon_skill_category_arrow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_skill_category_arrow.imageset/icon_skill_category_arrow.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_life.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_skill_life.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_life.imageset/icon_skill_life.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_skill_life.imageset/icon_skill_life.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_music.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_skill_music.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_music.imageset/icon_skill_music.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_skill_music.imageset/icon_skill_music.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_tech.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_skill_tech.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_skill_tech.imageset/icon_skill_tech.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_skill_tech.imageset/icon_skill_tech.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_stars.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_stars.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_stars.imageset/icon_stars.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_stars.imageset/icon_stars.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_subscribe_close.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_subscribe_close.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_subscribe_close.imageset/icon_subscribe_close.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_subscribe_close.imageset/icon_subscribe_close.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_subscribe_notify.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_subscribe_notify.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_subscribe_notify.imageset/icon_subscribe_notify.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_subscribe_notify.imageset/icon_subscribe_notify.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_topic.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_topic.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_topic.imageset/icon_topic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_topic.imageset/icon_topic.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_topic_reddot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_topic_reddot.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_topic_reddot.imageset/icon_topic_reddot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_topic_reddot.imageset/icon_topic_reddot.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_topic_text.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_topic_text.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_topic_text.imageset/icon_topic_text.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_topic_text.imageset/icon_topic_text.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_voice_left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_voice_left.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_voice_left.imageset/icon_voice_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_voice_left.imageset/icon_voice_left.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_voice_right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_voice_right.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/icon_voice_right.imageset/icon_voice_right.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/icon_voice_right.imageset/icon_voice_right.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/image_rectangle_border.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "image_rectangle_border.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 5, 15 | "top" : 4, 16 | "right" : 5, 17 | "left" : 4 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/image_rectangle_border.imageset/image_rectangle_border.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/image_rectangle_border.imageset/image_rectangle_border.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/item_mic.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icon_mic.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/item_mic.imageset/icon_mic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/item_mic.imageset/icon_mic.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/item_more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "item_more.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/item_more.imageset/item_more.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/item_more.imageset/item_more.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/left_tail_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "left_tail_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 20, 14 | "left" : 27 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/left_tail_bubble.imageset/left_tail_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/left_tail_bubble.imageset/left_tail_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/left_tail_image_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "left_tail_image_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "capInsets" : { 14 | "bottom" : 20, 15 | "top" : 25, 16 | "right" : 20, 17 | "left" : 27 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode", 25 | "template-rendering-intent" : "template" 26 | } 27 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/left_tail_image_bubble.imageset/left_tail_image_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/left_tail_image_bubble.imageset/left_tail_image_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/left_tail_image_bubble_border.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "left_tail_image_bubble_border.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 20, 15 | "top" : 25, 16 | "right" : 20, 17 | "left" : 27 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/left_tail_image_bubble_border.imageset/left_tail_image_bubble_border.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/left_tail_image_bubble_border.imageset/left_tail_image_bubble_border.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/location_bottom_shadow.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "location_bottom_shadow.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/location_bottom_shadow.imageset/location_bottom_shadow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/location_bottom_shadow.imageset/location_bottom_shadow.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/minicard_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "minicard_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 5, 14 | "left" : 5 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/minicard_bubble.imageset/minicard_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/minicard_bubble.imageset/minicard_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/minicard_bubble_more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "minicard_bubble_more.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/minicard_bubble_more.imageset/minicard_bubble_more.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/minicard_bubble_more.imageset/minicard_bubble_more.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/pick_skills_dismiss_background.imageset/pick_skills_dismiss_background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/pick_skills_dismiss_background.imageset/pick_skills_dismiss_background@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/pick_skills_dismiss_background.imageset/pick_skills_dismiss_background@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/pick_skills_dismiss_background.imageset/pick_skills_dismiss_background@3x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/profile_avatar_frame.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "profile_avatar_frame.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/profile_avatar_frame.imageset/profile_avatar_frame.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/profile_avatar_frame.imageset/profile_avatar_frame.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/right_tail_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "right_tail_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 27, 14 | "left" : 20 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/right_tail_bubble.imageset/right_tail_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/right_tail_bubble.imageset/right_tail_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/right_tail_image_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "right_tail_image_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 20, 15 | "top" : 24, 16 | "right" : 27, 17 | "left" : 20 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/right_tail_image_bubble.imageset/right_tail_image_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/right_tail_image_bubble.imageset/right_tail_image_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/right_tail_image_bubble_border.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "right_tail_image_bubble_border.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 20, 15 | "top" : 24, 16 | "right" : 27, 17 | "left" : 20 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/right_tail_image_bubble_border.imageset/right_tail_image_bubble_border.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/right_tail_image_bubble_border.imageset/right_tail_image_bubble_border.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/searchbar_textfield_background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "searchbar_textfield_background.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 5, 14 | "left" : 5 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/searchbar_textfield_background.imageset/searchbar_textfield_background.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/searchbar_textfield_background.imageset/searchbar_textfield_background.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/share_feed_bubble_left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "bubble.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/share_feed_bubble_left.imageset/bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/share_feed_bubble_left.imageset/bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_add.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "skill_add.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode", 11 | "template-rendering-intent" : "template" 12 | } 13 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_add.imageset/skill_add.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/skill_add.imageset/skill_add.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "skill_bubble.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 12, 14 | "left" : 13 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | }, 23 | "properties" : { 24 | "template-rendering-intent" : "template" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble.imageset/skill_bubble.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/skill_bubble.imageset/skill_bubble.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_empty.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "skill_bubble_empty.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 11, 14 | "left" : 11 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_empty.imageset/skill_bubble_empty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/skill_bubble_empty.imageset/skill_bubble_empty.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_empty_gray.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "skill_bubble_empty_gray.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 11, 14 | "left" : 11 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_empty_gray.imageset/skill_bubble_empty_gray.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/skill_bubble_empty_gray.imageset/skill_bubble_empty_gray.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_large.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "skill_bubble_large.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 17, 14 | "left" : 17 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode", 22 | "template-rendering-intent" : "template" 23 | } 24 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_large.imageset/skill_bubble_large.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/skill_bubble_large.imageset/skill_bubble_large.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_large_empty.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "skill_bubble_large_empty.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 17, 14 | "left" : 17 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/skill_bubble_large_empty.imageset/skill_bubble_large_empty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/skill_bubble_large_empty.imageset/skill_bubble_large_empty.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_media_image_mask.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "social_media_image_mask.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 24, 15 | "top" : 23, 16 | "right" : 5, 17 | "left" : 5 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_media_image_mask.imageset/social_media_image_mask.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/social_media_image_mask.imageset/social_media_image_mask.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_media_image_mask_full.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "social_media_image_mask_full.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 5, 15 | "top" : 5, 16 | "right" : 5, 17 | "left" : 5 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_media_image_mask_full.imageset/social_media_image_mask_full.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/social_media_image_mask_full.imageset/social_media_image_mask_full.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_work_border.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "social_work_border.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 5, 15 | "top" : 5, 16 | "right" : 5, 17 | "left" : 5 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_work_border.imageset/social_work_border.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/social_work_border.imageset/social_work_border.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_work_border_line.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "social_work_border_line.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1 11 | }, 12 | "cap-insets" : { 13 | "right" : 11, 14 | "left" : 10 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/social_work_border_line.imageset/social_work_border_line.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/social_work_border_line.imageset/social_work_border_line.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/swipe_up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "swipe_up.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/swipe_up.imageset/swipe_up.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/swipe_up.imageset/swipe_up.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/top_shadow.imageset/top_shadow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/top_shadow.imageset/top_shadow@2x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/top_shadow.imageset/top_shadow@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/top_shadow.imageset/top_shadow@3x.png -------------------------------------------------------------------------------- /Yep/Images.xcassets/unread_red_dot.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "unread_red_dot.pdf", 6 | "resizing" : { 7 | "mode" : "3-part-horizontal", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1 11 | }, 12 | "capInsets" : { 13 | "right" : 7, 14 | "left" : 7 15 | } 16 | } 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/unread_red_dot.imageset/unread_red_dot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/unread_red_dot.imageset/unread_red_dot.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/url_container_left_background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "url_container_left_background.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 5, 15 | "top" : 5, 16 | "right" : 5, 17 | "left" : 2 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/url_container_left_background.imageset/url_container_left_background.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/url_container_left_background.imageset/url_container_left_background.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/url_container_right_background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "url_container_right_background.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "tile", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "cap-insets" : { 14 | "bottom" : 5, 15 | "top" : 5, 16 | "right" : 10, 17 | "left" : 9 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/url_container_right_background.imageset/url_container_right_background.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/url_container_right_background.imageset/url_container_right_background.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/voice_indicator.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "voice_indicator.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/voice_indicator.imageset/voice_indicator.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/voice_indicator.imageset/voice_indicator.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/white.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "white.pdf", 6 | "resizing" : { 7 | "mode" : "9-part", 8 | "center" : { 9 | "mode" : "fill", 10 | "width" : 1, 11 | "height" : 1 12 | }, 13 | "capInsets" : { 14 | "bottom" : 20, 15 | "top" : 19, 16 | "right" : 20, 17 | "left" : 19 18 | } 19 | } 20 | } 21 | ], 22 | "info" : { 23 | "version" : 1, 24 | "author" : "xcode" 25 | } 26 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/white.imageset/white.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/white.imageset/white.pdf -------------------------------------------------------------------------------- /Yep/Images.xcassets/yep_icon_solo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "yep_icon_solo.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Images.xcassets/yep_icon_solo.imageset/yep_icon_solo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Images.xcassets/yep_icon_solo.imageset/yep_icon_solo.pdf -------------------------------------------------------------------------------- /Yep/PreviewPhotos/PreviewAttachmentPhoto.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PreviewAttachmentPhoto.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/20. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import YepKit 11 | import YepPreview 12 | 13 | class PreviewAttachmentPhoto: NSObject, Photo { 14 | 15 | var image: UIImage? { 16 | didSet { 17 | self.updatedImage?(image: image) 18 | } 19 | } 20 | 21 | var updatedImage: ((image: UIImage?) -> Void)? 22 | 23 | init(attachment: DiscoveredAttachment) { 24 | super.init() 25 | 26 | ImageCache.sharedInstance.imageOfAttachment(attachment, withMinSideLength: nil) { [weak self] (url, image, cacheType) in 27 | if let image = image { 28 | self?.image = image 29 | } 30 | } 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /Yep/PreviewPhotos/PreviewNewFeedPhoto.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PreviewNewFeedPhoto.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/15. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import YepKit 11 | import YepPreview 12 | 13 | class PreviewNewFeedPhoto: NSObject, Photo { 14 | 15 | var image: UIImage? { 16 | didSet { 17 | self.updatedImage?(image: image) 18 | } 19 | } 20 | 21 | var updatedImage: ((image: UIImage?) -> Void)? 22 | 23 | init(image: UIImage) { 24 | super.init() 25 | 26 | self.image = image 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/Protocols/InterviewRepresentation.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InterviewRepresentation.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/12. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import YepKit 10 | 11 | protocol InterviewRepresentation { 12 | 13 | var user: DiscoveredUser { get } 14 | var linkURL: NSURL { get } 15 | } 16 | 17 | extension GeniusInterview: InterviewRepresentation { 18 | 19 | var linkURL: NSURL { 20 | return url 21 | } 22 | } 23 | 24 | extension GeniusInterviewBanner: InterviewRepresentation { 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Yep/Protocols/NibLoadable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NibLoadable.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/14. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | protocol NibLoadable { 12 | 13 | static var yep_nibName: String { get } 14 | } 15 | 16 | extension UITableViewCell: NibLoadable { 17 | 18 | static var yep_nibName: String { 19 | return String(self) 20 | } 21 | } 22 | 23 | extension UICollectionReusableView: NibLoadable { 24 | 25 | static var yep_nibName: String { 26 | return String(self) 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/Protocols/Reusable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Reusable.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/14. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | protocol Reusable: class { 12 | 13 | static var yep_reuseIdentifier: String { get } 14 | } 15 | 16 | extension UITableViewCell: Reusable { 17 | 18 | static var yep_reuseIdentifier: String { 19 | return String(self) 20 | } 21 | } 22 | 23 | extension UITableViewHeaderFooterView: Reusable { 24 | 25 | static var yep_reuseIdentifier: String { 26 | return String(self) 27 | } 28 | } 29 | 30 | extension UICollectionReusableView: Reusable { 31 | 32 | static var yep_reuseIdentifier: String { 33 | return String(self) 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /Yep/Protocols/UserRepresentation.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UserRepresentation.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/4/8. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import YepKit 11 | 12 | protocol UserRepresentation { 13 | 14 | var userID: String { get } 15 | var nickname: String { get } 16 | var mentionedUsername: String? { get } 17 | var avatarURLString: String { get } 18 | var userIntroduction: String? { get } 19 | 20 | var lastSignInUnixTime: NSTimeInterval { get } 21 | } 22 | 23 | extension User: UserRepresentation { 24 | 25 | var userIntroduction: String? { 26 | return introduction.isEmpty ? nil : introduction 27 | } 28 | } 29 | 30 | extension DiscoveredUser: UserRepresentation { 31 | 32 | var userID: String { 33 | return id 34 | } 35 | 36 | var userIntroduction: String? { 37 | return introduction 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Yep/RunLoop/NextRunloopJob.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NextRunloopJob.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/20. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | func doInNextRunLoop(job: dispatch_block_t) { 12 | 13 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0), dispatch_get_main_queue()) { 14 | job() 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Yep/Shortcuts/ShortcutType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ShortcutType.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/4/28. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | enum ShortcutType: String { 12 | 13 | case Feeds = "com.Catch-Inc.Yep.Shortcut.Feeds" 14 | case LatestOneToOneConversation = "com.Catch-Inc.Yep.Shortcut.LatestOneToOneConversation" 15 | case LatestFeedConversation = "com.Catch-Inc.Yep.Shortcut.LatestFeedConversation" 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Yep/Show.xcassets/Book.imageset/Book.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Book.imageset/Book.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Book.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Book.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Camera.imageset/Camera.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Camera.imageset/Camera.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Camera.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Controller.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Controller.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Controller.imageset/Controller.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Controller.imageset/Controller.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 1.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 1.imageset/Fill 1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 1.imageset/Fill 1.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 2.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 2.imageset/Fill 2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 2.imageset/Fill 2.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 4.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 4.imageset/Fill 4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 4.imageset/Fill 4.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 5.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 5.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 5.imageset/Fill 5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 5.imageset/Fill 5.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 6.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 6.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 6.imageset/Fill 6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 6.imageset/Fill 6.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 7.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 7.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 7.imageset/Fill 7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 7.imageset/Fill 7.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 8.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Fill 8.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Fill 8.imageset/Fill 8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Fill 8.imageset/Fill 8.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Frame.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Frame.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Frame.imageset/Frame.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Frame.imageset/Frame.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Head.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Head.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Head.imageset/Head.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Head.imageset/Head.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Keyboard.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Keyboard.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Keyboard.imageset/Keyboard.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Keyboard.imageset/Keyboard.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval1.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval1.imageset/Oval1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval1.imageset/Oval1.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval10.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval10.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval10.imageset/Oval10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval10.imageset/Oval10.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval11.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval11.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval11.imageset/Oval11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval11.imageset/Oval11.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval2.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval2.imageset/Oval2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval2.imageset/Oval2.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval3.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval3.imageset/Oval3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval3.imageset/Oval3.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval4.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval4.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval4.imageset/Oval4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval4.imageset/Oval4.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval5.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval5.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval5.imageset/Oval5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval5.imageset/Oval5.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval6.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval6.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval6.imageset/Oval6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval6.imageset/Oval6.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval7.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval7.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval7.imageset/Oval7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval7.imageset/Oval7.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval8.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval8.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval8.imageset/Oval8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval8.imageset/Oval8.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval9.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval9.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval9.imageset/Oval9.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval9.imageset/Oval9.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval_big.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Oval_big.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Oval_big.imageset/Oval_big.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Oval_big.imageset/Oval_big.pdf -------------------------------------------------------------------------------- /Yep/Show.xcassets/Pen.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Pen.pdf" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Yep/Show.xcassets/Pen.imageset/Pen.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Show.xcassets/Pen.imageset/Pen.pdf -------------------------------------------------------------------------------- /Yep/Sounds/bub3.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/Yep/Sounds/bub3.caf -------------------------------------------------------------------------------- /Yep/ViewControllers/Base/SegueViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SegueViewController.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 16/1/4. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class SegueViewController: UIViewController { 12 | 13 | override func performSegueWithIdentifier(identifier: String, sender: AnyObject?) { 14 | 15 | if let navigationController = navigationController { 16 | guard navigationController.topViewController == self else { 17 | return 18 | } 19 | } 20 | 21 | super.performSegueWithIdentifier(identifier, sender: sender) 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Chat/CellNodes/ChatLeftBaseCellNode.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChatLeftBaseCellNode.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/5. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import YepKit 11 | import AsyncDisplayKit 12 | 13 | class ChatLeftBaseCellNode: ChatBaseCellNode { 14 | 15 | override func layout() { 16 | super.layout() 17 | 18 | let y = ChatBaseCellNode.topPadding 19 | avatarImageNode.frame = CGRect(origin: CGPoint(x: 15, y: y), size: ChatBaseCellNode.avatarSize) 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Chat/CellNodes/ChatRightBaseCellNode.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ChatRightBaseCellNode.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/5. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import YepKit 11 | import AsyncDisplayKit 12 | 13 | class ChatRightBaseCellNode: ChatBaseCellNode { 14 | 15 | override func layout() { 16 | super.layout() 17 | 18 | let x = calculatedSize.width - (ChatBaseCellNode.avatarSize.width + 15) 19 | let y = ChatBaseCellNode.topPadding 20 | let origin = CGPoint(x: x, y: y) 21 | avatarImageNode.frame = CGRect(origin: origin, size: ChatBaseCellNode.avatarSize) 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Chat/Protocols/Copyable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyable.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/8. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | protocol Copyable { 12 | 13 | var text: String? { get } 14 | } 15 | 16 | extension ChatLeftTextCellNode: Copyable { 17 | 18 | var text: String? { 19 | return textNode.attributedText?.string 20 | } 21 | } 22 | 23 | extension ChatRightTextCellNode: Copyable { 24 | 25 | var text: String? { 26 | return textNode.attributedText?.string 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Chat/Protocols/Previewable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Previewable.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/7/6. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | protocol Previewable { 12 | 13 | var transitionView: UIView { get } 14 | } 15 | 16 | extension ChatLeftImageCellNode: Previewable { 17 | 18 | var transitionView: UIView { 19 | return imageNode.view 20 | } 21 | } 22 | 23 | extension ChatRightImageCellNode: Previewable { 24 | 25 | var transitionView: UIView { 26 | return imageNode.view 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Conversation/ConversationViewController+AVAudioRecorderDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ConversationViewController+AVAudioRecorderDelegate.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/29. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import AVFoundation 11 | 12 | extension ConversationViewController: AVAudioRecorderDelegate { 13 | 14 | func audioRecorderDidFinishRecording(recorder: AVAudioRecorder, successfully flag: Bool) { 15 | println("finished recording \(flag)") 16 | } 17 | 18 | func audioRecorderEncodeErrorDidOccur(recorder: AVAudioRecorder, error: NSError?) { 19 | println("\(error?.localizedDescription)") 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Discover/DiscoverCollectionView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DiscoverCollectionView.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/3/11. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class DiscoverCollectionView: UICollectionView { 12 | 13 | // ref http://stackoverflow.com/questions/19483511/uirefreshcontrol-with-uicollectionview-in-ios7 14 | override var contentInset: UIEdgeInsets { 15 | didSet { 16 | if tracking { 17 | let diff = contentInset.top - oldValue.top 18 | var translation = panGestureRecognizer.translationInView(self) 19 | translation.y -= diff * 3 / 2 20 | panGestureRecognizer.setTranslation(translation, inView: self) 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Yep/ViewControllers/Discover/DiscoverFlowLayout.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DiscoverFlowLayout.swift 3 | // Yep 4 | // 5 | // Created by zhowkevin on 15/10/10. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class DiscoverFlowLayout: UICollectionViewFlowLayout { 12 | 13 | enum Mode { 14 | case Normal 15 | case Card 16 | } 17 | 18 | var mode: Mode? 19 | 20 | // override func prepareLayout() { 21 | // switch userMode! { 22 | // case .Normal: 23 | // self.itemSize = CGSize(width: collectionView!.frame.width, height: 80) 24 | // case .Card: 25 | // self.itemSize = CGSize(width: (collectionView!.frame.width - (10 + 10 + 10))/2.0, height: 280) 26 | // } 27 | // } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /Yep/ViewControllers/PickLocation/LocationPin.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UserPickLocationAnnotation.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/5/4. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import MapKit 10 | 11 | final class LocationPin: NSObject, MKAnnotation { 12 | let title: String? 13 | let subtitle: String? 14 | let coordinate: CLLocationCoordinate2D 15 | 16 | init(title: String, subtitle: String, coordinate: CLLocationCoordinate2D) { 17 | self.title = title 18 | self.subtitle = subtitle 19 | self.coordinate = coordinate 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Yep/Views/CameraPreview/CameraPreviewView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CameraPreviewView.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/3/18. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import AVFoundation 11 | 12 | final class CameraPreviewView: UIView { 13 | 14 | var session: AVCaptureSession? { 15 | get { 16 | return (self.layer as! AVCaptureVideoPreviewLayer).session 17 | } 18 | set (session) { 19 | (self.layer as! AVCaptureVideoPreviewLayer).session = session 20 | } 21 | } 22 | 23 | override class func layerClass() -> AnyClass { 24 | return AVCaptureVideoPreviewLayer.self 25 | } 26 | 27 | override func didMoveToSuperview() { 28 | super.didMoveToSuperview() 29 | 30 | (self.layer as! AVCaptureVideoPreviewLayer).videoGravity = AVLayerVideoGravityResizeAspectFill 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /Yep/Views/Cells/About/AboutCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AboutCell.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/8/28. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class AboutCell: UITableViewCell { 12 | 13 | @IBOutlet weak var annotationLabel: UILabel! 14 | @IBOutlet weak var accessoryImageView: UIImageView! 15 | 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | 19 | accessoryImageView.tintColor = UIColor.yepCellAccessoryImageViewTintColor() 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Yep/Views/Cells/AddFriendMore/AddFriendMoreCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AddFriendMoreCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/5/19. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class AddFriendMoreCell: UITableViewCell { 12 | 13 | @IBOutlet weak var annotationLabel: UILabel! 14 | @IBOutlet weak var accessoryImageView: UIImageView! 15 | 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | 19 | accessoryImageView.tintColor = UIColor.yepCellAccessoryImageViewTintColor() 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Yep/Views/Cells/AddFriendSearch/AddFriendSearchCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AddFriendSearchCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/5/19. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class AddFriendSearchCell: UITableViewCell { 12 | 13 | @IBOutlet weak var searchTextField: UITextField! 14 | 15 | override func awakeFromNib() { 16 | super.awakeFromNib() 17 | 18 | searchTextField.placeholder = NSLocalizedString("Search User", comment: "") 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Yep/Views/Cells/Camera/CameraCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CameraCell.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/10/16. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class CameraCell: UICollectionViewCell { 12 | 13 | override func awakeFromNib() { 14 | super.awakeFromNib() 15 | 16 | contentView.backgroundColor = UIColor.yepTintColor() 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Yep/Views/Cells/DiscoverSkill/DiscoverSkillCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DiscoverSkillCell.swift 3 | // Yep 4 | // 5 | // Created by zhowkevin on 15/10/12. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class DiscoverSkillCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var skillLabel: UILabel! 14 | 15 | override func awakeFromNib() { 16 | super.awakeFromNib() 17 | 18 | skillLabel.font = UIFont.skillDiscoverTextFont() 19 | skillLabel.backgroundColor = UIColor.yepTintColor() 20 | // Initialization code 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /Yep/Views/Cells/DoNotDisturb/DoNotDisturbPeriodCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DoNotDisturbPeriodCell.swift 3 | // 4 | // 5 | // Created by NIX on 15/8/3. 6 | // 7 | // 8 | 9 | import UIKit 10 | 11 | final class DoNotDisturbPeriodCell: UITableViewCell { 12 | 13 | @IBOutlet weak var fromPromptLabel: UILabel! 14 | 15 | @IBOutlet weak var toPromptLabel: UILabel! 16 | 17 | @IBOutlet weak var fromLabel: UILabel! 18 | 19 | @IBOutlet weak var toLabel: UILabel! 20 | 21 | @IBOutlet weak var accessoryImageView: UIImageView! 22 | 23 | 24 | override func awakeFromNib() { 25 | super.awakeFromNib() 26 | 27 | accessoryImageView.tintColor = UIColor.yepCellAccessoryImageViewTintColor() 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Yep/Views/Cells/DoNotDisturb/DoNotDisturbSwitchCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DoNotDisturbSwitchCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/8/3. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class DoNotDisturbSwitchCell: UITableViewCell { 12 | 13 | var toggleAction: (Bool -> Void)? 14 | 15 | @IBOutlet weak var promptLabel: UILabel! 16 | @IBOutlet weak var toggleSwitch: UISwitch! 17 | 18 | // MARK: - Actions 19 | 20 | @IBAction func toggleDoNotDisturb(sender: UISwitch) { 21 | toggleAction?(sender.on) 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Yep/Views/Cells/EditProfileColoredTitle/EditProfileColoredTitleCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EditProfileColoredTitleCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/4/27. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class EditProfileColoredTitleCell: UITableViewCell { 12 | 13 | @IBOutlet weak var coloredTitleLabel: UILabel! 14 | 15 | var coloredTitleColor: UIColor = UIColor.redColor() { 16 | willSet { 17 | coloredTitleLabel.textColor = newValue 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Yep/Views/Cells/FeedMediaAdd/FeedMediaAddCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FeedMediaAddCell.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/9/30. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class FeedMediaAddCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var mediaAddImage: UIImageView! 14 | 15 | override func awakeFromNib() { 16 | super.awakeFromNib() 17 | 18 | mediaAddImage.tintColor = UIColor.yepTintColor() 19 | contentView.backgroundColor = UIColor.yepBackgroundColor() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Yep/Views/Cells/GithubRepo/GithubRepoCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // GithubRepoCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/5/12. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class GithubRepoCell: UITableViewCell { 12 | 13 | @IBOutlet weak var nameLabel: UILabel! 14 | @IBOutlet weak var nameLabelLeadingConstraint: NSLayoutConstraint! 15 | 16 | @IBOutlet weak var descriptionLabel: UILabel! 17 | 18 | @IBOutlet weak var starCountLabel: UILabel! 19 | @IBOutlet weak var starCountLabelTrailingConstraint: NSLayoutConstraint! 20 | 21 | override func awakeFromNib() { 22 | super.awakeFromNib() 23 | 24 | nameLabel.textColor = UIColor.yepTintColor() 25 | 26 | nameLabelLeadingConstraint.constant = YepConfig.SocialWorkGithub.Repo.rightEdgeInset 27 | starCountLabelTrailingConstraint.constant = YepConfig.SocialWorkGithub.Repo.leftEdgeInset 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Yep/Views/Cells/InstagramMedia/InstagramMediaCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InstagramMediaCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/5/14. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import YepKit 11 | import Kingfisher 12 | 13 | final class InstagramMediaCell: UICollectionViewCell { 14 | 15 | @IBOutlet weak var imageView: UIImageView! 16 | 17 | override func awakeFromNib() { 18 | super.awakeFromNib() 19 | 20 | imageView.contentMode = .ScaleAspectFill 21 | } 22 | 23 | override func prepareForReuse() { 24 | super.prepareForReuse() 25 | imageView.image = nil 26 | } 27 | 28 | func configureWithInstagramMedia(media: InstagramWork.Media) { 29 | 30 | imageView.kf_showIndicatorWhenLoading = true 31 | imageView.kf_setImageWithURL(NSURL(string: media.images.lowResolution)!, placeholderImage: nil, optionsInfo: MediaOptionsInfos) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Yep/Views/Cells/LoadMore/LoadMoreCollectionViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LoadMoreCollectionViewCell.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/10/30. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class LoadMoreCollectionViewCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var loadingActivityIndicator: UIActivityIndicatorView! 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Yep/Views/Cells/MediaView/MediaViewCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MediaViewCell.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/10/28. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class MediaViewCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var mediaView: MediaView! 14 | @IBOutlet weak var activityIndicator: UIActivityIndicatorView! 15 | 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | 19 | mediaView.backgroundColor = UIColor.clearColor() 20 | contentView.backgroundColor = UIColor.clearColor() 21 | } 22 | 23 | override func prepareForReuse() { 24 | super.prepareForReuse() 25 | 26 | mediaView.imageView.image = nil 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/Views/Cells/NewFeedPreview/AlbumListCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AlbumListCell.swift 3 | // Yep 4 | // 5 | // Created by ChaiYixiao on 4/12/16. 6 | // Copyright © 2016 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class AlbumListCell: UITableViewCell { 12 | 13 | @IBOutlet weak var countLabel: UILabel! 14 | @IBOutlet weak var titleLabel: UILabel! 15 | @IBOutlet weak var posterImageView: UIImageView! 16 | 17 | 18 | override func awakeFromNib() { 19 | super.awakeFromNib() 20 | separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) 21 | } 22 | 23 | override func prepareForReuse() { 24 | super.prepareForReuse() 25 | countLabel.text = nil 26 | titleLabel.text = nil 27 | posterImageView.image = nil 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Yep/Views/Cells/PickLocation/PickLocationCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PickLocationCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/5/5. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class PickLocationCell: UITableViewCell { 12 | 13 | @IBOutlet weak var iconImageView: UIImageView! 14 | @IBOutlet weak var locationLabel: UILabel! 15 | @IBOutlet weak var checkImageView: UIImageView! 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Yep/Views/Cells/ProfileSocialAccount/ProfileSocialAccountCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ProfileSocialAccountCell.swift 3 | // Yep 4 | // 5 | // Created by kevinzhow on 15/5/12. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class ProfileSocialAccountCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var iconImageView: UIImageView! 14 | @IBOutlet weak var iconImageViewLeadingConstraint: NSLayoutConstraint! 15 | 16 | @IBOutlet weak var nameLabel: UILabel! 17 | @IBOutlet weak var nameLabelTrailingConstraint: NSLayoutConstraint! 18 | 19 | 20 | override func awakeFromNib() { 21 | super.awakeFromNib() 22 | 23 | iconImageViewLeadingConstraint.constant = YepConfig.Profile.leftEdgeInset 24 | nameLabelTrailingConstraint.constant = YepConfig.Profile.rightEdgeInset 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /Yep/Views/Cells/SearchSectionTitle/SearchSectionTitleCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SearchSectionTitleCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/4/5. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class SearchSectionTitleCell: UITableViewCell { 12 | 13 | @IBOutlet weak var sectionTitleLabel: UILabel! { 14 | didSet { 15 | sectionTitleLabel.textColor = UIColor(red: 142/255.0, green: 142/255.0, blue: 147/255.0, alpha: 1) 16 | } 17 | } 18 | 19 | override func awakeFromNib() { 20 | super.awakeFromNib() 21 | 22 | selectionStyle = .None 23 | separatorInset = YepConfig.SearchedItemCell.separatorInset 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Yep/Views/Cells/SettingsMore/SettingsMoreCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SettingsMoreCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/4/24. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class SettingsMoreCell: UITableViewCell { 12 | 13 | @IBOutlet weak var annotationLabel: UILabel! 14 | @IBOutlet weak var accessoryImageView: UIImageView! 15 | 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | 19 | accessoryImageView.tintColor = UIColor.yepCellAccessoryImageViewTintColor() 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Yep/Views/Cells/SkillAdd/SkillAddCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SkillAddCell.swift 3 | // 4 | // 5 | // Created by NIX on 15/6/23. 6 | // 7 | // 8 | 9 | import UIKit 10 | import YepKit 11 | 12 | final class SkillAddCell: UICollectionViewCell { 13 | 14 | var skillSet: SkillSet = .Master 15 | 16 | var addSkillsAction: (SkillSet -> ())? 17 | } 18 | -------------------------------------------------------------------------------- /Yep/Views/Cells/SkillRank/SkillRankCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SkillRankCell.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/3/18. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class SkillRankCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var skillLabel: UILabel! 14 | @IBOutlet weak var rankView: RankView! 15 | 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | // Initialization code 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /Yep/Views/Cells/Title/TitleCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TitleCell.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/10/16. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class TitleCell: UITableViewCell { 12 | 13 | @IBOutlet weak var singleTitleLabel: UILabel! 14 | 15 | var boldEnabled = false { 16 | didSet { 17 | singleTitleLabel.font = boldEnabled ? UIFont.boldSystemFontOfSize(17) : UIFont.systemFontOfSize(17) 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Yep/Views/Labels/NavigationTitleLabel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NavigationTitleLabel.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/6/15. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class NavigationTitleLabel: UILabel { 12 | 13 | required init?(coder aDecoder: NSCoder) { 14 | fatalError("init(coder:) has not been implemented") 15 | } 16 | 17 | init(title: String) { 18 | super.init(frame: CGRect(x: 0, y: 0, width: 150, height: 30)) 19 | 20 | text = title 21 | 22 | textAlignment = .Center 23 | font = UIFont.navigationBarTitleFont() // make sure it's the same as system use 24 | textColor = UIColor.yepNavgationBarTitleColor() 25 | 26 | sizeToFit() 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/Views/ReusableViews/AddSkills/AddSkillsReusableView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AddSkillsReusableView.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/4/15. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import YepKit 11 | import Ruler 12 | 13 | final class AddSkillsReusableView: UICollectionReusableView { 14 | 15 | var skillSet: SkillSet = .Master { 16 | willSet { 17 | skillTypeLabel.text = "\(newValue.name)" 18 | } 19 | } 20 | 21 | @IBOutlet weak var skillTypeLabel: UILabel! 22 | @IBOutlet weak var skillTypeLabelLeadingConstraint: NSLayoutConstraint! 23 | 24 | override func awakeFromNib() { 25 | super.awakeFromNib() 26 | 27 | skillTypeLabelLeadingConstraint.constant = registerPickSkillsLayoutLeftEdgeInset 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Yep/Views/ReusableViews/SkillAnnotationHeader/SkillAnnotationHeader.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SkillAnnotationHeader.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/4/20. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class SkillAnnotationHeader: UICollectionReusableView { 12 | 13 | @IBOutlet weak var annotationLabel: UILabel! 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Yep/Views/ScrollView/YepChildScrollView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // YepChildScrollView.swift 3 | // Yep 4 | // 5 | // Created by kevinzhow on 15/5/24. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class YepChildScrollView: UITableView { 12 | 13 | func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 14 | 15 | return false 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Yep/Views/TouchClosures/TouchClosuresView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TouchClosuresView.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 15/10/13. 6 | // Copyright © 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | final class TouchClosuresView: UIView { 12 | 13 | var touchesBeganAction: (() -> Void)? 14 | var touchesEndedAction: (() -> Void)? 15 | var touchesCancelledAction: (() -> Void)? 16 | 17 | override func touchesBegan(touches: Set, withEvent event: UIEvent?) { 18 | touchesBeganAction?() 19 | } 20 | 21 | override func touchesEnded(touches: Set, withEvent event: UIEvent?) { 22 | touchesEndedAction?() 23 | } 24 | 25 | override func touchesCancelled(touches: Set?, withEvent event: UIEvent?) { 26 | touchesCancelledAction?() 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Yep/Yep-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | #import 6 | 7 | #import 8 | 9 | #import 10 | -------------------------------------------------------------------------------- /Yep/Yep.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.developer.associated-domains 6 | 7 | applinks:soyep.com 8 | 9 | com.apple.security.application-groups 10 | 11 | group.Catch-Inc.Yep 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Yep/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | Yep 4 | 5 | Created by nixzhu on 15/9/17. 6 | Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | */ 8 | 9 | "NSLocationWhenInUseUsageDescription" = "Meet with nearby geniuses"; -------------------------------------------------------------------------------- /Yep/zh-Hans.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | Yep 4 | 5 | Created by nixzhu on 15/9/17. 6 | Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | */ 8 | 9 | "NSLocationWhenInUseUsageDescription" = "与附近的天才相遇"; -------------------------------------------------------------------------------- /YepKit/Caches/SendingMessagePool.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SendingMessagePool.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/3/28. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | final public class SendingMessagePool { 12 | 13 | private static var sharedPool = SendingMessagePool() 14 | 15 | private init() { 16 | } 17 | 18 | var tempMessageIDSet = Set() 19 | 20 | public class func containsMessage(tempMesssageID tempMesssageID: String) -> Bool { 21 | 22 | return sharedPool.tempMessageIDSet.contains(tempMesssageID) 23 | } 24 | 25 | public class func addMessage(tempMesssageID tempMesssageID: String) { 26 | 27 | sharedPool.tempMessageIDSet.insert(tempMesssageID) 28 | } 29 | 30 | public class func removeMessage(tempMesssageID tempMesssageID: String) { 31 | 32 | sharedPool.tempMessageIDSet.remove(tempMesssageID) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /YepKit/Extensions/Array+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Array+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/7/30. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | public extension Array { 10 | 11 | public subscript (safe index: Int) -> Element? { 12 | return indices ~= index ? self[index] : nil 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /YepKit/Extensions/Double+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Double+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/5/23. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public extension Double { 12 | 13 | public func yep_format(f: String) -> String { 14 | return NSString(format: "%\(f)f", self) as String 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /YepKit/Extensions/Realm+Yep.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Realm+Yep.swift 3 | // Yep 4 | // 5 | // Created by NIX on 15/6/30. 6 | // Copyright (c) 2015年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import RealmSwift 10 | 11 | public extension Results { 12 | 13 | public subscript (safe index: Int) -> T? { 14 | return indices ~= index ? self[index] : nil 15 | } 16 | } 17 | 18 | public extension List { 19 | 20 | public subscript (safe index: Int) -> T? { 21 | return indices ~= index ? self[index] : nil 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /YepKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /YepKit/Persistence/RealmConfig.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RealmConfig.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/5/24. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import RealmSwift 11 | 12 | public func realmConfig() -> Realm.Configuration { 13 | 14 | // 默认将 Realm 放在 App Group 里 15 | 16 | let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier(Config.appGroupID)! 17 | let realmFileURL = directory.URLByAppendingPathComponent("db.realm") 18 | 19 | var config = Realm.Configuration() 20 | config.fileURL = realmFileURL 21 | config.schemaVersion = 34 22 | config.migrationBlock = { migration, oldSchemaVersion in 23 | } 24 | 25 | return config 26 | } 27 | 28 | -------------------------------------------------------------------------------- /YepKit/Protocols/OpenGraphInfoType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // OpenGraphInfoType.swift 3 | // Yep 4 | // 5 | // Created by nixzhu on 16/1/15. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public protocol OpenGraphInfoType { 12 | 13 | var URL: NSURL { get } 14 | 15 | var siteName: String { get } 16 | var title: String { get } 17 | var infoDescription: String { get } 18 | var thumbnailImageURLString: String { get } 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /YepKit/Spotlight/UserSearch.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UserSearch.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/3/30. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import CoreSpotlight 10 | import MobileCoreServices.UTType 11 | 12 | public let userDomainIdentifier = "Catch-Inc.Yep.User" 13 | 14 | @available(iOS 9.0, *) 15 | public extension User { 16 | 17 | public var attributeSet: CSSearchableItemAttributeSet { 18 | let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeItem as String) 19 | attributeSet.title = compositedName 20 | attributeSet.contentDescription = introduction 21 | attributeSet.thumbnailData = avatar?.roundMini 22 | attributeSet.keywords = [nickname, username] 23 | return attributeSet 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /YepKit/YepKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // YepKit.h 3 | // YepKit 4 | // 5 | // Created by NIX on 16/5/23. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for YepKit. 12 | FOUNDATION_EXPORT double YepKitVersionNumber; 13 | 14 | //! Project version string for YepKit. 15 | FOUNDATION_EXPORT const unsigned char YepKitVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /YepKitTests/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /YepKitTests/Images.xcassets/coolie.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "coolie.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /YepKitTests/Images.xcassets/coolie.imageset/coolie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CatchChat/Yep/0e90d7a2a6dabb1cb3fe25c973e8d106b2cc5afc/YepKitTests/Images.xcassets/coolie.imageset/coolie.png -------------------------------------------------------------------------------- /YepKitTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /YepKitTests/ThirdPartyServiceTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ThirdPartyServiceTests.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/5/5. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import YepKit 11 | import CoreLocation 12 | 13 | final class ThirdPartyServiceTests: XCTestCase { 14 | 15 | func testSearchFoursquareVenues() { 16 | 17 | let expectation = expectationWithDescription("search foursquare venues") 18 | 19 | let coordinate = CLLocationCoordinate2D(latitude: 20.03, longitude: 110.33) 20 | 21 | foursquareVenuesNearby(coordinate: coordinate, failureHandler: nil, completion: { venues in 22 | println("venues count: \(venues.count)") 23 | if !venues.isEmpty { 24 | expectation.fulfill() 25 | } 26 | }) 27 | 28 | waitForExpectationsWithTimeout(10, handler: nil) 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /YepNetworking/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /YepNetworking/Manager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Manager.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/5/19. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public class Manager { 12 | 13 | private init() { 14 | } 15 | 16 | public static var accessToken: (() -> String?)? 17 | 18 | public static var authFailedAction: ((statusCode: Int, host: String) -> Void)? 19 | 20 | public static var networkActivityCountChangedAction: ((count: Int) -> Void)? 21 | } 22 | 23 | -------------------------------------------------------------------------------- /YepNetworking/YepNetworking.h: -------------------------------------------------------------------------------- 1 | // 2 | // YepNetworking.h 3 | // YepNetworking 4 | // 5 | // Created by NIX on 16/5/19. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for YepNetworking. 12 | FOUNDATION_EXPORT double YepNetworkingVersionNumber; 13 | 14 | //! Project version string for YepNetworking. 15 | FOUNDATION_EXPORT const unsigned char YepNetworkingVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /YepNetworkingTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /YepPreview/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /YepPreview/Protocols/Photo.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Photo.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/17. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public protocol Photo: class { 12 | 13 | var image: UIImage? { get } 14 | 15 | var updatedImage: ((image: UIImage?) -> Void)? { get set } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /YepPreview/Protocols/PhotosViewControllerDataSource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PhotosViewControllerDataSource.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/17. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | protocol PhotosViewControllerDataSource: class { 12 | 13 | var numberOfPhotos: Int { get } 14 | func photoAtIndex(index: Int) -> Photo? 15 | func indexOfPhoto(photo: Photo) -> Int 16 | func containsPhoto(photo: Photo) -> Bool 17 | } 18 | 19 | -------------------------------------------------------------------------------- /YepPreview/Protocols/PhotosViewControllerDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PhotosViewControllerDelegate.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/6/17. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public protocol PhotosViewControllerDelegate: class { 12 | 13 | func photosViewController(vc: PhotosViewController, referenceViewForPhoto photo: Photo) -> UIView? 14 | func photosViewController(vc: PhotosViewController, didNavigateToPhoto photo: Photo, atIndex index: Int) 15 | func photosViewControllerWillDismiss(vc: PhotosViewController) 16 | func photosViewControllerDidDismiss(vc: PhotosViewController) 17 | } 18 | 19 | -------------------------------------------------------------------------------- /YepPreview/YepPreview.h: -------------------------------------------------------------------------------- 1 | // 2 | // YepPreview.h 3 | // YepPreview 4 | // 5 | // Created by NIX on 16/6/16. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for YepPreview. 12 | FOUNDATION_EXPORT double YepPreviewVersionNumber; 13 | 14 | //! Project version string for YepPreview. 15 | FOUNDATION_EXPORT const unsigned char YepPreviewVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /YepPreviewTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /YepShare/Extensions/String+YepShare.swift: -------------------------------------------------------------------------------- 1 | // 2 | // String+YepShare.swift 3 | // Yep 4 | // 5 | // Created by NIX on 16/5/20. 6 | // Copyright © 2016年 Catch Inc. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension String { 12 | 13 | func yepshare_truncate(length: Int, trailing: String? = nil) -> String { 14 | if self.characters.count > length { 15 | return self.substringToIndex(self.startIndex.advancedBy(length)) + (trailing ?? "") 16 | } else { 17 | return self 18 | } 19 | } 20 | 21 | var yepshare_truncatedForFeed: String { 22 | return yepshare_truncate(120, trailing: "...") 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /YepShare/YepShare.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.Catch-Inc.Yep 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /YepShare/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | Yep 4 | 5 | Created by NIX on 16/5/24. 6 | Copyright © 2016年 Catch Inc. All rights reserved. 7 | */ 8 | -------------------------------------------------------------------------------- /YepShare/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | Yep 4 | 5 | Created by NIX on 16/5/24. 6 | Copyright © 2016年 Catch Inc. All rights reserved. 7 | */ 8 | 9 | "New Feed" = "新话题"; 10 | "Channel" = "频道"; 11 | "Default" = "默认"; 12 | "Choose Channel" = "选择频道"; 13 | 14 | -------------------------------------------------------------------------------- /YepTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | --------------------------------------------------------------------------------