├── DouyinSwift.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── zhaofucheng.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── zhaofucheng.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── DouyinSwift.xcworkspace ├── contents.xcworkspacedata ├── xcshareddata │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── zhaofucheng.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── DouyinSwift ├── AppDelegate │ └── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── AppIcon1024x1024.png │ │ ├── AppIcon29x29@2x~iphone.png │ │ ├── AppIcon29x29@3x~iphone.png │ │ ├── AppIcon40x40@2x~iphone.png │ │ ├── AppIcon40x40@3x~iphone.png │ │ ├── AppIcon60x60@2x~iphone.png │ │ ├── AppIcon60x60@3x~iphone.png │ │ ├── AppIcon76x76@2x~ipad.png │ │ ├── AppIcon76x76~ipad.png │ │ ├── AppIcon83x83@2x~ipad.png │ │ └── Contents.json │ ├── Contents.json │ ├── D_icNavbarScan24x24.imageset │ │ ├── Contents.json │ │ ├── D_icNavbarScan24x24@2x.png │ │ └── D_icNavbarScan24x24@3x.png │ ├── btn_home_add75x49.imageset │ │ ├── Contents.json │ │ ├── btn_home_add75x49@2x.png │ │ └── btn_home_add75x49@3x.png │ ├── fire_icon12x16.imageset │ │ ├── Contents.json │ │ ├── fire_icon12x16@2x.png │ │ └── fire_icon12x16@3x.png │ ├── focusing_button65x65.imageset │ │ ├── Contents.json │ │ ├── focusing_button65x65@2x.png │ │ └── focusing_button65x65@3x.png │ ├── icCameraEditAddmusicClose40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraEditAddmusicClose40x40@2x.png │ │ └── icCameraEditAddmusicClose40x40@3x.png │ ├── icCameraEditAddmusicOpen40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraEditAddmusicOpen40x40@2x.png │ │ └── icCameraEditAddmusicOpen40x40@3x.png │ ├── icCameraEditBrush40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraEditBrush40x40@2x.png │ │ └── icCameraEditBrush40x40@3x.png │ ├── icCameraEditFilter40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraEditFilter40x40@2x.png │ │ └── icCameraEditFilter40x40@3x.png │ ├── icCameraEditSticker40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraEditSticker40x40@2x.png │ │ └── icCameraEditSticker40x40@3x.png │ ├── icCameraEditText40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraEditText40x40@2x.png │ │ └── icCameraEditText40x40@3x.png │ ├── icCameraSaveDraft40x40.imageset │ │ ├── Contents.json │ │ ├── icCameraSaveDraft40x40@2x.png │ │ └── icCameraSaveDraft40x40@3x.png │ ├── icCameraStickerClose28x28.imageset │ │ ├── Contents.json │ │ ├── icCameraStickerClose28x28@2x.png │ │ └── icCameraStickerClose28x28@3x.png │ ├── icCameraStickerEdit28x28.imageset │ │ ├── Contents.json │ │ ├── icCameraStickerEdit28x28@2x.png │ │ └── icCameraStickerEdit28x28@3x.png │ ├── icCameraStickerEnlarge28x28.imageset │ │ ├── Contents.json │ │ ├── icCameraStickerEnlarge28x28@2x.png │ │ └── icCameraStickerEnlarge28x28@3x.png │ ├── icCameraStickerTime28x28.imageset │ │ ├── Contents.json │ │ ├── icCameraStickerTime28x28@2x.png │ │ └── icCameraStickerTime28x28@3x.png │ ├── icHistory24x24.imageset │ │ ├── Contents.json │ │ ├── icHistory24x24@2x.png │ │ └── icHistory24x24@3x.png │ ├── icHistoryBlackclose30Small12x12.imageset │ │ ├── Contents.json │ │ ├── icHistoryBlackclose30Small12x12@2x.png │ │ └── icHistoryBlackclose30Small12x12@3x.png │ ├── icMusicSmallC24x24.imageset │ │ ├── Contents.json │ │ ├── icMusicSmallC24x24@2x.png │ │ └── icMusicSmallC24x24@3x.png │ ├── icMusicSmallChooseC24x24.imageset │ │ ├── Contents.json │ │ ├── icMusicSmallChooseC24x24@2x.png │ │ └── icMusicSmallChooseC24x24@3x.png │ ├── icNavbarBack24x24.imageset │ │ ├── Contents.json │ │ ├── icNavbarBack24x24@2x.png │ │ └── icNavbarBack24x24@3x.png │ ├── icNavbarScan24x24.imageset │ │ ├── Contents.json │ │ ├── icNavbarScan24x24@2x.png │ │ └── icNavbarScan24x24@3x.png │ ├── icShootingClose24x24.imageset │ │ ├── Contents.json │ │ ├── icShootingClose24x24@2x.png │ │ └── icShootingClose24x24@3x.png │ ├── icShootingDelete40x40.imageset │ │ ├── Contents.json │ │ ├── icShootingDelete40x40@2x.png │ │ └── icShootingDelete40x40@3x.png │ ├── icShootingLightingAuto31x31.imageset │ │ ├── Contents.json │ │ ├── icShootingLightingAuto31x31@2x.png │ │ └── icShootingLightingAuto31x31@3x.png │ ├── icShootingLightingOff31x31.imageset │ │ ├── Contents.json │ │ ├── icShootingLightingOff31x31@2x.png │ │ └── icShootingLightingOff31x31@3x.png │ ├── icShootingLightingOn31x31.imageset │ │ ├── Contents.json │ │ ├── icShootingLightingOn31x31@2x.png │ │ └── icShootingLightingOn31x31@3x.png │ ├── icShootingSpeedPlanCOff40x40.imageset │ │ ├── Contents.json │ │ ├── icShootingSpeedPlanCOff40x40@2x.png │ │ └── icShootingSpeedPlanCOff40x40@3x.png │ ├── icShootingSpeedPlanCOn40x40.imageset │ │ ├── Contents.json │ │ ├── icShootingSpeedPlanCOn40x40@2x.png │ │ └── icShootingSpeedPlanCOn40x40@3x.png │ ├── icTextAlignment_032x32.imageset │ │ ├── Contents.json │ │ ├── icTextAlignment_032x32@2x.png │ │ └── icTextAlignment_032x32@3x.png │ ├── icTextAlignment_132x32.imageset │ │ ├── Contents.json │ │ ├── icTextAlignment_132x32@2x.png │ │ └── icTextAlignment_132x32@3x.png │ ├── icTextAlignment_232x32.imageset │ │ ├── Contents.json │ │ ├── icTextAlignment_232x32@2x.png │ │ └── icTextAlignment_232x32@3x.png │ ├── icTextStyle_032x32.imageset │ │ ├── Contents.json │ │ ├── icTextStyle_032x32@2x.png │ │ └── icTextStyle_032x32@3x.png │ ├── icTextStyle_132x32.imageset │ │ ├── Contents.json │ │ ├── icTextStyle_132x32@2x.png │ │ └── icTextStyle_132x32@3x.png │ ├── icTextStyle_232x32.imageset │ │ ├── Contents.json │ │ ├── icTextStyle_232x32@2x.png │ │ └── icTextStyle_232x32@3x.png │ ├── ic_camera_flip40x40.imageset │ │ ├── Contents.json │ │ ├── ic_camera_flip40x40@2x.png │ │ └── ic_camera_flip40x40@3x.png │ ├── ic_camera_settings40x40.imageset │ │ ├── Contents.json │ │ ├── ic_camera_settings40x40@2x.png │ │ └── ic_camera_settings40x40@3x.png │ ├── ic_story_paint_032x32.imageset │ │ ├── Contents.json │ │ ├── ic_story_paint_032x32@2x.png │ │ └── ic_story_paint_032x32@3x.png │ ├── ic_story_paint_132x32.imageset │ │ ├── Contents.json │ │ ├── ic_story_paint_132x32@2x.png │ │ └── ic_story_paint_132x32@3x.png │ ├── ic_story_paint_232x32.imageset │ │ ├── Contents.json │ │ ├── ic_story_paint_232x32@2x.png │ │ └── ic_story_paint_232x32@3x.png │ ├── iconBeautyOff240x40.imageset │ │ ├── Contents.json │ │ ├── iconBeautyOff240x40@2x.png │ │ └── iconBeautyOff240x40@3x.png │ ├── iconBeautyOn240x40.imageset │ │ ├── Contents.json │ │ ├── iconBeautyOn240x40@2x.png │ │ └── iconBeautyOn240x40@3x.png │ ├── iconCameraSave40x40.imageset │ │ ├── Contents.json │ │ ├── iconCameraSave40x40@2x.png │ │ └── iconCameraSave40x40@3x.png │ ├── iconCameraSaveSelected40x40.imageset │ │ ├── Contents.json │ │ ├── iconCameraSaveSelected40x40@2x.png │ │ └── iconCameraSaveSelected40x40@3x.png │ ├── iconCameraSync40x40.imageset │ │ ├── Contents.json │ │ ├── iconCameraSync40x40@2x.png │ │ └── iconCameraSync40x40@3x.png │ ├── iconCheck16x16.imageset │ │ ├── Contents.json │ │ ├── iconCheck16x16@2x.png │ │ └── iconCheck16x16@3x.png │ ├── iconCut240x40.imageset │ │ ├── Contents.json │ │ ├── iconCut240x40@2x.png │ │ └── iconCut240x40@3x.png │ ├── iconProfileToutiao20x20.imageset │ │ ├── Contents.json │ │ ├── iconProfileToutiao20x20@2x.png │ │ └── iconProfileToutiao20x20@3x.png │ ├── iconRedMarkAfter22x22.imageset │ │ ├── Contents.json │ │ ├── iconRedMarkAfter22x22@2x.png │ │ └── iconRedMarkAfter22x22@3x.png │ ├── iconRedMarkBefore22x22.imageset │ │ ├── Contents.json │ │ ├── iconRedMarkBefore22x22@2x.png │ │ └── iconRedMarkBefore22x22@3x.png │ ├── iconSignDone.imageset │ │ ├── Contents.json │ │ ├── iconSignDone@2x.png │ │ └── iconSignDone@3x.png │ ├── iconStopwatch240x40.imageset │ │ ├── Contents.json │ │ ├── iconStopwatch240x40@2x.png │ │ └── iconStopwatch240x40@3x.png │ ├── iconTitlebarWhiteback20x20.imageset │ │ ├── Contents.json │ │ ├── iconTitlebarWhiteback20x20@2x.png │ │ └── iconTitlebarWhiteback20x20@3x.png │ ├── iconTitlebarWhiteback4020x20.imageset │ │ ├── Contents.json │ │ ├── iconTitlebarWhiteback4020x20@2x.png │ │ └── iconTitlebarWhiteback4020x20@3x.png │ ├── icon_black_collection24x24.imageset │ │ ├── Contents.json │ │ ├── icon_black_collection24x24@2x.png │ │ └── icon_black_collection24x24@3x.png │ ├── icon_boy12x12.imageset │ │ ├── Contents.json │ │ ├── icon_boy12x12@2x.png │ │ └── icon_boy12x12@3x.png │ ├── icon_girl12x12.imageset │ │ ├── Contents.json │ │ ├── icon_girl12x12@2x.png │ │ └── icon_girl12x12@3x.png │ ├── icon_home_comment40x40.imageset │ │ ├── Contents.json │ │ ├── icon_home_comment40x40@2x.png │ │ └── icon_home_comment40x40@3x.png │ ├── icon_home_like_after40x40.imageset │ │ ├── Contents.json │ │ ├── icon_home_like_after40x40@2x.png │ │ └── icon_home_like_after40x40@3x.png │ ├── icon_home_like_before40x40.imageset │ │ ├── Contents.json │ │ ├── icon_home_like_before40x40@2x.png │ │ └── icon_home_like_before40x40@3x.png │ ├── icon_home_likenum.imageset │ │ ├── Contents.json │ │ ├── icon_home_likenum@2x.png │ │ └── icon_home_likenum@3x.png │ ├── icon_home_musicnote1.imageset │ │ ├── Contents.json │ │ ├── icon_home_musicnote1@2x.png │ │ └── icon_home_musicnote1@3x.png │ ├── icon_home_musicnote2.imageset │ │ ├── Contents.json │ │ ├── icon_home_musicnote2@2x.png │ │ └── icon_home_musicnote2@3x.png │ ├── icon_home_musicnote3.imageset │ │ ├── Contents.json │ │ ├── icon_home_musicnote3@2x.png │ │ └── icon_home_musicnote3@3x.png │ ├── icon_home_original_musicnote16x16.imageset │ │ ├── Contents.json │ │ ├── icon_home_original_musicnote16x16@2x.png │ │ └── icon_home_original_musicnote16x16@3x.png │ ├── icon_home_share40x40.imageset │ │ ├── Contents.json │ │ ├── icon_home_share40x40@2x.png │ │ └── icon_home_share40x40@3x.png │ ├── icon_modern_feed_repost25x25.imageset │ │ ├── Contents.json │ │ ├── icon_modern_feed_repost25x25@2x.png │ │ └── icon_modern_feed_repost25x25@3x.png │ ├── icon_moment_feed_add_comment16x16.imageset │ │ ├── Contents.json │ │ ├── icon_moment_feed_add_comment16x16@2x.png │ │ └── icon_moment_feed_add_comment16x16@3x.png │ ├── icon_ost_detail24x24.imageset │ │ ├── Contents.json │ │ ├── icon_ost_detail24x24@2x.png │ │ └── icon_ost_detail24x24@3x.png │ ├── icon_pausemusic30x30.imageset │ │ ├── Contents.json │ │ ├── icon_pausemusic30x30@2x.png │ │ └── icon_pausemusic30x30@3x.png │ ├── icon_personal_add_little.imageset │ │ ├── Contents.json │ │ ├── icon_personal_add_little@2x.png │ │ └── icon_personal_add_little@3x.png │ ├── icon_play_pause52x62.imageset │ │ ├── Contents.json │ │ ├── icon_play_pause52x62@2x.png │ │ └── icon_play_pause52x62@3x.png │ ├── icon_playmusic30x30.imageset │ │ ├── Contents.json │ │ ├── icon_playmusic30x30@2x.png │ │ └── icon_playmusic30x30@3x.png │ ├── icon_splash_logo118x201.imageset │ │ ├── Contents.json │ │ ├── icon_splash_logo118x201@2x.png │ │ └── icon_splash_logo119x201@3x.png │ ├── icon_titlebar_whiteclose20x20.imageset │ │ ├── Contents.json │ │ ├── icon_titlebar_whiteclose20x20@2x.png │ │ └── icon_titlebar_whiteclose20x20@3x.png │ ├── icon_titlebar_whiteclose_120x20.imageset │ │ ├── Contents.json │ │ ├── icon_titlebar_whiteclose_120x20@2x.png │ │ └── icon_titlebar_whiteclose_120x20@3x.png │ ├── icon_titlebar_whitecollection24x24.imageset │ │ ├── Contents.json │ │ ├── icon_titlebar_whitecollection24x24@2x.png │ │ └── icon_titlebar_whitecollection24x24@3x.png │ ├── icon_titlebar_whitenocollection24x24.imageset │ │ ├── Contents.json │ │ ├── icon_titlebar_whitenocollection24x24@2x.png │ │ └── icon_titlebar_whitenocollection24x24@3x.png │ ├── icon_titlebar_whitescan_off_cover36x36.imageset │ │ ├── Contents.json │ │ ├── icon_titlebar_whitescan_off_cover36x36@2x.png │ │ └── icon_titlebar_whitescan_off_cover36x36@3x.png │ ├── icon_white_nocollection24x24.imageset │ │ ├── Contents.json │ │ ├── icon_white_nocollection24x24@2x.png │ │ └── icon_white_nocollection24x24@3x.png │ ├── im_musicianVerified20x20.imageset │ │ ├── Contents.json │ │ ├── im_musicianVerified20x20@2x.png │ │ └── im_musicianVerified20x20@3x.png │ ├── im_x_profile_send_msg_btn_icon19x19.imageset │ │ ├── Contents.json │ │ ├── im_x_profile_send_msg_btn_icon19x19@2x.png │ │ └── im_x_profile_send_msg_btn_icon19x19@3x.png │ ├── imgCover343x327.imageset │ │ ├── Contents.json │ │ ├── imgCover343x327@2x.png │ │ └── imgCover343x327@3x.png │ ├── img_find_default.imageset │ │ ├── Contents.json │ │ ├── img_find_default@2x.png │ │ └── img_find_default@3x.png │ ├── img_musiccut_ios362x98.imageset │ │ ├── Contents.json │ │ ├── img_musiccut_ios362x98@2x.png │ │ └── img_musiccut_ios362x98@3x.png │ ├── img_nomusictracks352x30.imageset │ │ ├── Contents.json │ │ ├── img_nomusictracks352x30@2x.png │ │ └── img_nomusictracks352x30@3x.png │ ├── img_video_loading_max375x685.imageset │ │ ├── Contents.json │ │ ├── img_video_loading_max375x685@2x.png │ │ └── img_video_loading_max375x685@3x.png │ ├── music_cover.imageset │ │ ├── Contents.json │ │ ├── music_cover@2x.png │ │ └── music_cover@3x.png │ ├── playlist_button_follow22x22.imageset │ │ ├── Contents.json │ │ ├── playlist_button_follow22x22@2x.png │ │ └── playlist_button_follow22x22@3x.png │ ├── playlist_button_unfollow22x22.imageset │ │ ├── Contents.json │ │ ├── playlist_button_unfollow22x22@2x.png │ │ └── playlist_button_unfollow22x22@3x.png │ ├── playlist_top_arrow14x14.imageset │ │ ├── Contents.json │ │ ├── playlist_top_arrow14x14@2x.png │ │ └── playlist_top_arrow14x14@3x.png │ ├── playlist_top_close24x24.imageset │ │ ├── Contents.json │ │ ├── playlist_top_close24x24@2x.png │ │ └── playlist_top_close24x24@3x.png │ ├── poi_bigLocationIcon20x20.imageset │ │ ├── Contents.json │ │ ├── poi_bigLocationIcon20x20@2x.png │ │ └── poi_bigLocationIcon20x20@3x.png │ └── return_icon40x40.imageset │ │ ├── Contents.json │ │ ├── return_icon40x40@2x.png │ │ └── return_icon40x40@3x.png ├── Base.lproj │ └── LaunchScreen.storyboard ├── Data │ ├── Feed1.json │ ├── User.json │ ├── UserFavoriteList.json │ ├── UserFavoritesList.json │ ├── UserMusicList.json │ ├── UserTimeline.json │ └── UserVideoList.json ├── Extensions │ ├── CoreGraphics │ │ ├── CALayerExtensions.swift │ │ └── CGRectExtensions.swift │ ├── Dispatch │ │ └── DispatchExtensions.swift │ ├── Foundation │ │ ├── BundleExtensions.swift │ │ ├── DataExtensions.swift │ │ ├── DateExtensions.swift │ │ ├── FileManagerExtensions.swift │ │ ├── NSObjectExtensions.swift │ │ ├── TimeZoneExtensions.swift │ │ └── URLExtensions.swift │ ├── Swift │ │ ├── ArrayExtensions.swift │ │ ├── DictionaryExtensions.swift │ │ └── StringExtensions.swift │ └── UIKit │ │ ├── UIAlertControllerExtensions.swift │ │ ├── UIApplicationExtensions.swift │ │ ├── UIBezierPathExtensions.swift │ │ ├── UIColorExtensions.swift │ │ ├── UIControlExtensions.swift │ │ ├── UIDeviceExtensions.swift │ │ ├── UIFontExtensions.swift │ │ ├── UIGestureRecognizerExtensions.swift │ │ ├── UIImageExtensions.swift │ │ ├── UILabelExtensions.swift │ │ ├── UIScrollViewExtensions.swift │ │ ├── UITableViewExtensions.swift │ │ ├── UITextFieldExtensions.swift │ │ └── UIViewExtensions.swift ├── Image │ ├── Cache │ │ └── MemoryCache.swift │ ├── Image.swift │ ├── ImageDecoder.swift │ ├── ImageFormat.swift │ ├── ImageFrame.swift │ ├── ImageView.swift │ ├── WebImage │ │ ├── ImageViewExtensions.swift │ │ ├── UIbuttonExtensions.swift │ │ ├── WebImageDownloadRedirectHandler.swift │ │ ├── WebImageDownloader.swift │ │ ├── WebImageError.swift │ │ ├── WebImageManager.swift │ │ ├── WebImageParsedOptionsInfo.swift │ │ ├── WebImageSessionDataTask.swift │ │ └── WebImageSessionDelegate.swift │ └── Wrapper.swift ├── Info.plist ├── LottieResources │ ├── AWEFreeDataCardActivityDownloadImageBrandNew.png │ ├── anti_addictied_notice_tag.json │ ├── awe_silent.caf │ ├── home_doublelikes_warning.json │ ├── home_follow_add.json │ ├── home_loading1.json │ ├── home_loading2.json │ ├── home_loading3.json │ ├── ic_home_like_after.png │ ├── ic_home_like_before.png │ ├── ic_live_profile_paly.png │ ├── ic_live_profile_paly_background.png │ ├── icon_home_dislike_new.json │ ├── icon_home_like_new.json │ ├── icon_storyhome_close.json │ ├── icon_storyhome_new.json │ ├── icon_storyhome_new2.json │ ├── icon_storyhome_open.json │ ├── icon_storyhome_open.png │ ├── icon_storyhome_open2.png │ ├── img_medium.png │ ├── img_shareMusicFinder_bg.png │ ├── img_shareMusician_bg.png │ ├── img_shareProfileHasMovie_bg.png │ ├── img_shareProfileNoMovie_bg.png │ ├── img_top.png │ ├── live_entrance_anim_lottie.json │ ├── live_entrance_off_lottie.json │ ├── live_entrance_on_lottie.json │ ├── live_icon_lottie_after.png │ ├── live_icon_lottie_before.png │ ├── live_icon_lottie_e.png │ ├── live_icon_lottie_i.png │ ├── live_icon_lottie_l.png │ ├── live_icon_lottie_live.png │ ├── live_icon_lottie_notice_bg.png │ ├── live_icon_lottie_notice_board.png │ ├── live_icon_lottie_v.png │ ├── locations.json │ ├── longpress_guide.json │ ├── one_day_feed_guide_line.json │ ├── profile_cover_tip.json │ ├── profile_live_font.png │ ├── profile_live_font_english.png │ ├── radar_line_common.png │ ├── scan_lines_common.json │ ├── story_detail_upload_succeed.json │ ├── story_loading_failed_lottie.json │ ├── story_loading_lottie_readed.json │ ├── story_loading_lottie_unread.json │ ├── story_profile_loading_readed_lottie.json │ ├── story_profile_loading_unread_lottie.json │ ├── story_profile_upload_fail_lottie.json │ ├── tag_profile_live.json │ └── tag_profile_live_english.json ├── Manager │ └── ZPlayerManager.swift ├── Models │ ├── Aweme.swift │ ├── Music.swift │ ├── Resource.swift │ ├── Statistics.swift │ ├── TimeLine.swift │ ├── User.swift │ └── Video.swift ├── NetWork │ └── NetWork.swift ├── OCbridge │ └── DouyinSwift-Bridging-Header.h ├── Vendor │ └── WebP.framework │ │ ├── Headers │ │ ├── config.h │ │ ├── decode.h │ │ ├── demux.h │ │ ├── encode.h │ │ ├── extras.h │ │ ├── format_constants.h │ │ ├── mux.h │ │ ├── mux_types.h │ │ └── types.h │ │ └── WebP ├── ViewControllers │ ├── MusicListViewController.swift │ ├── NavigationViewController.swift │ ├── TabBarViewController.swift │ ├── TimeLineViewController.swift │ ├── UserPageViewController.swift │ ├── VideoFeedViewController.swift │ └── VideoListViewController.swift ├── ViewModels │ ├── MusicCellViewModel.swift │ ├── MusicListViewModel.swift │ ├── TimeLineCellViewModel.swift │ ├── TimeLineListViewModel.swift │ ├── VideoCellViewModel.swift │ └── VideoListViewModel.swift └── Views │ ├── CollectionViewCellContentView.swift │ ├── MusicViewCell.swift │ ├── TimeLineViewCell.swift │ ├── UserFollowBtn.swift │ ├── UserFollowRecommendBtn.swift │ ├── UserPageHeaderView.swift │ ├── UserPageSegmentView.swift │ ├── UserSendMessageBtn.swift │ ├── VideoCellFollowBtn.swift │ ├── VideoFeedCell.swift │ ├── VideoFeedCellBtn.swift │ ├── VideoFeedCellMusicAlbumNameBtn.swift │ ├── VideoFeedCellMusicBtn.swift │ ├── VideoViewCell.swift │ ├── ZLabel.swift │ └── ZPlayerView.swift ├── LICENSE.md ├── Podfile ├── Podfile.lock ├── Pods ├── Alamofire │ ├── LICENSE │ ├── README.md │ └── Source │ │ ├── AFError.swift │ │ ├── Alamofire.swift │ │ ├── DispatchQueue+Alamofire.swift │ │ ├── MultipartFormData.swift │ │ ├── NetworkReachabilityManager.swift │ │ ├── Notifications.swift │ │ ├── ParameterEncoding.swift │ │ ├── Request.swift │ │ ├── Response.swift │ │ ├── ResponseSerialization.swift │ │ ├── Result.swift │ │ ├── ServerTrustPolicy.swift │ │ ├── SessionDelegate.swift │ │ ├── SessionManager.swift │ │ ├── TaskDelegate.swift │ │ ├── Timeline.swift │ │ └── Validation.swift ├── Manifest.lock ├── Moya │ ├── License.md │ ├── Readme.md │ └── Sources │ │ ├── Moya │ │ ├── AnyEncodable.swift │ │ ├── Cancellable.swift │ │ ├── Endpoint.swift │ │ ├── Image.swift │ │ ├── Moya+Alamofire.swift │ │ ├── MoyaError.swift │ │ ├── MoyaProvider+Defaults.swift │ │ ├── MoyaProvider+Internal.swift │ │ ├── MoyaProvider.swift │ │ ├── MultiTarget.swift │ │ ├── MultipartFormData.swift │ │ ├── Plugin.swift │ │ ├── Plugins │ │ │ ├── AccessTokenPlugin.swift │ │ │ ├── CredentialsPlugin.swift │ │ │ ├── NetworkActivityPlugin.swift │ │ │ └── NetworkLoggerPlugin.swift │ │ ├── Response.swift │ │ ├── TargetType.swift │ │ ├── Task.swift │ │ ├── URL+Moya.swift │ │ ├── URLRequest+Encoding.swift │ │ └── ValidationType.swift │ │ └── RxMoya │ │ ├── MoyaProvider+Rx.swift │ │ ├── Observable+Response.swift │ │ └── Single+Response.swift ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ └── zhaofucheng.xcuserdatad │ │ └── xcschemes │ │ ├── Alamofire.xcscheme │ │ ├── Moya.xcscheme │ │ ├── Pods-DouyinSwift.xcscheme │ │ ├── Result.xcscheme │ │ ├── RxCocoa.xcscheme │ │ ├── RxSwift.xcscheme │ │ └── xcschememanagement.plist ├── Result │ ├── LICENSE │ ├── README.md │ └── Result │ │ ├── AnyError.swift │ │ ├── NoError.swift │ │ ├── Result.swift │ │ └── ResultProtocol.swift ├── RxCocoa │ ├── LICENSE.md │ ├── Platform │ │ ├── DataStructures │ │ │ ├── Bag.swift │ │ │ ├── InfiniteSequence.swift │ │ │ ├── PriorityQueue.swift │ │ │ └── Queue.swift │ │ ├── DeprecationWarner.swift │ │ ├── DispatchQueue+Extensions.swift │ │ ├── Platform.Darwin.swift │ │ ├── Platform.Linux.swift │ │ └── RecursiveLock.swift │ ├── README.md │ └── RxCocoa │ │ ├── Common │ │ ├── Binder.swift │ │ ├── ControlTarget.swift │ │ ├── DelegateProxy.swift │ │ ├── DelegateProxyType.swift │ │ ├── KeyPathBinder.swift │ │ ├── NSLayoutConstraint+Rx.swift │ │ ├── Observable+Bind.swift │ │ ├── RxCocoaObjCRuntimeError+Extensions.swift │ │ ├── RxTarget.swift │ │ ├── SectionedViewDataSourceType.swift │ │ └── TextInput.swift │ │ ├── Deprecated.swift │ │ ├── Foundation │ │ ├── KVORepresentable+CoreGraphics.swift │ │ ├── KVORepresentable+Swift.swift │ │ ├── KVORepresentable.swift │ │ ├── Logging.swift │ │ ├── NSObject+Rx+KVORepresentable.swift │ │ ├── NSObject+Rx+RawRepresentable.swift │ │ ├── NSObject+Rx.swift │ │ ├── NotificationCenter+Rx.swift │ │ └── URLSession+Rx.swift │ │ ├── Runtime │ │ ├── _RX.m │ │ ├── _RXDelegateProxy.m │ │ ├── _RXKVOObserver.m │ │ ├── _RXObjCRuntime.m │ │ └── include │ │ │ ├── RxCocoaRuntime.h │ │ │ ├── _RX.h │ │ │ ├── _RXDelegateProxy.h │ │ │ ├── _RXKVOObserver.h │ │ │ └── _RXObjCRuntime.h │ │ ├── RxCocoa.h │ │ ├── RxCocoa.swift │ │ ├── Traits │ │ ├── BehaviorRelay.swift │ │ ├── ControlEvent.swift │ │ ├── ControlProperty.swift │ │ ├── Driver │ │ │ ├── BehaviorRelay+Driver.swift │ │ │ ├── ControlEvent+Driver.swift │ │ │ ├── ControlProperty+Driver.swift │ │ │ ├── Driver+Subscription.swift │ │ │ ├── Driver.swift │ │ │ └── ObservableConvertibleType+Driver.swift │ │ ├── PublishRelay.swift │ │ ├── SharedSequence │ │ │ ├── ObservableConvertibleType+SharedSequence.swift │ │ │ ├── SchedulerType+SharedSequence.swift │ │ │ ├── SharedSequence+Operators+arity.swift │ │ │ ├── SharedSequence+Operators.swift │ │ │ └── SharedSequence.swift │ │ └── Signal │ │ │ ├── ControlEvent+Signal.swift │ │ │ ├── ObservableConvertibleType+Signal.swift │ │ │ ├── PublishRelay+Signal.swift │ │ │ ├── Signal+Subscription.swift │ │ │ └── Signal.swift │ │ ├── iOS │ │ ├── DataSources │ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift │ │ │ ├── RxPickerViewAdapter.swift │ │ │ └── RxTableViewReactiveArrayDataSource.swift │ │ ├── Events │ │ │ └── ItemEvents.swift │ │ ├── NSTextStorage+Rx.swift │ │ ├── Protocols │ │ │ ├── RxCollectionViewDataSourceType.swift │ │ │ ├── RxPickerViewDataSourceType.swift │ │ │ └── RxTableViewDataSourceType.swift │ │ ├── Proxies │ │ │ ├── RxCollectionViewDataSourcePrefetchingProxy.swift │ │ │ ├── RxCollectionViewDataSourceProxy.swift │ │ │ ├── RxCollectionViewDelegateProxy.swift │ │ │ ├── RxNavigationControllerDelegateProxy.swift │ │ │ ├── RxPickerViewDataSourceProxy.swift │ │ │ ├── RxPickerViewDelegateProxy.swift │ │ │ ├── RxScrollViewDelegateProxy.swift │ │ │ ├── RxSearchBarDelegateProxy.swift │ │ │ ├── RxSearchControllerDelegateProxy.swift │ │ │ ├── RxTabBarControllerDelegateProxy.swift │ │ │ ├── RxTabBarDelegateProxy.swift │ │ │ ├── RxTableViewDataSourcePrefetchingProxy.swift │ │ │ ├── RxTableViewDataSourceProxy.swift │ │ │ ├── RxTableViewDelegateProxy.swift │ │ │ ├── RxTextStorageDelegateProxy.swift │ │ │ ├── RxTextViewDelegateProxy.swift │ │ │ └── RxWebViewDelegateProxy.swift │ │ ├── UIActivityIndicatorView+Rx.swift │ │ ├── UIAlertAction+Rx.swift │ │ ├── UIApplication+Rx.swift │ │ ├── UIBarButtonItem+Rx.swift │ │ ├── UIButton+Rx.swift │ │ ├── UICollectionView+Rx.swift │ │ ├── UIControl+Rx.swift │ │ ├── UIDatePicker+Rx.swift │ │ ├── UIGestureRecognizer+Rx.swift │ │ ├── UIImageView+Rx.swift │ │ ├── UILabel+Rx.swift │ │ ├── UINavigationController+Rx.swift │ │ ├── UINavigationItem+Rx.swift │ │ ├── UIPageControl+Rx.swift │ │ ├── UIPickerView+Rx.swift │ │ ├── UIProgressView+Rx.swift │ │ ├── UIRefreshControl+Rx.swift │ │ ├── UIScrollView+Rx.swift │ │ ├── UISearchBar+Rx.swift │ │ ├── UISearchController+Rx.swift │ │ ├── UISegmentedControl+Rx.swift │ │ ├── UISlider+Rx.swift │ │ ├── UIStepper+Rx.swift │ │ ├── UISwitch+Rx.swift │ │ ├── UITabBar+Rx.swift │ │ ├── UITabBarController+Rx.swift │ │ ├── UITabBarItem+Rx.swift │ │ ├── UITableView+Rx.swift │ │ ├── UITextField+Rx.swift │ │ ├── UITextView+Rx.swift │ │ ├── UIView+Rx.swift │ │ ├── UIViewController+Rx.swift │ │ └── UIWebView+Rx.swift │ │ └── macOS │ │ ├── NSButton+Rx.swift │ │ ├── NSControl+Rx.swift │ │ ├── NSImageView+Rx.swift │ │ ├── NSSlider+Rx.swift │ │ ├── NSTextField+Rx.swift │ │ ├── NSTextView+Rx.swift │ │ └── NSView+Rx.swift ├── RxSwift │ ├── LICENSE.md │ ├── Platform │ │ ├── AtomicInt.swift │ │ ├── DataStructures │ │ │ ├── Bag.swift │ │ │ ├── InfiniteSequence.swift │ │ │ ├── PriorityQueue.swift │ │ │ └── Queue.swift │ │ ├── DeprecationWarner.swift │ │ ├── DispatchQueue+Extensions.swift │ │ ├── Platform.Darwin.swift │ │ ├── Platform.Linux.swift │ │ └── RecursiveLock.swift │ ├── README.md │ └── RxSwift │ │ ├── AnyObserver.swift │ │ ├── Cancelable.swift │ │ ├── Concurrency │ │ ├── AsyncLock.swift │ │ ├── Lock.swift │ │ ├── LockOwnerType.swift │ │ ├── SynchronizedDisposeType.swift │ │ ├── SynchronizedOnType.swift │ │ └── SynchronizedUnsubscribeType.swift │ │ ├── ConnectableObservableType.swift │ │ ├── Deprecated.swift │ │ ├── Disposable.swift │ │ ├── Disposables │ │ ├── AnonymousDisposable.swift │ │ ├── BinaryDisposable.swift │ │ ├── BooleanDisposable.swift │ │ ├── CompositeDisposable.swift │ │ ├── Disposables.swift │ │ ├── DisposeBag.swift │ │ ├── DisposeBase.swift │ │ ├── NopDisposable.swift │ │ ├── RefCountDisposable.swift │ │ ├── ScheduledDisposable.swift │ │ ├── SerialDisposable.swift │ │ ├── SingleAssignmentDisposable.swift │ │ └── SubscriptionDisposable.swift │ │ ├── Errors.swift │ │ ├── Event.swift │ │ ├── Extensions │ │ ├── Bag+Rx.swift │ │ └── String+Rx.swift │ │ ├── GroupedObservable.swift │ │ ├── ImmediateSchedulerType.swift │ │ ├── Observable.swift │ │ ├── ObservableConvertibleType.swift │ │ ├── ObservableType+Extensions.swift │ │ ├── ObservableType.swift │ │ ├── Observables │ │ ├── AddRef.swift │ │ ├── Amb.swift │ │ ├── AsMaybe.swift │ │ ├── AsSingle.swift │ │ ├── Buffer.swift │ │ ├── Catch.swift │ │ ├── CombineLatest+Collection.swift │ │ ├── CombineLatest+arity.swift │ │ ├── CombineLatest.swift │ │ ├── Concat.swift │ │ ├── Create.swift │ │ ├── Debounce.swift │ │ ├── Debug.swift │ │ ├── DefaultIfEmpty.swift │ │ ├── Deferred.swift │ │ ├── Delay.swift │ │ ├── DelaySubscription.swift │ │ ├── Dematerialize.swift │ │ ├── DistinctUntilChanged.swift │ │ ├── Do.swift │ │ ├── ElementAt.swift │ │ ├── Empty.swift │ │ ├── Enumerated.swift │ │ ├── Error.swift │ │ ├── Filter.swift │ │ ├── First.swift │ │ ├── Generate.swift │ │ ├── GroupBy.swift │ │ ├── Just.swift │ │ ├── Map.swift │ │ ├── Materialize.swift │ │ ├── Merge.swift │ │ ├── Multicast.swift │ │ ├── Never.swift │ │ ├── ObserveOn.swift │ │ ├── Optional.swift │ │ ├── Producer.swift │ │ ├── Range.swift │ │ ├── Reduce.swift │ │ ├── Repeat.swift │ │ ├── RetryWhen.swift │ │ ├── Sample.swift │ │ ├── Scan.swift │ │ ├── Sequence.swift │ │ ├── ShareReplayScope.swift │ │ ├── SingleAsync.swift │ │ ├── Sink.swift │ │ ├── Skip.swift │ │ ├── SkipUntil.swift │ │ ├── SkipWhile.swift │ │ ├── StartWith.swift │ │ ├── SubscribeOn.swift │ │ ├── Switch.swift │ │ ├── SwitchIfEmpty.swift │ │ ├── Take.swift │ │ ├── TakeLast.swift │ │ ├── TakeUntil.swift │ │ ├── TakeWhile.swift │ │ ├── Throttle.swift │ │ ├── Timeout.swift │ │ ├── Timer.swift │ │ ├── ToArray.swift │ │ ├── Using.swift │ │ ├── Window.swift │ │ ├── WithLatestFrom.swift │ │ ├── Zip+Collection.swift │ │ ├── Zip+arity.swift │ │ └── Zip.swift │ │ ├── ObserverType.swift │ │ ├── Observers │ │ ├── AnonymousObserver.swift │ │ ├── ObserverBase.swift │ │ └── TailRecursiveSink.swift │ │ ├── Reactive.swift │ │ ├── Rx.swift │ │ ├── RxMutableBox.swift │ │ ├── SchedulerType.swift │ │ ├── Schedulers │ │ ├── ConcurrentDispatchQueueScheduler.swift │ │ ├── ConcurrentMainScheduler.swift │ │ ├── CurrentThreadScheduler.swift │ │ ├── HistoricalScheduler.swift │ │ ├── HistoricalSchedulerTimeConverter.swift │ │ ├── Internal │ │ │ ├── DispatchQueueConfiguration.swift │ │ │ ├── InvocableScheduledItem.swift │ │ │ ├── InvocableType.swift │ │ │ ├── ScheduledItem.swift │ │ │ └── ScheduledItemType.swift │ │ ├── MainScheduler.swift │ │ ├── OperationQueueScheduler.swift │ │ ├── RecursiveScheduler.swift │ │ ├── SchedulerServices+Emulation.swift │ │ ├── SerialDispatchQueueScheduler.swift │ │ ├── VirtualTimeConverterType.swift │ │ └── VirtualTimeScheduler.swift │ │ ├── Subjects │ │ ├── AsyncSubject.swift │ │ ├── BehaviorSubject.swift │ │ ├── PublishSubject.swift │ │ ├── ReplaySubject.swift │ │ └── SubjectType.swift │ │ ├── SwiftSupport │ │ └── SwiftSupport.swift │ │ └── Traits │ │ ├── Completable+AndThen.swift │ │ ├── Completable.swift │ │ ├── Maybe.swift │ │ ├── ObservableType+PrimitiveSequence.swift │ │ ├── PrimitiveSequence+Zip+arity.swift │ │ ├── PrimitiveSequence.swift │ │ └── Single.swift └── Target Support Files │ ├── Alamofire │ ├── Alamofire-Info.plist │ ├── Alamofire-dummy.m │ ├── Alamofire-prefix.pch │ ├── Alamofire-umbrella.h │ ├── Alamofire.modulemap │ └── Alamofire.xcconfig │ ├── Moya │ ├── Moya-Info.plist │ ├── Moya-dummy.m │ ├── Moya-prefix.pch │ ├── Moya-umbrella.h │ ├── Moya.modulemap │ └── Moya.xcconfig │ ├── Pods-DouyinSwift │ ├── Info.plist │ ├── Pods-DouyinSwift-Info.plist │ ├── Pods-DouyinSwift-acknowledgements.markdown │ ├── Pods-DouyinSwift-acknowledgements.plist │ ├── Pods-DouyinSwift-dummy.m │ ├── Pods-DouyinSwift-frameworks-Debug-input-files.xcfilelist │ ├── Pods-DouyinSwift-frameworks-Debug-output-files.xcfilelist │ ├── Pods-DouyinSwift-frameworks-Release-input-files.xcfilelist │ ├── Pods-DouyinSwift-frameworks-Release-output-files.xcfilelist │ ├── Pods-DouyinSwift-frameworks.sh │ ├── Pods-DouyinSwift-resources.sh │ ├── Pods-DouyinSwift-umbrella.h │ ├── Pods-DouyinSwift.debug.xcconfig │ ├── Pods-DouyinSwift.modulemap │ └── Pods-DouyinSwift.release.xcconfig │ ├── Result │ ├── Result-Info.plist │ ├── Result-dummy.m │ ├── Result-prefix.pch │ ├── Result-umbrella.h │ ├── Result.modulemap │ └── Result.xcconfig │ ├── RxCocoa │ ├── RxCocoa-Info.plist │ ├── RxCocoa-dummy.m │ ├── RxCocoa-prefix.pch │ ├── RxCocoa-umbrella.h │ ├── RxCocoa.modulemap │ └── RxCocoa.xcconfig │ └── RxSwift │ ├── Info.plist │ ├── RxSwift-Info.plist │ ├── RxSwift-dummy.m │ ├── RxSwift-prefix.pch │ ├── RxSwift-umbrella.h │ ├── RxSwift.modulemap │ └── RxSwift.xcconfig ├── README.md └── Screenshot ├── QQ20190605-172136-HD.gif ├── QQ20190605-172259-HD.gif ├── QQ20190605-172456-HD.gif ├── QQ20190605-211756-HD.gif └── QQ20190608-175938-HD.gif /DouyinSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DouyinSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DouyinSwift.xcodeproj/project.xcworkspace/xcuserdata/zhaofucheng.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift.xcodeproj/project.xcworkspace/xcuserdata/zhaofucheng.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /DouyinSwift.xcodeproj/xcuserdata/zhaofucheng.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | DouyinSwift.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 9 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DouyinSwift.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /DouyinSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DouyinSwift.xcworkspace/xcuserdata/zhaofucheng.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift.xcworkspace/xcuserdata/zhaofucheng.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /DouyinSwift.xcworkspace/xcuserdata/zhaofucheng.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x~iphone.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x~iphone.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x~iphone.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x~iphone.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x~iphone.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x~iphone.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon83x83@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/AppIcon.appiconset/AppIcon83x83@2x~ipad.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/D_icNavbarScan24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "D_icNavbarScan24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "D_icNavbarScan24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/D_icNavbarScan24x24.imageset/D_icNavbarScan24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/D_icNavbarScan24x24.imageset/D_icNavbarScan24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/D_icNavbarScan24x24.imageset/D_icNavbarScan24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/D_icNavbarScan24x24.imageset/D_icNavbarScan24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/btn_home_add75x49.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "btn_home_add75x49@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "btn_home_add75x49@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/btn_home_add75x49.imageset/btn_home_add75x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/btn_home_add75x49.imageset/btn_home_add75x49@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/btn_home_add75x49.imageset/btn_home_add75x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/btn_home_add75x49.imageset/btn_home_add75x49@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/fire_icon12x16.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "fire_icon12x16@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "fire_icon12x16@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/fire_icon12x16.imageset/fire_icon12x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/fire_icon12x16.imageset/fire_icon12x16@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/fire_icon12x16.imageset/fire_icon12x16@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/fire_icon12x16.imageset/fire_icon12x16@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/focusing_button65x65.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "focusing_button65x65@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "focusing_button65x65@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/focusing_button65x65.imageset/focusing_button65x65@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/focusing_button65x65.imageset/focusing_button65x65@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/focusing_button65x65.imageset/focusing_button65x65@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/focusing_button65x65.imageset/focusing_button65x65@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditAddmusicClose40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraEditAddmusicClose40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraEditAddmusicClose40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditAddmusicClose40x40.imageset/icCameraEditAddmusicClose40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditAddmusicClose40x40.imageset/icCameraEditAddmusicClose40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditAddmusicClose40x40.imageset/icCameraEditAddmusicClose40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditAddmusicClose40x40.imageset/icCameraEditAddmusicClose40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditAddmusicOpen40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraEditAddmusicOpen40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraEditAddmusicOpen40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditAddmusicOpen40x40.imageset/icCameraEditAddmusicOpen40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditAddmusicOpen40x40.imageset/icCameraEditAddmusicOpen40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditAddmusicOpen40x40.imageset/icCameraEditAddmusicOpen40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditAddmusicOpen40x40.imageset/icCameraEditAddmusicOpen40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditBrush40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraEditBrush40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraEditBrush40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditBrush40x40.imageset/icCameraEditBrush40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditBrush40x40.imageset/icCameraEditBrush40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditBrush40x40.imageset/icCameraEditBrush40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditBrush40x40.imageset/icCameraEditBrush40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditFilter40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraEditFilter40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraEditFilter40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditFilter40x40.imageset/icCameraEditFilter40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditFilter40x40.imageset/icCameraEditFilter40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditFilter40x40.imageset/icCameraEditFilter40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditFilter40x40.imageset/icCameraEditFilter40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditSticker40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraEditSticker40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraEditSticker40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditSticker40x40.imageset/icCameraEditSticker40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditSticker40x40.imageset/icCameraEditSticker40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditSticker40x40.imageset/icCameraEditSticker40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditSticker40x40.imageset/icCameraEditSticker40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditText40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraEditText40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraEditText40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditText40x40.imageset/icCameraEditText40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditText40x40.imageset/icCameraEditText40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraEditText40x40.imageset/icCameraEditText40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraEditText40x40.imageset/icCameraEditText40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraSaveDraft40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraSaveDraft40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraSaveDraft40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraSaveDraft40x40.imageset/icCameraSaveDraft40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraSaveDraft40x40.imageset/icCameraSaveDraft40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraSaveDraft40x40.imageset/icCameraSaveDraft40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraSaveDraft40x40.imageset/icCameraSaveDraft40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerClose28x28.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraStickerClose28x28@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraStickerClose28x28@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerClose28x28.imageset/icCameraStickerClose28x28@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerClose28x28.imageset/icCameraStickerClose28x28@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerClose28x28.imageset/icCameraStickerClose28x28@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerClose28x28.imageset/icCameraStickerClose28x28@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerEdit28x28.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraStickerEdit28x28@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraStickerEdit28x28@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerEdit28x28.imageset/icCameraStickerEdit28x28@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerEdit28x28.imageset/icCameraStickerEdit28x28@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerEdit28x28.imageset/icCameraStickerEdit28x28@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerEdit28x28.imageset/icCameraStickerEdit28x28@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerEnlarge28x28.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraStickerEnlarge28x28@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraStickerEnlarge28x28@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerEnlarge28x28.imageset/icCameraStickerEnlarge28x28@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerEnlarge28x28.imageset/icCameraStickerEnlarge28x28@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerEnlarge28x28.imageset/icCameraStickerEnlarge28x28@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerEnlarge28x28.imageset/icCameraStickerEnlarge28x28@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerTime28x28.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icCameraStickerTime28x28@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icCameraStickerTime28x28@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerTime28x28.imageset/icCameraStickerTime28x28@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerTime28x28.imageset/icCameraStickerTime28x28@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icCameraStickerTime28x28.imageset/icCameraStickerTime28x28@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icCameraStickerTime28x28.imageset/icCameraStickerTime28x28@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icHistory24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icHistory24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icHistory24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icHistory24x24.imageset/icHistory24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icHistory24x24.imageset/icHistory24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icHistory24x24.imageset/icHistory24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icHistory24x24.imageset/icHistory24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icHistoryBlackclose30Small12x12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icHistoryBlackclose30Small12x12@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icHistoryBlackclose30Small12x12@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icHistoryBlackclose30Small12x12.imageset/icHistoryBlackclose30Small12x12@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icHistoryBlackclose30Small12x12.imageset/icHistoryBlackclose30Small12x12@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icHistoryBlackclose30Small12x12.imageset/icHistoryBlackclose30Small12x12@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icHistoryBlackclose30Small12x12.imageset/icHistoryBlackclose30Small12x12@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icMusicSmallC24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icMusicSmallC24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icMusicSmallC24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icMusicSmallC24x24.imageset/icMusicSmallC24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icMusicSmallC24x24.imageset/icMusicSmallC24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icMusicSmallC24x24.imageset/icMusicSmallC24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icMusicSmallC24x24.imageset/icMusicSmallC24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icMusicSmallChooseC24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icMusicSmallChooseC24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icMusicSmallChooseC24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icMusicSmallChooseC24x24.imageset/icMusicSmallChooseC24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icMusicSmallChooseC24x24.imageset/icMusicSmallChooseC24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icMusicSmallChooseC24x24.imageset/icMusicSmallChooseC24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icMusicSmallChooseC24x24.imageset/icMusicSmallChooseC24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icNavbarBack24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icNavbarBack24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icNavbarBack24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icNavbarBack24x24.imageset/icNavbarBack24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icNavbarBack24x24.imageset/icNavbarBack24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icNavbarBack24x24.imageset/icNavbarBack24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icNavbarBack24x24.imageset/icNavbarBack24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icNavbarScan24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icNavbarScan24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icNavbarScan24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icNavbarScan24x24.imageset/icNavbarScan24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icNavbarScan24x24.imageset/icNavbarScan24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icNavbarScan24x24.imageset/icNavbarScan24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icNavbarScan24x24.imageset/icNavbarScan24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingClose24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingClose24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingClose24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingClose24x24.imageset/icShootingClose24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingClose24x24.imageset/icShootingClose24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingClose24x24.imageset/icShootingClose24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingClose24x24.imageset/icShootingClose24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingDelete40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingDelete40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingDelete40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingDelete40x40.imageset/icShootingDelete40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingDelete40x40.imageset/icShootingDelete40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingDelete40x40.imageset/icShootingDelete40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingDelete40x40.imageset/icShootingDelete40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingAuto31x31.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingLightingAuto31x31@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingLightingAuto31x31@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingAuto31x31.imageset/icShootingLightingAuto31x31@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingLightingAuto31x31.imageset/icShootingLightingAuto31x31@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingAuto31x31.imageset/icShootingLightingAuto31x31@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingLightingAuto31x31.imageset/icShootingLightingAuto31x31@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingOff31x31.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingLightingOff31x31@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingLightingOff31x31@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingOff31x31.imageset/icShootingLightingOff31x31@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingLightingOff31x31.imageset/icShootingLightingOff31x31@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingOff31x31.imageset/icShootingLightingOff31x31@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingLightingOff31x31.imageset/icShootingLightingOff31x31@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingOn31x31.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingLightingOn31x31@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingLightingOn31x31@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingOn31x31.imageset/icShootingLightingOn31x31@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingLightingOn31x31.imageset/icShootingLightingOn31x31@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingLightingOn31x31.imageset/icShootingLightingOn31x31@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingLightingOn31x31.imageset/icShootingLightingOn31x31@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOff40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingSpeedPlanCOff40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingSpeedPlanCOff40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOff40x40.imageset/icShootingSpeedPlanCOff40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOff40x40.imageset/icShootingSpeedPlanCOff40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOff40x40.imageset/icShootingSpeedPlanCOff40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOff40x40.imageset/icShootingSpeedPlanCOff40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOn40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icShootingSpeedPlanCOn40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icShootingSpeedPlanCOn40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOn40x40.imageset/icShootingSpeedPlanCOn40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOn40x40.imageset/icShootingSpeedPlanCOn40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOn40x40.imageset/icShootingSpeedPlanCOn40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icShootingSpeedPlanCOn40x40.imageset/icShootingSpeedPlanCOn40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_032x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icTextAlignment_032x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icTextAlignment_032x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_032x32.imageset/icTextAlignment_032x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextAlignment_032x32.imageset/icTextAlignment_032x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_032x32.imageset/icTextAlignment_032x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextAlignment_032x32.imageset/icTextAlignment_032x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_132x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icTextAlignment_132x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icTextAlignment_132x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_132x32.imageset/icTextAlignment_132x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextAlignment_132x32.imageset/icTextAlignment_132x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_132x32.imageset/icTextAlignment_132x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextAlignment_132x32.imageset/icTextAlignment_132x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_232x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icTextAlignment_232x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icTextAlignment_232x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_232x32.imageset/icTextAlignment_232x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextAlignment_232x32.imageset/icTextAlignment_232x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextAlignment_232x32.imageset/icTextAlignment_232x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextAlignment_232x32.imageset/icTextAlignment_232x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_032x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icTextStyle_032x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icTextStyle_032x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_032x32.imageset/icTextStyle_032x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextStyle_032x32.imageset/icTextStyle_032x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_032x32.imageset/icTextStyle_032x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextStyle_032x32.imageset/icTextStyle_032x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_132x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icTextStyle_132x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icTextStyle_132x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_132x32.imageset/icTextStyle_132x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextStyle_132x32.imageset/icTextStyle_132x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_132x32.imageset/icTextStyle_132x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextStyle_132x32.imageset/icTextStyle_132x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_232x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icTextStyle_232x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icTextStyle_232x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_232x32.imageset/icTextStyle_232x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextStyle_232x32.imageset/icTextStyle_232x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icTextStyle_232x32.imageset/icTextStyle_232x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icTextStyle_232x32.imageset/icTextStyle_232x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_camera_flip40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_camera_flip40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ic_camera_flip40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_camera_flip40x40.imageset/ic_camera_flip40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_camera_flip40x40.imageset/ic_camera_flip40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_camera_flip40x40.imageset/ic_camera_flip40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_camera_flip40x40.imageset/ic_camera_flip40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_camera_settings40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_camera_settings40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ic_camera_settings40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_camera_settings40x40.imageset/ic_camera_settings40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_camera_settings40x40.imageset/ic_camera_settings40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_camera_settings40x40.imageset/ic_camera_settings40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_camera_settings40x40.imageset/ic_camera_settings40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_032x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_story_paint_032x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ic_story_paint_032x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_032x32.imageset/ic_story_paint_032x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_story_paint_032x32.imageset/ic_story_paint_032x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_032x32.imageset/ic_story_paint_032x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_story_paint_032x32.imageset/ic_story_paint_032x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_132x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_story_paint_132x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ic_story_paint_132x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_132x32.imageset/ic_story_paint_132x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_story_paint_132x32.imageset/ic_story_paint_132x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_132x32.imageset/ic_story_paint_132x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_story_paint_132x32.imageset/ic_story_paint_132x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_232x32.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_story_paint_232x32@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ic_story_paint_232x32@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_232x32.imageset/ic_story_paint_232x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_story_paint_232x32.imageset/ic_story_paint_232x32@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/ic_story_paint_232x32.imageset/ic_story_paint_232x32@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/ic_story_paint_232x32.imageset/ic_story_paint_232x32@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconBeautyOff240x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconBeautyOff240x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconBeautyOff240x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconBeautyOff240x40.imageset/iconBeautyOff240x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconBeautyOff240x40.imageset/iconBeautyOff240x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconBeautyOff240x40.imageset/iconBeautyOff240x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconBeautyOff240x40.imageset/iconBeautyOff240x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconBeautyOn240x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconBeautyOn240x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconBeautyOn240x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconBeautyOn240x40.imageset/iconBeautyOn240x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconBeautyOn240x40.imageset/iconBeautyOn240x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconBeautyOn240x40.imageset/iconBeautyOn240x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconBeautyOn240x40.imageset/iconBeautyOn240x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSave40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconCameraSave40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconCameraSave40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSave40x40.imageset/iconCameraSave40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCameraSave40x40.imageset/iconCameraSave40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSave40x40.imageset/iconCameraSave40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCameraSave40x40.imageset/iconCameraSave40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSaveSelected40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconCameraSaveSelected40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconCameraSaveSelected40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSaveSelected40x40.imageset/iconCameraSaveSelected40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCameraSaveSelected40x40.imageset/iconCameraSaveSelected40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSaveSelected40x40.imageset/iconCameraSaveSelected40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCameraSaveSelected40x40.imageset/iconCameraSaveSelected40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSync40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconCameraSync40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconCameraSync40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSync40x40.imageset/iconCameraSync40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCameraSync40x40.imageset/iconCameraSync40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCameraSync40x40.imageset/iconCameraSync40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCameraSync40x40.imageset/iconCameraSync40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCheck16x16.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconCheck16x16@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconCheck16x16@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCheck16x16.imageset/iconCheck16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCheck16x16.imageset/iconCheck16x16@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCheck16x16.imageset/iconCheck16x16@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCheck16x16.imageset/iconCheck16x16@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCut240x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconCut240x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconCut240x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCut240x40.imageset/iconCut240x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCut240x40.imageset/iconCut240x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconCut240x40.imageset/iconCut240x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconCut240x40.imageset/iconCut240x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconProfileToutiao20x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconProfileToutiao20x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconProfileToutiao20x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconProfileToutiao20x20.imageset/iconProfileToutiao20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconProfileToutiao20x20.imageset/iconProfileToutiao20x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconProfileToutiao20x20.imageset/iconProfileToutiao20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconProfileToutiao20x20.imageset/iconProfileToutiao20x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconRedMarkAfter22x22.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconRedMarkAfter22x22@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconRedMarkAfter22x22@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconRedMarkAfter22x22.imageset/iconRedMarkAfter22x22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconRedMarkAfter22x22.imageset/iconRedMarkAfter22x22@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconRedMarkAfter22x22.imageset/iconRedMarkAfter22x22@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconRedMarkAfter22x22.imageset/iconRedMarkAfter22x22@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconRedMarkBefore22x22.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconRedMarkBefore22x22@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconRedMarkBefore22x22@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconRedMarkBefore22x22.imageset/iconRedMarkBefore22x22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconRedMarkBefore22x22.imageset/iconRedMarkBefore22x22@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconRedMarkBefore22x22.imageset/iconRedMarkBefore22x22@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconRedMarkBefore22x22.imageset/iconRedMarkBefore22x22@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconSignDone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconSignDone@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconSignDone@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconSignDone.imageset/iconSignDone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconSignDone.imageset/iconSignDone@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconSignDone.imageset/iconSignDone@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconSignDone.imageset/iconSignDone@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconStopwatch240x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconStopwatch240x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconStopwatch240x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconStopwatch240x40.imageset/iconStopwatch240x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconStopwatch240x40.imageset/iconStopwatch240x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconStopwatch240x40.imageset/iconStopwatch240x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconStopwatch240x40.imageset/iconStopwatch240x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconTitlebarWhiteback20x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconTitlebarWhiteback20x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconTitlebarWhiteback20x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconTitlebarWhiteback20x20.imageset/iconTitlebarWhiteback20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconTitlebarWhiteback20x20.imageset/iconTitlebarWhiteback20x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconTitlebarWhiteback20x20.imageset/iconTitlebarWhiteback20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconTitlebarWhiteback20x20.imageset/iconTitlebarWhiteback20x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconTitlebarWhiteback4020x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "iconTitlebarWhiteback4020x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "iconTitlebarWhiteback4020x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconTitlebarWhiteback4020x20.imageset/iconTitlebarWhiteback4020x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconTitlebarWhiteback4020x20.imageset/iconTitlebarWhiteback4020x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/iconTitlebarWhiteback4020x20.imageset/iconTitlebarWhiteback4020x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/iconTitlebarWhiteback4020x20.imageset/iconTitlebarWhiteback4020x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_black_collection24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_black_collection24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_black_collection24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_black_collection24x24.imageset/icon_black_collection24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_black_collection24x24.imageset/icon_black_collection24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_black_collection24x24.imageset/icon_black_collection24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_black_collection24x24.imageset/icon_black_collection24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_boy12x12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_boy12x12@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_boy12x12@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_boy12x12.imageset/icon_boy12x12@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_boy12x12.imageset/icon_boy12x12@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_boy12x12.imageset/icon_boy12x12@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_boy12x12.imageset/icon_boy12x12@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_girl12x12.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_girl12x12@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_girl12x12@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_girl12x12.imageset/icon_girl12x12@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_girl12x12.imageset/icon_girl12x12@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_girl12x12.imageset/icon_girl12x12@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_girl12x12.imageset/icon_girl12x12@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_comment40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_comment40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_comment40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_comment40x40.imageset/icon_home_comment40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_comment40x40.imageset/icon_home_comment40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_comment40x40.imageset/icon_home_comment40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_comment40x40.imageset/icon_home_comment40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_like_after40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_like_after40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_like_after40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_like_after40x40.imageset/icon_home_like_after40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_like_after40x40.imageset/icon_home_like_after40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_like_after40x40.imageset/icon_home_like_after40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_like_after40x40.imageset/icon_home_like_after40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_like_before40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_like_before40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_like_before40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_like_before40x40.imageset/icon_home_like_before40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_like_before40x40.imageset/icon_home_like_before40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_like_before40x40.imageset/icon_home_like_before40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_like_before40x40.imageset/icon_home_like_before40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_likenum.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_likenum@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_likenum@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_likenum.imageset/icon_home_likenum@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_likenum.imageset/icon_home_likenum@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_likenum.imageset/icon_home_likenum@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_likenum.imageset/icon_home_likenum@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_musicnote1@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_musicnote1@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote1.imageset/icon_home_musicnote1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_musicnote1.imageset/icon_home_musicnote1@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote1.imageset/icon_home_musicnote1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_musicnote1.imageset/icon_home_musicnote1@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_musicnote2@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_musicnote2@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote2.imageset/icon_home_musicnote2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_musicnote2.imageset/icon_home_musicnote2@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote2.imageset/icon_home_musicnote2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_musicnote2.imageset/icon_home_musicnote2@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_musicnote3@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_musicnote3@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote3.imageset/icon_home_musicnote3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_musicnote3.imageset/icon_home_musicnote3@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_musicnote3.imageset/icon_home_musicnote3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_musicnote3.imageset/icon_home_musicnote3@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_original_musicnote16x16.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_original_musicnote16x16@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_original_musicnote16x16@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_original_musicnote16x16.imageset/icon_home_original_musicnote16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_original_musicnote16x16.imageset/icon_home_original_musicnote16x16@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_original_musicnote16x16.imageset/icon_home_original_musicnote16x16@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_original_musicnote16x16.imageset/icon_home_original_musicnote16x16@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_share40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_home_share40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_home_share40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_share40x40.imageset/icon_home_share40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_share40x40.imageset/icon_home_share40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_home_share40x40.imageset/icon_home_share40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_home_share40x40.imageset/icon_home_share40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_modern_feed_repost25x25.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_modern_feed_repost25x25@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_modern_feed_repost25x25@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_modern_feed_repost25x25.imageset/icon_modern_feed_repost25x25@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_modern_feed_repost25x25.imageset/icon_modern_feed_repost25x25@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_modern_feed_repost25x25.imageset/icon_modern_feed_repost25x25@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_modern_feed_repost25x25.imageset/icon_modern_feed_repost25x25@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_moment_feed_add_comment16x16.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_moment_feed_add_comment16x16@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_moment_feed_add_comment16x16@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_moment_feed_add_comment16x16.imageset/icon_moment_feed_add_comment16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_moment_feed_add_comment16x16.imageset/icon_moment_feed_add_comment16x16@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_moment_feed_add_comment16x16.imageset/icon_moment_feed_add_comment16x16@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_moment_feed_add_comment16x16.imageset/icon_moment_feed_add_comment16x16@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_ost_detail24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_ost_detail24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_ost_detail24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_ost_detail24x24.imageset/icon_ost_detail24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_ost_detail24x24.imageset/icon_ost_detail24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_ost_detail24x24.imageset/icon_ost_detail24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_ost_detail24x24.imageset/icon_ost_detail24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_pausemusic30x30.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_pausemusic30x30@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_pausemusic30x30@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_pausemusic30x30.imageset/icon_pausemusic30x30@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_pausemusic30x30.imageset/icon_pausemusic30x30@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_pausemusic30x30.imageset/icon_pausemusic30x30@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_pausemusic30x30.imageset/icon_pausemusic30x30@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_personal_add_little.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_personal_add_little@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_personal_add_little@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_personal_add_little.imageset/icon_personal_add_little@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_personal_add_little.imageset/icon_personal_add_little@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_personal_add_little.imageset/icon_personal_add_little@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_personal_add_little.imageset/icon_personal_add_little@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_play_pause52x62.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_play_pause52x62@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_play_pause52x62@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_play_pause52x62.imageset/icon_play_pause52x62@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_play_pause52x62.imageset/icon_play_pause52x62@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_play_pause52x62.imageset/icon_play_pause52x62@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_play_pause52x62.imageset/icon_play_pause52x62@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_playmusic30x30.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_playmusic30x30@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_playmusic30x30@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_playmusic30x30.imageset/icon_playmusic30x30@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_playmusic30x30.imageset/icon_playmusic30x30@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_playmusic30x30.imageset/icon_playmusic30x30@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_playmusic30x30.imageset/icon_playmusic30x30@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_splash_logo118x201.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_splash_logo118x201@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_splash_logo119x201@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_splash_logo118x201.imageset/icon_splash_logo118x201@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_splash_logo118x201.imageset/icon_splash_logo118x201@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_splash_logo118x201.imageset/icon_splash_logo119x201@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_splash_logo118x201.imageset/icon_splash_logo119x201@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose20x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_titlebar_whiteclose20x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_titlebar_whiteclose20x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose20x20.imageset/icon_titlebar_whiteclose20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose20x20.imageset/icon_titlebar_whiteclose20x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose20x20.imageset/icon_titlebar_whiteclose20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose20x20.imageset/icon_titlebar_whiteclose20x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose_120x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_titlebar_whiteclose_120x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_titlebar_whiteclose_120x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose_120x20.imageset/icon_titlebar_whiteclose_120x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose_120x20.imageset/icon_titlebar_whiteclose_120x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose_120x20.imageset/icon_titlebar_whiteclose_120x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whiteclose_120x20.imageset/icon_titlebar_whiteclose_120x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitecollection24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_titlebar_whitecollection24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_titlebar_whitecollection24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitecollection24x24.imageset/icon_titlebar_whitecollection24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whitecollection24x24.imageset/icon_titlebar_whitecollection24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitecollection24x24.imageset/icon_titlebar_whitecollection24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whitecollection24x24.imageset/icon_titlebar_whitecollection24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitenocollection24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_titlebar_whitenocollection24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_titlebar_whitenocollection24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitenocollection24x24.imageset/icon_titlebar_whitenocollection24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whitenocollection24x24.imageset/icon_titlebar_whitenocollection24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitenocollection24x24.imageset/icon_titlebar_whitenocollection24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whitenocollection24x24.imageset/icon_titlebar_whitenocollection24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitescan_off_cover36x36.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_titlebar_whitescan_off_cover36x36@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_titlebar_whitescan_off_cover36x36@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitescan_off_cover36x36.imageset/icon_titlebar_whitescan_off_cover36x36@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whitescan_off_cover36x36.imageset/icon_titlebar_whitescan_off_cover36x36@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_titlebar_whitescan_off_cover36x36.imageset/icon_titlebar_whitescan_off_cover36x36@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_titlebar_whitescan_off_cover36x36.imageset/icon_titlebar_whitescan_off_cover36x36@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_white_nocollection24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "icon_white_nocollection24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "icon_white_nocollection24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_white_nocollection24x24.imageset/icon_white_nocollection24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_white_nocollection24x24.imageset/icon_white_nocollection24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/icon_white_nocollection24x24.imageset/icon_white_nocollection24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/icon_white_nocollection24x24.imageset/icon_white_nocollection24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/im_musicianVerified20x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "im_musicianVerified20x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "im_musicianVerified20x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/im_musicianVerified20x20.imageset/im_musicianVerified20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/im_musicianVerified20x20.imageset/im_musicianVerified20x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/im_musicianVerified20x20.imageset/im_musicianVerified20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/im_musicianVerified20x20.imageset/im_musicianVerified20x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/im_x_profile_send_msg_btn_icon19x19.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "im_x_profile_send_msg_btn_icon19x19@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "im_x_profile_send_msg_btn_icon19x19@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/im_x_profile_send_msg_btn_icon19x19.imageset/im_x_profile_send_msg_btn_icon19x19@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/im_x_profile_send_msg_btn_icon19x19.imageset/im_x_profile_send_msg_btn_icon19x19@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/im_x_profile_send_msg_btn_icon19x19.imageset/im_x_profile_send_msg_btn_icon19x19@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/im_x_profile_send_msg_btn_icon19x19.imageset/im_x_profile_send_msg_btn_icon19x19@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/imgCover343x327.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "imgCover343x327@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "imgCover343x327@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/imgCover343x327.imageset/imgCover343x327@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/imgCover343x327.imageset/imgCover343x327@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/imgCover343x327.imageset/imgCover343x327@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/imgCover343x327.imageset/imgCover343x327@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_find_default.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "img_find_default@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "img_find_default@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_find_default.imageset/img_find_default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_find_default.imageset/img_find_default@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_find_default.imageset/img_find_default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_find_default.imageset/img_find_default@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_musiccut_ios362x98.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "img_musiccut_ios362x98@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "img_musiccut_ios362x98@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_musiccut_ios362x98.imageset/img_musiccut_ios362x98@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_musiccut_ios362x98.imageset/img_musiccut_ios362x98@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_musiccut_ios362x98.imageset/img_musiccut_ios362x98@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_musiccut_ios362x98.imageset/img_musiccut_ios362x98@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_nomusictracks352x30.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "img_nomusictracks352x30@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "img_nomusictracks352x30@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_nomusictracks352x30.imageset/img_nomusictracks352x30@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_nomusictracks352x30.imageset/img_nomusictracks352x30@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_nomusictracks352x30.imageset/img_nomusictracks352x30@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_nomusictracks352x30.imageset/img_nomusictracks352x30@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_video_loading_max375x685.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "img_video_loading_max375x685@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "img_video_loading_max375x685@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_video_loading_max375x685.imageset/img_video_loading_max375x685@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_video_loading_max375x685.imageset/img_video_loading_max375x685@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/img_video_loading_max375x685.imageset/img_video_loading_max375x685@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/img_video_loading_max375x685.imageset/img_video_loading_max375x685@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/music_cover.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "music_cover@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "music_cover@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/music_cover.imageset/music_cover@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/music_cover.imageset/music_cover@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/music_cover.imageset/music_cover@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/music_cover.imageset/music_cover@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_button_follow22x22.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "playlist_button_follow22x22@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "playlist_button_follow22x22@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_button_follow22x22.imageset/playlist_button_follow22x22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_button_follow22x22.imageset/playlist_button_follow22x22@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_button_follow22x22.imageset/playlist_button_follow22x22@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_button_follow22x22.imageset/playlist_button_follow22x22@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_button_unfollow22x22.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "playlist_button_unfollow22x22@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "playlist_button_unfollow22x22@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_button_unfollow22x22.imageset/playlist_button_unfollow22x22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_button_unfollow22x22.imageset/playlist_button_unfollow22x22@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_button_unfollow22x22.imageset/playlist_button_unfollow22x22@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_button_unfollow22x22.imageset/playlist_button_unfollow22x22@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_top_arrow14x14.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "playlist_top_arrow14x14@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "playlist_top_arrow14x14@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_top_arrow14x14.imageset/playlist_top_arrow14x14@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_top_arrow14x14.imageset/playlist_top_arrow14x14@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_top_arrow14x14.imageset/playlist_top_arrow14x14@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_top_arrow14x14.imageset/playlist_top_arrow14x14@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_top_close24x24.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "playlist_top_close24x24@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "playlist_top_close24x24@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_top_close24x24.imageset/playlist_top_close24x24@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_top_close24x24.imageset/playlist_top_close24x24@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/playlist_top_close24x24.imageset/playlist_top_close24x24@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/playlist_top_close24x24.imageset/playlist_top_close24x24@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/poi_bigLocationIcon20x20.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "poi_bigLocationIcon20x20@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "poi_bigLocationIcon20x20@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/poi_bigLocationIcon20x20.imageset/poi_bigLocationIcon20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/poi_bigLocationIcon20x20.imageset/poi_bigLocationIcon20x20@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/poi_bigLocationIcon20x20.imageset/poi_bigLocationIcon20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/poi_bigLocationIcon20x20.imageset/poi_bigLocationIcon20x20@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/return_icon40x40.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "return_icon40x40@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "return_icon40x40@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/return_icon40x40.imageset/return_icon40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/return_icon40x40.imageset/return_icon40x40@2x.png -------------------------------------------------------------------------------- /DouyinSwift/Assets.xcassets/return_icon40x40.imageset/return_icon40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Assets.xcassets/return_icon40x40.imageset/return_icon40x40@3x.png -------------------------------------------------------------------------------- /DouyinSwift/Data/UserFavoritesList.json: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /DouyinSwift/Extensions/Foundation/FileManagerExtensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FileManagerExtensions.swift 3 | // GreatApp 4 | // 5 | // Created by 赵福成 on 2019/4/10. 6 | // Copyright © 2019 zhaofucheng. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public extension FileManager { 12 | static func fileExistInMainBundle(fileName: String) -> Bool { 13 | return FileManager.default.fileExists(atPath: Bundle.main.bundlePath.appending("/\(fileName)")) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DouyinSwift/Extensions/Foundation/TimeZoneExtensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TimeZoneExtensions.swift 3 | // GreatApp 4 | // 5 | // Created by 赵福成 on 2019/4/12. 6 | // Copyright © 2019 zhaofucheng. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public extension TimeZone { 12 | //https://www.zeitverschiebung.net/en/ 13 | //https://time.is/ 14 | 15 | /// 中国标准时间 16 | /// 17 | /// UTC+8 18 | static var china: TimeZone { 19 | return TimeZone(identifier: "Asia/Shanghai")! 20 | } 21 | 22 | /// 日本标准时间 23 | /// 24 | /// UTC+9 25 | static var japan: TimeZone { 26 | return TimeZone(identifier: "Asia/Tokyo")! 27 | } 28 | 29 | /// 印度标准时间 30 | /// 31 | /// UTC+5:30 32 | static var india: TimeZone { 33 | return TimeZone(identifier: "Asia/Kolkata")! 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /DouyinSwift/Image/WebImage/WebImageDownloadRedirectHandler.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ImageDownloadRedirectHandler.swift 3 | // GreatApp 4 | // 5 | // Created by 赵福成 on 2019/4/22. 6 | // Copyright © 2019 zhaofucheng. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public protocol ImageDownloadRedirectHandler { 12 | //当出触发重定向时 代理方法会调用这个协议方法 13 | func handleHTTPRedirection( 14 | for task: SessionDataTask, 15 | response: HTTPURLResponse, 16 | newRequest: URLRequest, 17 | completionHandler: @escaping (URLRequest?) -> Void) 18 | } 19 | -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/AWEFreeDataCardActivityDownloadImageBrandNew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/AWEFreeDataCardActivityDownloadImageBrandNew.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/awe_silent.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/awe_silent.caf -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/ic_home_like_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/ic_home_like_after.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/ic_home_like_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/ic_home_like_before.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/ic_live_profile_paly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/ic_live_profile_paly.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/ic_live_profile_paly_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/ic_live_profile_paly_background.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/icon_storyhome_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/icon_storyhome_open.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/icon_storyhome_open2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/icon_storyhome_open2.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/img_medium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/img_medium.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/img_shareMusicFinder_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/img_shareMusicFinder_bg.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/img_shareMusician_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/img_shareMusician_bg.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/img_shareProfileHasMovie_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/img_shareProfileHasMovie_bg.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/img_shareProfileNoMovie_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/img_shareProfileNoMovie_bg.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/img_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/img_top.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_after.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_before.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_e.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_i.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_l.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_live.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_notice_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_notice_bg.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_notice_board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_notice_board.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/live_icon_lottie_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/live_icon_lottie_v.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/profile_live_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/profile_live_font.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/profile_live_font_english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/profile_live_font_english.png -------------------------------------------------------------------------------- /DouyinSwift/LottieResources/radar_line_common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/LottieResources/radar_line_common.png -------------------------------------------------------------------------------- /DouyinSwift/Models/Resource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Avatar.swift 3 | // DouyinSwift 4 | // 5 | // Created by 赵福成 on 2019/5/27. 6 | // Copyright © 2019 zhaofucheng. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | struct Resource: Codable { 12 | var uri: String 13 | var urlList: [String] 14 | var width: Int? 15 | var height: Int? 16 | 17 | enum CodingKeys: String, CodingKey { 18 | case uri 19 | case urlList = "url_list" 20 | case width 21 | case height 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /DouyinSwift/Models/Statistics.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Statistics.swift 3 | // DouyinSwift 4 | // 5 | // Created by 赵福成 on 2019/5/28. 6 | // Copyright © 2019 zhaofucheng. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | struct Statistics: Codable { 12 | var awemeId: String 13 | var commentCount: Int 14 | var diggCount: Int 15 | var downloadCount: Int 16 | var playCount: Int 17 | var shareCount: Int 18 | var forwardCount: Int 19 | 20 | enum CodingKeys: String, CodingKey { 21 | case awemeId = "aweme_id" 22 | case commentCount = "comment_count" 23 | case diggCount = "digg_count" 24 | case downloadCount = "download_count" 25 | case playCount = "play_count" 26 | case shareCount = "share_count" 27 | case forwardCount = "forward_count" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /DouyinSwift/Models/TimeLine.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TimeLine.swift 3 | // DouyinSwift 4 | // 5 | // Created by 赵福成 on 2019/6/5. 6 | // Copyright © 2019 zhaofucheng. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | struct TimeLine: Codable { 12 | var aweme: Aweme 13 | } 14 | -------------------------------------------------------------------------------- /DouyinSwift/OCbridge/DouyinSwift-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 | #if __has_include() && __has_include() && __has_include() && __has_include() 6 | #import 7 | #import 8 | #import 9 | #import 10 | #elif __has_include("webp/decode.h") && __has_include("webp/encode.h") && __has_include("webp/demux.h") && __has_include("webp/mux.h") 11 | #import "webp/decode.h" 12 | #import "webp/encode.h" 13 | #import "webp/demux.h" 14 | #import "webp/mux.h" 15 | #endif 16 | -------------------------------------------------------------------------------- /DouyinSwift/Vendor/WebP.framework/WebP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/DouyinSwift/Vendor/WebP.framework/WebP -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '9.0' 3 | 4 | target 'DouyinSwift' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for DouyinSwift 9 | pod 'RxSwift' 10 | pod 'RxCocoa' 11 | pod 'Moya/RxSwift', '~> 13.0' 12 | pod 'lottie-ios' 13 | pod 'MLeaksFinder' 14 | end 15 | -------------------------------------------------------------------------------- /Pods/Moya/Sources/Moya/AnyEncodable.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | struct AnyEncodable: Encodable { 4 | 5 | private let encodable: Encodable 6 | 7 | public init(_ encodable: Encodable) { 8 | self.encodable = encodable 9 | } 10 | 11 | func encode(to encoder: Encoder) throws { 12 | try encodable.encode(to: encoder) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Pods/Moya/Sources/Moya/Cancellable.swift: -------------------------------------------------------------------------------- 1 | /// Protocol to define the opaque type returned from a request. 2 | public protocol Cancellable { 3 | 4 | /// A Boolean value stating whether a request is cancelled. 5 | var isCancelled: Bool { get } 6 | 7 | /// Cancels the represented request. 8 | func cancel() 9 | } 10 | 11 | internal class CancellableWrapper: Cancellable { 12 | internal var innerCancellable: Cancellable = SimpleCancellable() 13 | 14 | var isCancelled: Bool { return innerCancellable.isCancelled } 15 | 16 | internal func cancel() { 17 | innerCancellable.cancel() 18 | } 19 | } 20 | 21 | internal class SimpleCancellable: Cancellable { 22 | var isCancelled = false 23 | func cancel() { 24 | isCancelled = true 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/Moya/Sources/Moya/Image.swift: -------------------------------------------------------------------------------- 1 | #if canImport(UIKit) 2 | import UIKit.UIImage 3 | public typealias ImageType = UIImage 4 | #elseif canImport(AppKit) 5 | import AppKit.NSImage 6 | public typealias ImageType = NSImage 7 | #endif 8 | 9 | /// An alias for the SDK's image type. 10 | public typealias Image = ImageType 11 | -------------------------------------------------------------------------------- /Pods/Moya/Sources/Moya/Plugins/CredentialsPlugin.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import Result 3 | 4 | /// Provides each request with optional URLCredentials. 5 | public final class CredentialsPlugin: PluginType { 6 | 7 | public typealias CredentialClosure = (TargetType) -> URLCredential? 8 | let credentialsClosure: CredentialClosure 9 | 10 | /// Initializes a CredentialsPlugin. 11 | public init(credentialsClosure: @escaping CredentialClosure) { 12 | self.credentialsClosure = credentialsClosure 13 | } 14 | 15 | // MARK: Plugin 16 | 17 | public func willSend(_ request: RequestType, target: TargetType) { 18 | if let credentials = credentialsClosure(target) { 19 | _ = request.authenticate(usingCredential: credentials) 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Pods/Moya/Sources/Moya/URL+Moya.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public extension URL { 4 | 5 | /// Initialize URL from Moya's `TargetType`. 6 | init(target: T) { 7 | // When a TargetType's path is empty, URL.appendingPathComponent may introduce trailing /, which may not be wanted in some cases 8 | // See: https://github.com/Moya/Moya/pull/1053 9 | // And: https://github.com/Moya/Moya/issues/1049 10 | if target.path.isEmpty { 11 | self = target.baseURL 12 | } else { 13 | self = target.baseURL.appendingPathComponent(target.path) 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Pods/Result/Result/NoError.swift: -------------------------------------------------------------------------------- 1 | /// An “error” that is impossible to construct. 2 | /// 3 | /// This can be used to describe `Result`s where failures will never 4 | /// be generated. For example, `Result` describes a result that 5 | /// contains an `Int`eger and is guaranteed never to be a `failure`. 6 | public enum NoError: Swift.Error, Equatable { 7 | public static func ==(lhs: NoError, rhs: NoError) -> Bool { 8 | return true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Pods/RxCocoa/Platform/DataStructures/InfiniteSequence.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InfiniteSequence.swift 3 | // Platform 4 | // 5 | // Created by Krunoslav Zaher on 6/13/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Sequence that repeats `repeatedValue` infinite number of times. 10 | struct InfiniteSequence : Sequence { 11 | typealias Element = E 12 | typealias Iterator = AnyIterator 13 | 14 | private let _repeatedValue: E 15 | 16 | init(repeatedValue: E) { 17 | _repeatedValue = repeatedValue 18 | } 19 | 20 | func makeIterator() -> Iterator { 21 | let repeatedValue = _repeatedValue 22 | return AnyIterator { 23 | return repeatedValue 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/RxCocoa/Platform/DispatchQueue+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DispatchQueue+Extensions.swift 3 | // Platform 4 | // 5 | // Created by Krunoslav Zaher on 10/22/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Dispatch 10 | 11 | extension DispatchQueue { 12 | private static var token: DispatchSpecificKey<()> = { 13 | let key = DispatchSpecificKey<()>() 14 | DispatchQueue.main.setSpecific(key: key, value: ()) 15 | return key 16 | }() 17 | 18 | static var isMain: Bool { 19 | return DispatchQueue.getSpecific(key: token) != nil 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Pods/RxCocoa/Platform/RecursiveLock.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RecursiveLock.swift 3 | // Platform 4 | // 5 | // Created by Krunoslav Zaher on 12/18/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import class Foundation.NSRecursiveLock 10 | 11 | #if TRACE_RESOURCES 12 | class RecursiveLock: NSRecursiveLock { 13 | override init() { 14 | _ = Resources.incrementTotal() 15 | super.init() 16 | } 17 | 18 | override func lock() { 19 | super.lock() 20 | _ = Resources.incrementTotal() 21 | } 22 | 23 | override func unlock() { 24 | super.unlock() 25 | _ = Resources.decrementTotal() 26 | } 27 | 28 | deinit { 29 | _ = Resources.decrementTotal() 30 | } 31 | } 32 | #else 33 | typealias RecursiveLock = NSRecursiveLock 34 | #endif 35 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Common/SectionedViewDataSourceType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SectionedViewDataSourceType.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 1/10/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import struct Foundation.IndexPath 10 | 11 | /// Data source with access to underlying sectioned model. 12 | public protocol SectionedViewDataSourceType { 13 | /// Returns model at index path. 14 | /// 15 | /// In case data source doesn't contain any sections when this method is being called, `RxCocoaError.ItemsNotYetBound(object: self)` is thrown. 16 | 17 | /// - parameter indexPath: Model index path 18 | /// - returns: Model at index path. 19 | func model(at indexPath: IndexPath) throws -> Any 20 | } 21 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Foundation/KVORepresentable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // KVORepresentable.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 11/14/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Type that is KVO representable (KVO mechanism can be used to observe it). 10 | public protocol KVORepresentable { 11 | /// Associated KVO type. 12 | associatedtype KVOType 13 | 14 | /// Constructs `Self` using KVO value. 15 | init?(KVOValue: KVOType) 16 | } 17 | 18 | extension KVORepresentable { 19 | /// Initializes `KVORepresentable` with optional value. 20 | init?(KVOValue: KVOType?) { 21 | guard let KVOValue = KVOValue else { 22 | return nil 23 | } 24 | 25 | self.init(KVOValue: KVOValue) 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Foundation/Logging.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Logging.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 4/3/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import struct Foundation.URLRequest 10 | 11 | /// Simple logging settings for RxCocoa library. 12 | public struct Logging { 13 | public typealias LogURLRequest = (URLRequest) -> Bool 14 | 15 | /// Log URL requests to standard output in curl format. 16 | public static var URLRequests: LogURLRequest = { _ in 17 | #if DEBUG 18 | return true 19 | #else 20 | return false 21 | #endif 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Runtime/_RX.m: -------------------------------------------------------------------------------- 1 | // 2 | // _RX.m 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 7/12/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #import "include/_RX.h" 10 | 11 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Runtime/include/RxCocoaRuntime.h: -------------------------------------------------------------------------------- 1 | // 2 | // RxCocoaRuntime.h 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 2/21/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "_RX.h" 11 | #import "_RXDelegateProxy.h" 12 | #import "_RXKVOObserver.h" 13 | #import "_RXObjCRuntime.h" 14 | 15 | //! Project version number for RxCocoa. 16 | FOUNDATION_EXPORT double RxCocoaVersionNumber; 17 | 18 | //! Project version string for RxCocoa. 19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[]; 20 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Runtime/include/_RXDelegateProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // _RXDelegateProxy.h 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 7/4/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface _RXDelegateProxy : NSObject 14 | 15 | @property (nonatomic, weak, readonly) id _forwardToDelegate; 16 | 17 | -(void)_setForwardToDelegate:(id __nullable)forwardToDelegate retainDelegate:(BOOL)retainDelegate NS_SWIFT_NAME(_setForwardToDelegate(_:retainDelegate:)) ; 18 | 19 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector; 20 | -(BOOL)voidDelegateMethodsContain:(SEL)selector; 21 | 22 | -(void)_sentMessage:(SEL)selector withArguments:(NSArray*)arguments; 23 | -(void)_methodInvoked:(SEL)selector withArguments:(NSArray*)arguments; 24 | 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/RxCocoa.h: -------------------------------------------------------------------------------- 1 | // 2 | // RxCocoa.h 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 2/21/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "_RX.h" 11 | #import "_RXDelegateProxy.h" 12 | #import "_RXKVOObserver.h" 13 | #import "_RXObjCRuntime.h" 14 | 15 | //! Project version number for RxCocoa. 16 | FOUNDATION_EXPORT double RxCocoaVersionNumber; 17 | 18 | //! Project version string for RxCocoa. 19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[]; -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BehaviorRelay+Driver.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 10/7/17. 6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import RxSwift 10 | 11 | extension BehaviorRelay { 12 | /// Converts `BehaviorRelay` to `Driver`. 13 | /// 14 | /// - returns: Observable sequence. 15 | public func asDriver() -> Driver { 16 | let source = self.asObservable() 17 | .observeOn(DriverSharingStrategy.scheduler) 18 | return SharedSequence(source) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Traits/Driver/ControlEvent+Driver.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ControlEvent+Driver.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 9/19/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import RxSwift 10 | 11 | extension ControlEvent { 12 | /// Converts `ControlEvent` to `Driver` trait. 13 | /// 14 | /// `ControlEvent` already can't fail, so no special case needs to be handled. 15 | public func asDriver() -> Driver { 16 | return self.asDriver { _ -> Driver in 17 | #if DEBUG 18 | rxFatalError("Somehow driver received error from a source that shouldn't fail.") 19 | #else 20 | return Driver.empty() 21 | #endif 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Traits/Driver/ControlProperty+Driver.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ControlProperty+Driver.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 9/19/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import RxSwift 10 | 11 | extension ControlProperty { 12 | /// Converts `ControlProperty` to `Driver` trait. 13 | /// 14 | /// `ControlProperty` already can't fail, so no special case needs to be handled. 15 | public func asDriver() -> Driver { 16 | return self.asDriver { _ -> Driver in 17 | #if DEBUG 18 | rxFatalError("Somehow driver received error from a source that shouldn't fail.") 19 | #else 20 | return Driver.empty() 21 | #endif 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Traits/Signal/ControlEvent+Signal.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ControlEvent+Signal.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 11/1/17. 6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import RxSwift 10 | 11 | extension ControlEvent { 12 | /// Converts `ControlEvent` to `Signal` trait. 13 | /// 14 | /// `ControlEvent` already can't fail, so no special case needs to be handled. 15 | public func asSignal() -> Signal { 16 | return self.asSignal { _ -> Signal in 17 | #if DEBUG 18 | rxFatalError("Somehow signal received error from a source that shouldn't fail.") 19 | #else 20 | return Signal.empty() 21 | #endif 22 | } 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/Traits/Signal/PublishRelay+Signal.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PublishRelay+Signal.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 12/28/15. 6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import RxSwift 10 | 11 | extension PublishRelay { 12 | /// Converts `PublishRelay` to `Signal`. 13 | /// 14 | /// - returns: Observable sequence. 15 | public func asSignal() -> Signal { 16 | let source = self.asObservable() 17 | .observeOn(SignalSharingStrategy.scheduler) 18 | return SharedSequence(source) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ItemEvents.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 6/20/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | import UIKit 11 | 12 | public typealias ItemMovedEvent = (sourceIndex: IndexPath, destinationIndex: IndexPath) 13 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: IndexPath) 14 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: IndexPath) 15 | #endif 16 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxPickerViewDataSourceType.swift 3 | // RxCocoa 4 | // 5 | // Created by Sergey Shulga on 05/07/2017. 6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | /// Marks data source as `UIPickerView` reactive data source enabling it to be used with one of the `bindTo` methods. 15 | public protocol RxPickerViewDataSourceType { 16 | /// Type of elements that can be bound to picker view. 17 | associatedtype Element 18 | 19 | /// New observable sequence event observed. 20 | /// 21 | /// - parameter pickerView: Bound picker view. 22 | /// - parameter observedEvent: Event 23 | func pickerView(_ pickerView: UIPickerView, observedEvent: Event) 24 | } 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxTableViewDataSourceType.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 6/26/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | /// Marks data source as `UITableView` reactive data source enabling it to be used with one of the `bindTo` methods. 15 | public protocol RxTableViewDataSourceType /*: UITableViewDataSource*/ { 16 | 17 | /// Type of elements that can be bound to table view. 18 | associatedtype Element 19 | 20 | /// New observable sequence event observed. 21 | /// 22 | /// - parameter tableView: Bound table view. 23 | /// - parameter observedEvent: Event 24 | func tableView(_ tableView: UITableView, observedEvent: Event) 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxTableViewDelegateProxy.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 6/15/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | /// For more information take a look at `DelegateProxyType`. 15 | open class RxTableViewDelegateProxy 16 | : RxScrollViewDelegateProxy 17 | , UITableViewDelegate { 18 | 19 | /// Typed parent object. 20 | public weak private(set) var tableView: UITableView? 21 | 22 | /// - parameter tableView: Parent object for delegate proxy. 23 | public init(tableView: UITableView) { 24 | self.tableView = tableView 25 | super.init(scrollView: tableView) 26 | } 27 | 28 | } 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIActivityIndicatorView+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIActivityIndicatorView+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Ivan Persidskiy on 02/12/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UIActivityIndicatorView { 15 | 16 | /// Bindable sink for `startAnimating()`, `stopAnimating()` methods. 17 | public var isAnimating: Binder { 18 | return Binder(self.base) { activityIndicator, active in 19 | if active { 20 | activityIndicator.startAnimating() 21 | } else { 22 | activityIndicator.stopAnimating() 23 | } 24 | } 25 | } 26 | 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIAlertAction+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIAlertAction+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Andrew Breckenridge on 5/7/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UIAlertAction { 15 | 16 | /// Bindable sink for `enabled` property. 17 | public var isEnabled: Binder { 18 | return Binder(self.base) { alertAction, value in 19 | alertAction.isEnabled = value 20 | } 21 | } 22 | 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIApplication+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIApplication+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Mads Bøgeskov on 18/01/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UIApplication { 15 | 16 | /// Bindable sink for `networkActivityIndicatorVisible`. 17 | public var isNetworkActivityIndicatorVisible: Binder { 18 | return Binder(self.base) { application, active in 19 | application.isNetworkActivityIndicatorVisible = active 20 | } 21 | } 22 | } 23 | #endif 24 | 25 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIImageView+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIImageView+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 4/1/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import RxSwift 12 | import UIKit 13 | 14 | extension Reactive where Base: UIImageView { 15 | 16 | /// Bindable sink for `image` property. 17 | public var image: Binder { 18 | return Binder(base) { imageView, image in 19 | imageView.image = image 20 | } 21 | } 22 | } 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UILabel+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UILabel+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 4/1/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import RxSwift 12 | import UIKit 13 | 14 | extension Reactive where Base: UILabel { 15 | 16 | /// Bindable sink for `text` property. 17 | public var text: Binder { 18 | return Binder(self.base) { label, text in 19 | label.text = text 20 | } 21 | } 22 | 23 | /// Bindable sink for `attributedText` property. 24 | public var attributedText: Binder { 25 | return Binder(self.base) { label, text in 26 | label.attributedText = text 27 | } 28 | } 29 | 30 | } 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UINavigationItem+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UINavigationItem+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by kumapo on 2016/05/09. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UINavigationItem { 15 | 16 | /// Bindable sink for `title` property. 17 | public var title: Binder { 18 | return Binder(self.base) { navigationItem, text in 19 | navigationItem.title = text 20 | } 21 | } 22 | 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIPageControl+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIPageControl+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Francesco Puntillo on 14/04/2016. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import RxSwift 12 | import UIKit 13 | 14 | extension Reactive where Base: UIPageControl { 15 | 16 | /// Bindable sink for `currentPage` property. 17 | public var currentPage: Binder { 18 | return Binder(self.base) { controller, page in 19 | controller.currentPage = page 20 | } 21 | } 22 | 23 | /// Bindable sink for `numberOfPages` property. 24 | public var numberOfPages: Binder { 25 | return Binder(self.base) { controller, page in 26 | controller.numberOfPages = page 27 | } 28 | } 29 | 30 | } 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIProgressView+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIProgressView+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Samuel Bae on 2/27/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import RxSwift 12 | import UIKit 13 | 14 | extension Reactive where Base: UIProgressView { 15 | 16 | /// Bindable sink for `progress` property 17 | public var progress: Binder { 18 | return Binder(self.base) { progressView, progress in 19 | progressView.progress = progress 20 | } 21 | } 22 | 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIRefreshControl+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIRefreshControl+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Yosuke Ishikawa on 1/31/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UIRefreshControl { 15 | /// Bindable sink for `beginRefreshing()`, `endRefreshing()` methods. 16 | public var isRefreshing: Binder { 17 | return Binder(self.base) { refreshControl, refresh in 18 | if refresh { 19 | refreshControl.beginRefreshing() 20 | } else { 21 | refreshControl.endRefreshing() 22 | } 23 | } 24 | } 25 | 26 | } 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UISlider+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UISlider+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Alexander van der Werff on 28/05/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) 10 | 11 | import RxSwift 12 | import UIKit 13 | 14 | extension Reactive where Base: UISlider { 15 | 16 | /// Reactive wrapper for `value` property. 17 | public var value: ControlProperty { 18 | return base.rx.controlPropertyWithDefaultEvents( 19 | getter: { slider in 20 | slider.value 21 | }, setter: { slider, value in 22 | slider.value = value 23 | } 24 | ) 25 | } 26 | 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UITabBarItem+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UITabBarItem+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Mateusz Derks on 04/03/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UITabBarItem { 15 | 16 | /// Bindable sink for `badgeValue` property. 17 | public var badgeValue: Binder { 18 | return Binder(self.base) { tabBarItem, badgeValue in 19 | tabBarItem.badgeValue = badgeValue 20 | } 21 | } 22 | 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/iOS/UIViewController+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Kyle Fuller on 27/05/2016. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | 11 | import UIKit 12 | import RxSwift 13 | 14 | extension Reactive where Base: UIViewController { 15 | 16 | /// Bindable sink for `title`. 17 | public var title: Binder { 18 | return Binder(self.base) { viewController, title in 19 | viewController.title = title 20 | } 21 | } 22 | 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/macOS/NSImageView+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSImageView+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 5/17/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(macOS) 10 | 11 | import RxSwift 12 | import Cocoa 13 | 14 | extension Reactive where Base: NSImageView { 15 | 16 | /// Bindable sink for `image` property. 17 | public var image: Binder { 18 | return Binder(self.base) { imageView, image in 19 | imageView.image = image 20 | } 21 | } 22 | } 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/macOS/NSSlider+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSSlider+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Junior B. on 24/05/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(macOS) 10 | 11 | import RxSwift 12 | import Cocoa 13 | 14 | extension Reactive where Base: NSSlider { 15 | 16 | /// Reactive wrapper for `value` property. 17 | public var value: ControlProperty { 18 | return self.base.rx.controlProperty( 19 | getter: { control in 20 | return control.doubleValue 21 | }, 22 | setter: { control, value in 23 | control.doubleValue = value 24 | } 25 | ) 26 | } 27 | 28 | } 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Pods/RxCocoa/RxCocoa/macOS/NSView+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSView+Rx.swift 3 | // RxCocoa 4 | // 5 | // Created by Krunoslav Zaher on 12/6/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(macOS) 10 | 11 | import Cocoa 12 | import RxSwift 13 | 14 | extension Reactive where Base: NSView { 15 | /// Bindable sink for `hidden` property. 16 | public var isHidden: Binder { 17 | return Binder(self.base) { view, value in 18 | view.isHidden = value 19 | } 20 | } 21 | 22 | /// Bindable sink for `alphaValue` property. 23 | public var alpha: Binder { 24 | return Binder(self.base) { view, value in 25 | view.alphaValue = value 26 | } 27 | } 28 | } 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Pods/RxSwift/Platform/DataStructures/InfiniteSequence.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InfiniteSequence.swift 3 | // Platform 4 | // 5 | // Created by Krunoslav Zaher on 6/13/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Sequence that repeats `repeatedValue` infinite number of times. 10 | struct InfiniteSequence : Sequence { 11 | typealias Element = E 12 | typealias Iterator = AnyIterator 13 | 14 | private let _repeatedValue: E 15 | 16 | init(repeatedValue: E) { 17 | _repeatedValue = repeatedValue 18 | } 19 | 20 | func makeIterator() -> Iterator { 21 | let repeatedValue = _repeatedValue 22 | return AnyIterator { 23 | return repeatedValue 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/RxSwift/Platform/DispatchQueue+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DispatchQueue+Extensions.swift 3 | // Platform 4 | // 5 | // Created by Krunoslav Zaher on 10/22/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Dispatch 10 | 11 | extension DispatchQueue { 12 | private static var token: DispatchSpecificKey<()> = { 13 | let key = DispatchSpecificKey<()>() 14 | DispatchQueue.main.setSpecific(key: key, value: ()) 15 | return key 16 | }() 17 | 18 | static var isMain: Bool { 19 | return DispatchQueue.getSpecific(key: token) != nil 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Cancelable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Cancelable.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 3/12/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Represents disposable resource with state tracking. 10 | public protocol Cancelable : Disposable { 11 | /// Was resource disposed. 12 | var isDisposed: Bool { get } 13 | } 14 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LockOwnerType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 10/25/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | protocol LockOwnerType : class, Lock { 10 | var _lock: RecursiveLock { get } 11 | } 12 | 13 | extension LockOwnerType { 14 | func lock() { 15 | self._lock.lock() 16 | } 17 | 18 | func unlock() { 19 | self._lock.unlock() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SynchronizedDisposeType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 10/25/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | protocol SynchronizedDisposeType : class, Disposable, Lock { 10 | func _synchronized_dispose() 11 | } 12 | 13 | extension SynchronizedDisposeType { 14 | func synchronizedDispose() { 15 | self.lock(); defer { self.unlock() } 16 | self._synchronized_dispose() 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SynchronizedOnType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 10/25/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | protocol SynchronizedOnType : class, ObserverType, Lock { 10 | func _synchronized_on(_ event: Event) 11 | } 12 | 13 | extension SynchronizedOnType { 14 | func synchronizedOn(_ event: Event) { 15 | self.lock(); defer { self.unlock() } 16 | self._synchronized_on(event) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SynchronizedUnsubscribeType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 10/25/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | protocol SynchronizedUnsubscribeType : class { 10 | associatedtype DisposeKey 11 | 12 | func synchronizedUnsubscribe(_ disposeKey: DisposeKey) 13 | } 14 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/ConnectableObservableType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ConnectableObservableType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 3/1/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /** 10 | Represents an observable sequence wrapper that can be connected and disconnected from its underlying observable sequence. 11 | */ 12 | public protocol ConnectableObservableType : ObservableType { 13 | /** 14 | Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established. 15 | 16 | - returns: Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence. 17 | */ 18 | func connect() -> Disposable 19 | } 20 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Disposable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Disposable.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 2/8/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Represents a disposable resource. 10 | public protocol Disposable { 11 | /// Dispose resource. 12 | func dispose() 13 | } 14 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Disposables/Disposables.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Disposables.swift 3 | // RxSwift 4 | // 5 | // Created by Mohsen Ramezanpoor on 01/08/2016. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// A collection of utility methods for common disposable operations. 10 | public struct Disposables { 11 | private init() {} 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DisposeBase.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 4/4/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Base class for all disposables. 10 | public class DisposeBase { 11 | init() { 12 | #if TRACE_RESOURCES 13 | _ = Resources.incrementTotal() 14 | #endif 15 | } 16 | 17 | deinit { 18 | #if TRACE_RESOURCES 19 | _ = Resources.decrementTotal() 20 | #endif 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Disposables/NopDisposable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NopDisposable.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 2/15/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Represents a disposable that does nothing on disposal. 10 | /// 11 | /// Nop = No Operation 12 | fileprivate struct NopDisposable : Disposable { 13 | 14 | fileprivate static let noOp: Disposable = NopDisposable() 15 | 16 | fileprivate init() { 17 | 18 | } 19 | 20 | /// Does nothing. 21 | public func dispose() { 22 | } 23 | } 24 | 25 | extension Disposables { 26 | /** 27 | Creates a disposable that does nothing on disposal. 28 | */ 29 | static public func create() -> Disposable { 30 | return NopDisposable.noOp 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SubscriptionDisposable.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 10/25/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | struct SubscriptionDisposable : Disposable { 10 | private let _key: T.DisposeKey 11 | private weak var _owner: T? 12 | 13 | init(owner: T, key: T.DisposeKey) { 14 | self._owner = owner 15 | self._key = key 16 | } 17 | 18 | func dispose() { 19 | self._owner?.synchronizedUnsubscribe(self._key) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Extensions/String+Rx.swift: -------------------------------------------------------------------------------- 1 | // 2 | // String+Rx.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 12/25/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | extension String { 10 | /// This is needed because on Linux Swift doesn't have `rangeOfString(..., options: .BackwardsSearch)` 11 | func lastIndexOf(_ character: Character) -> Index? { 12 | var index = self.endIndex 13 | while index > self.startIndex { 14 | index = self.index(before: index) 15 | if self[index] == character { 16 | return index 17 | } 18 | } 19 | 20 | return nil 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/ObservableConvertibleType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ObservableConvertibleType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 9/17/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Type that can be converted to observable sequence (`Observable`). 10 | public protocol ObservableConvertibleType { 11 | /// Type of elements in sequence. 12 | associatedtype E 13 | 14 | /// Converts `self` to `Observable` sequence. 15 | /// 16 | /// - returns: Observable sequence that represents `self`. 17 | func asObservable() -> Observable 18 | } 19 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/RxMutableBox.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxMutableBox.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 5/22/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Creates mutable reference wrapper for any type. 10 | final class RxMutableBox : CustomDebugStringConvertible { 11 | /// Wrapped value 12 | var value : T 13 | 14 | /// Creates reference wrapper for `value`. 15 | /// 16 | /// - parameter value: Value to wrap. 17 | init (_ value: T) { 18 | self.value = value 19 | } 20 | } 21 | 22 | extension RxMutableBox { 23 | /// - returns: Box description. 24 | var debugDescription: String { 25 | return "MutatingBox(\(self.value))" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Schedulers/HistoricalScheduler.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HistoricalScheduler.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 12/27/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import struct Foundation.Date 10 | 11 | /// Provides a virtual time scheduler that uses `Date` for absolute time and `NSTimeInterval` for relative time. 12 | public class HistoricalScheduler : VirtualTimeScheduler { 13 | 14 | /** 15 | Creates a new historical scheduler with initial clock value. 16 | 17 | - parameter initialClock: Initial value for virtual clock. 18 | */ 19 | public init(initialClock: RxTime = Date(timeIntervalSince1970: 0)) { 20 | super.init(initialClock: initialClock, converter: HistoricalSchedulerTimeConverter()) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InvocableScheduledItem.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 11/7/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | struct InvocableScheduledItem : InvocableType { 10 | 11 | let _invocable: I 12 | let _state: I.Value 13 | 14 | init(invocable: I, state: I.Value) { 15 | self._invocable = invocable 16 | self._state = state 17 | } 18 | 19 | func invoke() { 20 | self._invocable.invoke(self._state) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InvocableType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 11/7/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | protocol InvocableType { 10 | func invoke() 11 | } 12 | 13 | protocol InvocableWithValueType { 14 | associatedtype Value 15 | 16 | func invoke(_ value: Value) 17 | } 18 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ScheduledItemType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 11/7/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | protocol ScheduledItemType 10 | : Cancelable 11 | , InvocableType { 12 | func invoke() 13 | } 14 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Subjects/SubjectType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SubjectType.swift 3 | // RxSwift 4 | // 5 | // Created by Krunoslav Zaher on 3/1/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | /// Represents an object that is both an observable sequence as well as an observer. 10 | public protocol SubjectType : ObservableType { 11 | /// The type of the observer that represents this subject. 12 | /// 13 | /// Usually this type is type of subject itself, but it doesn't have to be. 14 | associatedtype SubjectObserverType : ObserverType 15 | 16 | /// Returns observer interface for subject. 17 | /// 18 | /// - returns: Observer interface for subject. 19 | func asObserver() -> SubjectObserverType 20 | 21 | } 22 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/SwiftSupport/SwiftSupport.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SwiftSupport.swift 3 | // RxSwift 4 | // 5 | // Created by Volodymyr Gorbenko on 3/6/17. 6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | typealias IntMax = Int64 12 | public typealias RxAbstractInteger = FixedWidthInteger 13 | 14 | extension SignedInteger { 15 | func toIntMax() -> IntMax { 16 | return IntMax(self) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Alamofire/Alamofire-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Alamofire : NSObject 3 | @end 4 | @implementation PodsDummy_Alamofire 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Alamofire/Alamofire-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Alamofire/Alamofire-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double AlamofireVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char AlamofireVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Alamofire/Alamofire.modulemap: -------------------------------------------------------------------------------- 1 | framework module Alamofire { 2 | umbrella header "Alamofire-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Alamofire/Alamofire.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Moya/Moya-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Moya : NSObject 3 | @end 4 | @implementation PodsDummy_Moya 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Moya/Moya-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Moya/Moya-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double MoyaVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char MoyaVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Moya/Moya.modulemap: -------------------------------------------------------------------------------- 1 | framework module Moya { 2 | umbrella header "Moya-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Moya/Moya.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Moya 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Moya 10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | SKIP_INSTALL = YES 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_DouyinSwift : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_DouyinSwift 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-frameworks-Debug-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework 3 | ${BUILT_PRODUCTS_DIR}/FBRetainCycleDetector/FBRetainCycleDetector.framework 4 | ${BUILT_PRODUCTS_DIR}/MLeaksFinder/MLeaksFinder.framework 5 | ${BUILT_PRODUCTS_DIR}/Moya/Moya.framework 6 | ${BUILT_PRODUCTS_DIR}/Result/Result.framework 7 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework 8 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework 9 | ${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-frameworks-Debug-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework 2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBRetainCycleDetector.framework 3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MLeaksFinder.framework 4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework 5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework 6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework 7 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework 8 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-frameworks-Release-input-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${PODS_ROOT}/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-frameworks.sh 2 | ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework 3 | ${BUILT_PRODUCTS_DIR}/FBRetainCycleDetector/FBRetainCycleDetector.framework 4 | ${BUILT_PRODUCTS_DIR}/MLeaksFinder/MLeaksFinder.framework 5 | ${BUILT_PRODUCTS_DIR}/Moya/Moya.framework 6 | ${BUILT_PRODUCTS_DIR}/Result/Result.framework 7 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework 8 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework 9 | ${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-frameworks-Release-output-files.xcfilelist: -------------------------------------------------------------------------------- 1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework 2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBRetainCycleDetector.framework 3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MLeaksFinder.framework 4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework 5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework 6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework 7 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework 8 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_DouyinSwiftVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_DouyinSwiftVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-DouyinSwift/Pods-DouyinSwift.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_DouyinSwift { 2 | umbrella header "Pods-DouyinSwift-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Result/Result-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Result : NSObject 3 | @end 4 | @implementation PodsDummy_Result 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Result/Result-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Result/Result-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double ResultVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char ResultVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Result/Result.modulemap: -------------------------------------------------------------------------------- 1 | framework module Result { 2 | umbrella header "Result-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Result/Result.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Result 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RxCocoa : NSObject 3 | @end 4 | @implementation PodsDummy_RxCocoa 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "RxCocoaRuntime.h" 14 | #import "_RX.h" 15 | #import "_RXDelegateProxy.h" 16 | #import "_RXKVOObserver.h" 17 | #import "_RXObjCRuntime.h" 18 | #import "RxCocoa.h" 19 | 20 | FOUNDATION_EXPORT double RxCocoaVersionNumber; 21 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[]; 22 | 23 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa.modulemap: -------------------------------------------------------------------------------- 1 | framework module RxCocoa { 2 | umbrella header "RxCocoa-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RxSwift : NSObject 3 | @end 4 | @implementation PodsDummy_RxSwift 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double RxSwiftVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift.modulemap: -------------------------------------------------------------------------------- 1 | framework module RxSwift { 2 | umbrella header "RxSwift-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Screenshot/QQ20190605-172136-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/Screenshot/QQ20190605-172136-HD.gif -------------------------------------------------------------------------------- /Screenshot/QQ20190605-172259-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/Screenshot/QQ20190605-172259-HD.gif -------------------------------------------------------------------------------- /Screenshot/QQ20190605-172456-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/Screenshot/QQ20190605-172456-HD.gif -------------------------------------------------------------------------------- /Screenshot/QQ20190605-211756-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/Screenshot/QQ20190605-211756-HD.gif -------------------------------------------------------------------------------- /Screenshot/QQ20190608-175938-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhaofucheng1129/DouyinSwift/0a195fd06744979a1158c5ba548eeaf6d47d0c80/Screenshot/QQ20190608-175938-HD.gif --------------------------------------------------------------------------------