al
Aeline
2021-03-08 ce4eaddf9eb835f01e6bf5845a063d306f322b24
al
117个文件已删除
81个文件已修改
47个文件已添加
2482 ■■■■ 已修改文件
.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0.xcodeproj/project.pbxproj 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0.xcodeproj/project.xcworkspace/xcuserdata/aeline.xcuserdatad/UserInterfaceState.xcuserstate 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0.xcworkspace/xcuserdata/aeline.xcuserdatad/UserInterfaceState.xcuserstate 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0.xcworkspace/xcuserdata/aeline.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/AppDelegate.m 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/Contents.json 360 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-1024.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-50.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-57.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-72.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-76.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-100.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-100的副本-1.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-100的副本-2.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-100的副本.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-1024.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-114.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-120.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-121.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-144.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-152.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-180.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-29.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-30.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-40.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-41.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-42.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-50.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-57.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-58.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-59.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-72.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-76.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-80.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-81.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/图标-87.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/Assets.car 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ar.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_GDPRBack@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_GDPRBack@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStar@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStar@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStarEmpty@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStarEmpty@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_back_normal.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPause@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPause@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPlay@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPlay@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomShadow@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomShadow@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_close@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_close@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_down_arrow@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_down_arrow@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_pen@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_pen@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_right_arrow@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_right_arrow@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_up_arrow@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_up_arrow@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_endCardClose@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_endCardClose@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastBackward@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastBackward@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastForward@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastForward@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullClose@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullClose@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullScreen@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullScreen@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_leftback@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_leftback@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@2x.data 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@3x.data 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd_oversea@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd_oversea@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_reward@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_reward@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_splash@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_splash@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_close@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_close@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_download@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_download@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nativeVideo_left@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nativeVideo_left@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nextCell@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nextCell@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_pause@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_pause@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_play@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_play@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_playable_loading@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_playable_loading@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_replay@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_replay@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_shrinkScreen@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_shrinkScreen@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_sliderDot@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_sliderDot@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_splashZoomOutClose@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_splashZoomOutClose@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_topShadow@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_topShadow@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_close@2x.png.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_close@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_leftback@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_leftback@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice_silent@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice_silent@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/de.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/en.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/es.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/fr.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/hi.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/id.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/it.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ja.lproj/BULanguage.strings 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ko.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/pt.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ru.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/th.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/version.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/vi.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/zh-Hans.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.bundle/zh-Hant.lproj/BULanguage.strings 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/BUAdSDK 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSDK.h 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSDKManager.h 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSDKTestToolManager.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSlot.h 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUBannerAdView.h 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUFullscreenVideoAd.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUImage.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUInterstitialAd.h 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUMaterialMeta.h 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUMopubAdMarkUpDelegate.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeAd.h 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeAdRelatedView.h 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeAdsManager.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressAdManager.h 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressAdView.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressAdViewDelegate.h 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressBannerView.h 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressFullscreenVideoAd.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressInterstitialAd.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressRewardedVideoAd.h 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressSplashView.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BURewardedVideoAd.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BURewardedVideoModel.h 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUSplashAdView.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUSplashZoomOutView.h 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUVideoAdReportor.h 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUVideoAdView.h 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUAdSDK.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/BUCNAuxiliary 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Headers/BUCNAuxiliary.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Headers/BUCNAuxiliaryManager.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Headers/BUCNCommonHeader.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Modules/module.modulemap 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/BUFoundation 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUBundleHelper.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUCocoaSecurity.h 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUCommonMacros.h 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUDeviceHelper.h 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUEnvironment.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUFoundation.h 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUFoundationAddress.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUGeckoPreloadManager.h 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUGeo.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUInfoHelper.h 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUNetInfoHelper.h 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BURouter.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BURuntimeUtil.h 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUTLocationService.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUUIResponderHelper.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUWKWebView.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUWebViewApplication.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUZipArchive.h 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUZipCommon.h 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BU_SDDiskCache.h 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/EBAppLog.h 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/EBAppLogConfig.h 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/EBAppLogDelegateProtocol.h 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSDictionary+BUUtilities.h 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSJSONSerialization+BUSafeSerializaiton.h 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSObject+BUUtils.h 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSUserDefaults+BUCrypt.h 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/UIImage+BUIcon.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/UIView+BUAdditions.h 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/HeimdallrInfo.plist 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CSJ/BUFoundation.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/CollectionController.m 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/FuLiSheViewController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/IndividualStarController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/LookNoteController.m 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/MainViewController.m 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/MyRegardController.m 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/OnlySpecialController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/PPTVController.h 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/PPTVController.m 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/SubregionDetailViewController.m 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/XYRDetailViewController.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/XYRDetailViewController.m 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/YTHNetInterface.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/YTHsharedManger.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/attentionView.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/recommendView.m 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/searchDetailViewController.m 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo2.0/猜你喜欢/GuessLikeViewController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.DS_Store
Binary files differ
BuWanVideo2.0.xcodeproj/project.pbxproj
@@ -131,9 +131,6 @@
        2DECF92D22325172002FF49F /* GuessLikeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DECF92C22325172002FF49F /* GuessLikeViewController.m */; };
        2DECF93122325854002FF49F /* GuessLTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DECF92F22325854002FF49F /* GuessLTableViewCell.m */; };
        2DECF93222325854002FF49F /* GuessLTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2DECF93022325854002FF49F /* GuessLTableViewCell.xib */; };
        7042C94E2515A4FE0017F5D8 /* BUAdSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7042C94B2515A4FE0017F5D8 /* BUAdSDK.framework */; };
        7042C94F2515A4FE0017F5D8 /* BUFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7042C94C2515A4FE0017F5D8 /* BUFoundation.framework */; };
        7042C9502515A4FE0017F5D8 /* BUAdSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7042C94D2515A4FE0017F5D8 /* BUAdSDK.bundle */; };
        70452819250E2C610006C95E /* libGDTMobSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7045280E250E2C5F0006C95E /* libGDTMobSDK.a */; };
        705951F425161153008E0CDF /* SearchTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 705951F325161153008E0CDF /* SearchTitleView.m */; };
        705951F7251633E9008E0CDF /* SearchDetailListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 705951F6251633E9008E0CDF /* SearchDetailListCell.m */; };
@@ -162,6 +159,11 @@
        705F1F83251F1CA80065350E /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 705F1F68251F1CA70065350E /* MJRefreshAutoFooter.m */; };
        705F1F84251F1CA80065350E /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 705F1F6A251F1CA70065350E /* MJRefreshComponent.m */; };
        705F1F85251F1CA80065350E /* MJRefreshTrailer.m in Sources */ = {isa = PBXBuildFile; fileRef = 705F1F6D251F1CA70065350E /* MJRefreshTrailer.m */; };
        70D5933E25EA17AB00438F1A /* BUAdSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70D5933A25EA17A900438F1A /* BUAdSDK.framework */; };
        70D5933F25EA17AB00438F1A /* BUCNAuxiliary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70D5933B25EA17AA00438F1A /* BUCNAuxiliary.framework */; };
        70D5934025EA17AB00438F1A /* BUAdSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 70D5933C25EA17AA00438F1A /* BUAdSDK.bundle */; };
        70D5934125EA17AB00438F1A /* BUFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70D5933D25EA17AB00438F1A /* BUFoundation.framework */; };
        70D5934525EA1FAE00438F1A /* PPTVController.m in Sources */ = {isa = PBXBuildFile; fileRef = 70D5934425EA1FAE00438F1A /* PPTVController.m */; };
        7B0D3B2C1D59BCAB003E74A8 /* AnimationTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B0D3B271D59BCAB003E74A8 /* AnimationTool.m */; };
        7B0D3B2D1D59BCAB003E74A8 /* CMuneBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B0D3B291D59BCAB003E74A8 /* CMuneBar.m */; };
        7B0D3B2E1D59BCAB003E74A8 /* CMuneItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B0D3B2B1D59BCAB003E74A8 /* CMuneItem.m */; };
@@ -541,9 +543,6 @@
        2DECF92F22325854002FF49F /* GuessLTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GuessLTableViewCell.m; sourceTree = "<group>"; };
        2DECF93022325854002FF49F /* GuessLTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GuessLTableViewCell.xib; sourceTree = "<group>"; };
        5326AC3933907F23F3929227 /* Pods-BuWanVideo2.0.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BuWanVideo2.0.release.xcconfig"; path = "Pods/Target Support Files/Pods-BuWanVideo2.0/Pods-BuWanVideo2.0.release.xcconfig"; sourceTree = "<group>"; };
        7042C94B2515A4FE0017F5D8 /* BUAdSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = BUAdSDK.framework; sourceTree = "<group>"; };
        7042C94C2515A4FE0017F5D8 /* BUFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = BUFoundation.framework; sourceTree = "<group>"; };
        7042C94D2515A4FE0017F5D8 /* BUAdSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = BUAdSDK.bundle; sourceTree = "<group>"; };
        70452801250E2C5C0006C95E /* GDTSDKDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTSDKDefines.h; sourceTree = "<group>"; };
        70452802250E2C5C0006C95E /* GDTRewardVideoAdNetworkConnectorProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTRewardVideoAdNetworkConnectorProtocol.h; sourceTree = "<group>"; };
        70452803250E2C5C0006C95E /* GDTMediaView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTMediaView.h; sourceTree = "<group>"; };
@@ -622,6 +621,12 @@
        705F1F6B251F1CA70065350E /* MJRefreshFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshFooter.h; sourceTree = "<group>"; };
        705F1F6C251F1CA70065350E /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackFooter.h; sourceTree = "<group>"; };
        705F1F6D251F1CA70065350E /* MJRefreshTrailer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshTrailer.m; sourceTree = "<group>"; };
        70D5933A25EA17A900438F1A /* BUAdSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = BUAdSDK.framework; sourceTree = "<group>"; };
        70D5933B25EA17AA00438F1A /* BUCNAuxiliary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = BUCNAuxiliary.framework; sourceTree = "<group>"; };
        70D5933C25EA17AA00438F1A /* BUAdSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = BUAdSDK.bundle; sourceTree = "<group>"; };
        70D5933D25EA17AB00438F1A /* BUFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = BUFoundation.framework; sourceTree = "<group>"; };
        70D5934325EA1FAE00438F1A /* PPTVController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PPTVController.h; sourceTree = "<group>"; };
        70D5934425EA1FAE00438F1A /* PPTVController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PPTVController.m; sourceTree = "<group>"; };
        7B0D3B261D59BCAB003E74A8 /* AnimationTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimationTool.h; sourceTree = "<group>"; };
        7B0D3B271D59BCAB003E74A8 /* AnimationTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimationTool.m; sourceTree = "<group>"; };
        7B0D3B281D59BCAB003E74A8 /* CMuneBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMuneBar.h; sourceTree = "<group>"; };
@@ -890,10 +895,10 @@
                2D732550212D6B5200E09821 /* WebP.framework in Frameworks */,
                2D73254E212D626B00E09821 /* YYWebImage.framework in Frameworks */,
                2D73254C212D626600E09821 /* YYCache.framework in Frameworks */,
                7042C94F2515A4FE0017F5D8 /* BUFoundation.framework in Frameworks */,
                2D73254A212D626000E09821 /* YYImage.framework in Frameworks */,
                7B8AC4F01D5D802200450285 /* CFNetwork.framework in Frameworks */,
                7B8AC5221D5D822F00450285 /* CoreMotion.framework in Frameworks */,
                70D5933F25EA17AB00438F1A /* BUCNAuxiliary.framework in Frameworks */,
                7B8AC50A1D5D80A500450285 /* Security.framework in Frameworks */,
                7B8AC4EA1D5D7FFC00450285 /* libz.tbd in Frameworks */,
                7B8AC4F61D5D804100450285 /* CoreMedia.framework in Frameworks */,
@@ -928,7 +933,7 @@
                7B389BDC1D61B1D10043A2F2 /* ModelIO.framework in Frameworks */,
                1845BB4B209BF212009C639B /* PassKit.framework in Frameworks */,
                7B8AC52C1D5D828000450285 /* libz.1.2.5.tbd in Frameworks */,
                7042C94E2515A4FE0017F5D8 /* BUAdSDK.framework in Frameworks */,
                70D5933E25EA17AB00438F1A /* BUAdSDK.framework in Frameworks */,
                7B1FF0DF1D6711CF00E6C207 /* libiconv.tbd in Frameworks */,
                1877D1791DCAE119000CEC83 /* JavaScriptCore.framework in Frameworks */,
                1877D1771DCAE100000CEC83 /* CoreData.framework in Frameworks */,
@@ -946,6 +951,7 @@
                7B8AC5141D5D810A00450285 /* Accelerate.framework in Frameworks */,
                7B8AC5121D5D80F700450285 /* libxml2.tbd in Frameworks */,
                7B8AC5021D5D807F00450285 /* MapKit.framework in Frameworks */,
                70D5934125EA17AB00438F1A /* BUFoundation.framework in Frameworks */,
                7B8AC4FE1D5D806A00450285 /* EventKitUI.framework in Frameworks */,
                7B8AC4EC1D5D800B00450285 /* libsqlite3.0.tbd in Frameworks */,
                8619598F33C90A9D1035A2BD /* Pods_BuWanVideo2_0.framework in Frameworks */,
@@ -970,6 +976,7 @@
        1833602A1DC3336400391627 /* ç•Œé¢ */ = {
            isa = PBXGroup;
            children = (
                70D5934225EA1F6D00438F1A /* PPTV */,
                18A8D14A1DC32B5B00A03FB7 /* Sideslip(侧边栏) */,
                18A8D14B1DC32CDB00A03FB7 /* Main(主视图) */,
                7BC600A01D63F134005CE8FD /* searchView(搜索) */,
@@ -1336,9 +1343,10 @@
        7042C94A2515A4FE0017F5D8 /* CSJ */ = {
            isa = PBXGroup;
            children = (
                7042C94B2515A4FE0017F5D8 /* BUAdSDK.framework */,
                7042C94C2515A4FE0017F5D8 /* BUFoundation.framework */,
                7042C94D2515A4FE0017F5D8 /* BUAdSDK.bundle */,
                70D5933C25EA17AA00438F1A /* BUAdSDK.bundle */,
                70D5933A25EA17A900438F1A /* BUAdSDK.framework */,
                70D5933B25EA17AA00438F1A /* BUCNAuxiliary.framework */,
                70D5933D25EA17AB00438F1A /* BUFoundation.framework */,
            );
            path = CSJ;
            sourceTree = "<group>";
@@ -1463,6 +1471,15 @@
                705F1F6D251F1CA70065350E /* MJRefreshTrailer.m */,
            );
            path = Base;
            sourceTree = "<group>";
        };
        70D5934225EA1F6D00438F1A /* PPTV */ = {
            isa = PBXGroup;
            children = (
                70D5934325EA1FAE00438F1A /* PPTVController.h */,
                70D5934425EA1FAE00438F1A /* PPTVController.m */,
            );
            name = PPTV;
            sourceTree = "<group>";
        };
        7B0A1E1F1D4B1437000518FA /* cell */ = {
@@ -2246,7 +2263,6 @@
                18B6BE6E1DADDB4700DA4F63 /* InfoTableViewCell.xib in Resources */,
                7B4220FA1D6D7DDE007345E6 /* OnlySpecialOne.xib in Resources */,
                18BC12A81EDEA7AD001E2FB0 /* HotLiveTableViewCell.xib in Resources */,
                7042C9502515A4FE0017F5D8 /* BUAdSDK.bundle in Resources */,
                7B9D31CD1D54481000EDED00 /* XYRDetailViewController.xib in Resources */,
                7B59CC001D5B15A3000B357F /* GroupCollectionViewCell.xib in Resources */,
                7B4220FC1D6D7DDE007345E6 /* OnlySpecialThere.xib in Resources */,
@@ -2277,6 +2293,7 @@
                7BFBC65F1D6704E20058FFEB /* NoteCell.xib in Resources */,
                189787871D925B5D006245B9 /* GoogleAdTableViewCell.xib in Resources */,
                7B1FF0A71D67094500E6C207 /* CellOne.xib in Resources */,
                70D5934025EA17AB00438F1A /* BUAdSDK.bundle in Resources */,
                7B59CC191D5B16DC000B357F /* ADCollectionReusableView.xib in Resources */,
                18D94EAC1ECD7B6E00B6FA54 /* newADCollectionViewCell.xib in Resources */,
                18BC12B21EDEA87D001E2FB0 /* LiveListTableViewCell.xib in Resources */,
@@ -2549,6 +2566,7 @@
                18E943E62057656C0019FD04 /* recommendViewController.m in Sources */,
                7BB429141D4B5FC900AA2D11 /* UIImage+YTH.m in Sources */,
                7B1FF0DD1D670B8800E6C207 /* attentionView.m in Sources */,
                70D5934525EA1FAE00438F1A /* PPTVController.m in Sources */,
                1884A6031E545D4900548480 /* PopoverViewCell.m in Sources */,
                7BFBC6461D6703E40058FFEB /* WebControllerView.m in Sources */,
                18BC12B11EDEA87D001E2FB0 /* LiveListTableViewCell.m in Sources */,
@@ -2684,7 +2702,7 @@
                CODE_SIGN_IDENTITY = "iPhone Developer";
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                CODE_SIGN_STYLE = Automatic;
                CURRENT_PROJECT_VERSION = 76;
                CURRENT_PROJECT_VERSION = 82;
                DEVELOPMENT_TEAM = 98HSDT7AP4;
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
@@ -2746,7 +2764,7 @@
                    "$(PROJECT_DIR)/BuWanVideo2.0/DKADSet_iOS_SDK_1.2.0_iphoneOS",
                    "$(PROJECT_DIR)/BuWanVideo2.0/GDT_iOS_SDK",
                );
                MARKETING_VERSION = 3.1.0;
                MARKETING_VERSION = 3.1.3;
                ONLY_ACTIVE_ARCH = YES;
                OTHER_LDFLAGS = (
                    "$(inherited)",
@@ -2835,7 +2853,7 @@
                CODE_SIGN_IDENTITY = "iPhone Developer";
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                CODE_SIGN_STYLE = Automatic;
                CURRENT_PROJECT_VERSION = 76;
                CURRENT_PROJECT_VERSION = 82;
                DEVELOPMENT_TEAM = 98HSDT7AP4;
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
@@ -2897,7 +2915,7 @@
                    "$(PROJECT_DIR)/BuWanVideo2.0/DKADSet_iOS_SDK_1.2.0_iphoneOS",
                    "$(PROJECT_DIR)/BuWanVideo2.0/GDT_iOS_SDK",
                );
                MARKETING_VERSION = 3.1.0;
                MARKETING_VERSION = 3.1.3;
                ONLY_ACTIVE_ARCH = NO;
                OTHER_LDFLAGS = (
                    "$(inherited)",
BuWanVideo2.0.xcodeproj/project.xcworkspace/xcuserdata/aeline.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
BuWanVideo2.0.xcworkspace/xcuserdata/aeline.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
BuWanVideo2.0.xcworkspace/xcuserdata/aeline.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -3,4 +3,22 @@
   uuid = "297DA90A-ED47-4DCA-BC7A-5F76C81057DB"
   type = "0"
   version = "2.0">
   <Breakpoints>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "24C9F381-5D49-4CF5-BD18-1F53C86F33D2"
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "BuWanVideo2.0/AppDelegate.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "100"
            endingLineNumber = "100"
            landmarkName = "-fetchCommenConfig"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
   </Breakpoints>
</Bucket>
BuWanVideo2.0/.DS_Store
Binary files differ
BuWanVideo2.0/AppDelegate.m
@@ -259,43 +259,47 @@
    if (width == 320.0f && height<=480.0f) {
        // iphone4 iphone4s ä¸Šçš„default图片
        _splash.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"320x480"]];
        imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"320"]];
        //imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"320"]];
        viewHeight = 55;
        
    }else if (width ==320.0f && height==568.0f) {
        // iphone5 ä¸Šçš„default图片
        _splash.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"320x568"]];
        imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"320"]];
        //imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"320"]];
        viewHeight = 55;
        
    }else if (width ==375.0f) {
    } else if (width ==375.0f) {
        // iphone6 ä¸Šçš„default图片
        _splash.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"375x667"]];
        imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"375"]];
        //imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"375"]];
        viewHeight = 63;
        
    }else{
        // iphone6 plus ä¸Šçš„default图片
        _splash.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"414x736"]];
        imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"414"]];
        //imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"414"]];
        viewHeight = 69;
    }
    if (KIsiPhoneX) {
        _splash.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"1125x2436"]];
       // _splash.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"1125x2436"]];
        //imageview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"414"]];
    }
    imageview.image = [UIImage imageNamed:@"375"];
    
    UIWindow *keyWindow = self.window;
    //self.startTime = CACurrentMediaTime();
    [self.splashAdView loadAdData];
    [keyWindow.rootViewController.view addSubview:self.splashAdView];
    
    self.splashAdView.frame = CGRectMake(0, 0, KScreenW, KScreenH - viewHeight);
    CGFloat screenH = [[UIScreen mainScreen] bounds].size.height;
    
    _bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, KScreenH - viewHeight, KScreenW, viewHeight)];
    imageview.frame = CGRectMake(0, 12, _bottomView.frame.size.width, _bottomView.frame.size.height - 6);
    //self.splashAdView.frame = CGRectMake(0, 0, KScreenW, screenH - viewHeight);
    
    [_bottomView addSubview:imageview];
    _bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, screenH - 100, KScreenW, 100)];
    _bottomView.backgroundColor = [UIColor whiteColor];
    imageview.frame = CGRectMake(0, 12, _bottomView.frame.size.width, 57);
    [_bottomView addSubview:imageview];
 
    [keyWindow addSubview:self.bottomView];
    
BuWanVideo2.0/Assets.xcassets/.DS_Store
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,231 +1,231 @@
{
  "images" : [
    {
      "size" : "20x20",
      "filename" : "icon-20@2x.png",
      "idiom" : "iphone",
      "filename" : "图标-40.png",
      "scale" : "2x"
    },
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "图标-100的副本-1.png",
      "scale" : "3x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "图标-29.png",
      "scale" : "1x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "图标-58.png",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "图标-87.png",
      "scale" : "3x"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "图标-80.png",
      "scale" : "2x"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "图标-120.png",
      "scale" : "3x"
    },
    {
      "size" : "57x57",
      "idiom" : "iphone",
      "filename" : "图标-57.png",
      "scale" : "1x"
    },
    {
      "size" : "57x57",
      "idiom" : "iphone",
      "filename" : "图标-114.png",
      "scale" : "2x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "图标-121.png",
      "scale" : "2x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "图标-180.png",
      "scale" : "3x"
    },
    {
      "size" : "20x20",
      "idiom" : "ipad",
      "filename" : "图标-100的副本-2.png",
      "scale" : "1x"
    },
    {
      "size" : "20x20",
      "idiom" : "ipad",
      "filename" : "图标-41.png",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "ipad",
      "filename" : "图标-30.png",
      "scale" : "1x"
    },
    {
      "size" : "29x29",
      "idiom" : "ipad",
      "filename" : "图标-59.png",
      "scale" : "2x"
    },
    {
      "size" : "40x40",
      "idiom" : "ipad",
      "filename" : "图标-42.png",
      "scale" : "1x"
    },
    {
      "size" : "40x40",
      "idiom" : "ipad",
      "filename" : "图标-81.png",
      "scale" : "2x"
    },
    {
      "size" : "50x50",
      "idiom" : "ipad",
      "filename" : "图标-50.png",
      "scale" : "1x"
    },
    {
      "size" : "50x50",
      "idiom" : "ipad",
      "filename" : "图标-100.png",
      "scale" : "2x"
    },
    {
      "size" : "72x72",
      "idiom" : "ipad",
      "filename" : "图标-72.png",
      "scale" : "1x"
    },
    {
      "size" : "72x72",
      "idiom" : "ipad",
      "filename" : "图标-144.png",
      "scale" : "2x"
    },
    {
      "size" : "76x76",
      "idiom" : "ipad",
      "filename" : "图标-76.png",
      "scale" : "1x"
    },
    {
      "size" : "76x76",
      "idiom" : "ipad",
      "filename" : "图标-152.png",
      "scale" : "2x"
    },
    {
      "size" : "83.5x83.5",
      "idiom" : "ipad",
      "filename" : "图标-100的副本.png",
      "scale" : "2x"
    },
    {
      "size" : "1024x1024",
      "idiom" : "ios-marketing",
      "filename" : "图标-1024.png",
      "scale" : "1x"
    },
    {
      "size" : "24x24",
      "idiom" : "watch",
      "scale" : "2x",
      "size" : "20x20"
    },
    {
      "filename" : "icon-20@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "20x20"
    },
    {
      "filename" : "icon-29.png",
      "idiom" : "iphone",
      "scale" : "1x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-29@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-29@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-40@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "40x40"
    },
    {
      "filename" : "icon-40@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "40x40"
    },
    {
      "filename" : "icon-57.png",
      "idiom" : "iphone",
      "scale" : "1x",
      "size" : "57x57"
    },
    {
      "filename" : "icon-57@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "57x57"
    },
    {
      "filename" : "icon-60@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "60x60"
    },
    {
      "filename" : "icon-60@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "60x60"
    },
    {
      "filename" : "icon-20-ipad.png",
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "20x20"
    },
    {
      "filename" : "icon-20@2x-ipad.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "20x20"
    },
    {
      "filename" : "icon-29-ipad.png",
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-29@2x-ipad.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-40.png",
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "40x40"
    },
    {
      "filename" : "icon-40@2x-1.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "40x40"
    },
    {
      "filename" : "icon-50.png",
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "50x50"
    },
    {
      "filename" : "icon-50@2x.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "50x50"
    },
    {
      "filename" : "icon-72.png",
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "72x72"
    },
    {
      "filename" : "icon-72@2x.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "72x72"
    },
    {
      "filename" : "icon-76.png",
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "76x76"
    },
    {
      "filename" : "icon-76@2x.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "76x76"
    },
    {
      "filename" : "icon-83.5@2x.png",
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "83.5x83.5"
    },
    {
      "filename" : "icon-1024.png",
      "idiom" : "ios-marketing",
      "scale" : "1x",
      "size" : "1024x1024"
    },
    {
      "idiom" : "watch",
      "role" : "notificationCenter",
      "scale" : "2x",
      "size" : "24x24",
      "subtype" : "38mm"
    },
    {
      "size" : "27.5x27.5",
      "idiom" : "watch",
      "scale" : "2x",
      "role" : "notificationCenter",
      "scale" : "2x",
      "size" : "27.5x27.5",
      "subtype" : "42mm"
    },
    {
      "size" : "29x29",
      "idiom" : "watch",
      "role" : "companionSettings",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "watch",
      "role" : "companionSettings",
      "scale" : "3x"
    },
    {
      "size" : "40x40",
      "idiom" : "watch",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "idiom" : "watch",
      "role" : "companionSettings",
      "scale" : "3x",
      "size" : "29x29"
    },
    {
      "idiom" : "watch",
      "role" : "appLauncher",
      "scale" : "2x",
      "size" : "40x40",
      "subtype" : "38mm"
    },
    {
      "size" : "44x44",
      "idiom" : "watch",
      "scale" : "2x",
      "role" : "appLauncher",
      "scale" : "2x",
      "size" : "44x44",
      "subtype" : "40mm"
    },
    {
      "size" : "50x50",
      "idiom" : "watch",
      "scale" : "2x",
      "role" : "appLauncher",
      "scale" : "2x",
      "size" : "50x50",
      "subtype" : "44mm"
    },
    {
      "size" : "86x86",
      "idiom" : "watch",
      "scale" : "2x",
      "role" : "quickLook",
      "scale" : "2x",
      "size" : "86x86",
      "subtype" : "38mm"
    },
    {
      "size" : "98x98",
      "idiom" : "watch",
      "scale" : "2x",
      "role" : "quickLook",
      "scale" : "2x",
      "size" : "98x98",
      "subtype" : "42mm"
    },
    {
      "size" : "108x108",
      "idiom" : "watch",
      "scale" : "2x",
      "role" : "quickLook",
      "scale" : "2x",
      "size" : "108x108",
      "subtype" : "44mm"
    },
    {
      "idiom" : "watch-marketing",
      "size" : "1024x1024",
      "scale" : "1x"
      "scale" : "1x",
      "size" : "1024x1024"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
    "author" : "xcode",
    "version" : 1
  }
}
}
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-1024.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-50.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-57.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-72.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-76.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-100.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-100µÄ¸±±¾-1.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-100µÄ¸±±¾-2.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-100µÄ¸±±¾.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-1024.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-114.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-120.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-121.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-144.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-152.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-180.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-29.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-30.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-40.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-41.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-42.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-50.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-57.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-58.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-59.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-72.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-76.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-80.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-81.png
Binary files differ
BuWanVideo2.0/Assets.xcassets/AppIcon.appiconset/ͼ±ê-87.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/Assets.car
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/Info.plist
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ar.lproj/BULanguage.strings
@@ -35,3 +35,4 @@
"ContinuePlaying" = "متابعة Ø§Ù„تشغيل";
"GetRewardAfterPlaying" = "قم Ø¨Ø¥Ø³ØªÙƒÙ…ال Ø§Ù„تشغيل  Ù„لحصول Ø¹Ù„Ù‰ Ø§Ù„مكافآت";
"Wan" = "10 Ø£Ù„ف";
"ViewDetail" = "عرض";
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_GDPRBack@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_GDPRBack@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStar@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStar@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStarEmpty@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_adStarEmpty@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_back_normal.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPause@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPause@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPlay@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomPlay@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomShadow@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_bottomShadow@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_close@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_close@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_down_arrow@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_down_arrow@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_pen@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_pen@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_right_arrow@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_right_arrow@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_up_arrow@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_dislike_up_arrow@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_endCardClose@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_endCardClose@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastBackward@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastBackward@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastForward@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fastForward@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullClose@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullClose@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullScreen@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_fullScreen@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_leftback@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_leftback@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@2x.data
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@3x.data
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd_oversea@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logoAd_oversea@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_reward@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_reward@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_splash@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_logo_splash@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_close@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_close@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_download@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_mpNativebanner_download@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nativeVideo_left@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nativeVideo_left@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nextCell@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_nextCell@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_pause@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_pause@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_play@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_play@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_playable_loading@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_playable_loading@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_replay@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_replay@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_shrinkScreen@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_shrinkScreen@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_sliderDot@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_sliderDot@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_splashZoomOutClose@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_splashZoomOutClose@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_topShadow@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_topShadow@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_close@2x.png.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_close@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_leftback@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_video_leftback@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice_silent@2x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/bu_voice_silent@3x.png
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.bundle/de.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"ContinuePlaying" = "Weiter wiedergeben";
"GetRewardAfterPlaying" = "Bis zum Ende wiedergeben,  um Prämien zu erhalten";
"Wan" = "Zehntausend";
"ViewDetail" = "Ansehen";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/en.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"View" = "View";
"ContinuePlaying" = "Keep on";
"GetRewardAfterPlaying" = "Finish playing to get rewards!";
"ViewDetail" = "View";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/es.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"ContinuePlaying" = "Seguir con la  reproducción";
"GetRewardAfterPlaying" = "Terminar la reproducción  para reclamar recompensas";
"Wan" = "10";
"ViewDetail" = "Ver";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/fr.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"ContinuePlaying" = "Poursuivre la  lecture";
"GetRewardAfterPlaying" = "Terminez la lecture pour  obtenir vos récompenses";
"Wan" = "10 000";
"ViewDetail" = "Voir";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/hi.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"ContinuePlaying" = "देखना à¤œà¤¾à¤°à¥€ à¤°à¤–ें";
"GetRewardAfterPlaying" = "रिवॉर्ड्स à¤•ा à¤¦à¤¾à¤µà¤¾ à¤•रने à¤•े  à¤²à¤¿à¤ à¤ªà¥‚रा à¤¦à¥‡à¤–ें";
"Wan" = "10  à¤¹à¤œà¤¼à¤¾à¤°";
"ViewDetail" = "देखें";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/id.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"ContinuePlaying" = "Lanjut memutar";
"GetRewardAfterPlaying" = "Selesaikan pemutaran  untuk mendapatkan reward";
"Wan" = "10  ribu";
"ViewDetail" = "Lihat";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/it.lproj/BULanguage.strings
@@ -35,3 +35,4 @@
"ContinuePlaying" = "Continua a  riprodurre";
"GetRewardAfterPlaying" = "Riproduci tutto per  richiedere le ricompense";
"Wan" = "10  mila";
"ViewDetail" = "Visualizza";
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ja.lproj/BULanguage.strings
@@ -18,21 +18,22 @@
"Back" = "戻る";
"Replay" = "リプレイ";
"Continue" = "再生し続ける";
"Skip" = "skip";
"Feedback" = "Feedback";
"FeedbackStr1" = "Thank you for your feedback.";
"FeedbackStr2" = "We will try to do better.";
"FeedbackStr3" = "You have submitted feedback.";
"FeedbackStr4" = "please don’t submit it again!";
"Skip" = "スキップ";
"Feedback" = "フィードバック";
"FeedbackStr1" = "ご意見ありがとうございます";
"FeedbackStr2" = "より良い広告体験を提供いたします";
"FeedbackStr3" = "フィードバックはすでに送信済みです";
"FeedbackStr4" = "既に送信済みです";
"ViewNow" = "詳細を見る";
"Download" = "download";
"Download" = "入手";
"LoadFailure" = "ロードに失敗しました。クリックして再度お試しください";
"GetRewardAfterWatching" = "動画を最後まで視聴いただけるとリワードを付与されます";
"GiveUpReward" = "やらない";
"ContinueWatching" = "視聴し続ける";
"CanbeTurnedOffAfter" = "%ds後に閉じられます";
"Get" = "Get";
"View" = "View";
"Get" = "入手";
"View" = "見る";
"ContinuePlaying" = "つづける";
"GetRewardAfterPlaying" = "遊んで報酬をゲット!";
"ViewDetail" = "チェック";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ko.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"View" = "체크";
"ContinuePlaying" = "계속하다";
"GetRewardAfterPlaying" = "리워드는 ê²Œìž„ í”Œë ˆì´ ì´í›„에 ì§€ê¸‰ë©ë‹ˆë‹¤.";
"ViewDetail" = "체크";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/pt.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"ContinuePlaying" = "Continuar  executando";
"GetRewardAfterPlaying" = "Finalizar a execução para  solicitar as premiações";
"Wan" = "10  mil";
"ViewDetail" = "Visualizar";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/ru.lproj/BULanguage.strings
@@ -35,3 +35,4 @@
"ContinuePlaying" = "Продолжить  Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€";
"GetRewardAfterPlaying" = "Завершите Ð¿Ñ€Ð¾ÑÐ¼Ð¾Ñ‚Ñ€, Ñ‡Ñ‚обы  Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ Ð½Ð°Ð³Ñ€Ð°Ð´Ñƒ";
"Wan" = "10  Ñ‚ысяч";
"ViewDetail" = "Вид";
BuWanVideo2.0/CSJ/BUAdSDK.bundle/th.lproj/BULanguage.strings
@@ -35,3 +35,4 @@
"ContinuePlaying" = "เล่นต่อ";
"GetRewardAfterPlaying" = "เล่นจนจบเพื่อรับรางวัล";
"Wan" = "1 à¸«à¸¡à¸·à¹ˆà¸™";
"ViewDetail" = "ดู";
BuWanVideo2.0/CSJ/BUAdSDK.bundle/version.txt
New file
@@ -0,0 +1 @@
3.4.2.3
BuWanVideo2.0/CSJ/BUAdSDK.bundle/vi.lproj/BULanguage.strings
@@ -35,3 +35,4 @@
"ContinuePlaying" = "Tiếp tục chÆ¡i";
"GetRewardAfterPlaying" = "ChÆ¡i hết Ä‘ể giành phần  thưởng";
"Wan" = "10  nghìn";
"ViewDetail" = "Xem";
BuWanVideo2.0/CSJ/BUAdSDK.bundle/zh-Hans.lproj/BULanguage.strings
@@ -35,4 +35,5 @@
"View" = "查看";
"ContinuePlaying" = "继续试玩";
"GetRewardAfterPlaying" = "试玩后才可领取奖励";
"ViewDetail" = "查看详情";
// Icon
BuWanVideo2.0/CSJ/BUAdSDK.bundle/zh-Hant.lproj/BULanguage.strings
@@ -35,3 +35,4 @@
"ContinuePlaying" = "繼續試玩";
"GetRewardAfterPlaying" = "試玩後才可領取獎勵";
"Wan" = "萬";
"ViewDetail" = "查看詳情";
BuWanVideo2.0/CSJ/BUAdSDK.framework/BUAdSDK
Binary files differ
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSDK.h
@@ -28,6 +28,7 @@
#import <BUAdSDK/BUNativeAdsManager.h>
/// native express ads
#import <BUAdSDK/BUNativeExpressAdViewDelegate.h>
#import <BUAdSDK/BUNativeExpressAdManager.h>
#import <BUAdSDK/BUNativeExpressAdView.h>
#import <BUAdSDK/BUNativeExpressBannerView.h>
@@ -36,14 +37,8 @@
#import <BUAdSDK/BUNativeExpressFullscreenVideoAd.h>
#import <BUAdSDK/BUNativeExpressSplashView.h>
/// banner ads
#import <BUAdSDK/BUBannerAdView.h>
/// splash ads
#import <BUAdSDK/BUSplashAdView.h>
/// interstitial ads
#import <BUAdSDK/BUInterstitialAd.h>
/// rewarded video ads
#import <BUAdSDK/BURewardedVideoModel.h>
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSDKManager.h
@@ -10,12 +10,24 @@
#import "BUAdSDKDefines.h"
#import "BUMopubAdMarkUpDelegate.h"
///CN china, NO_CN is not china
typedef NS_ENUM(NSUInteger, BUAdSDKTerritory) {
    BUAdSDKTerritory_CN = 1,
    BUAdSDKTerritory_NO_CN,
};
@class BUAdSlot;
typedef void (^BUConfirmGDPR)(BOOL isAgreed);
@interface BUAdSDKManager : NSObject
@property (nonatomic, copy, readonly, class) NSString *SDKVersion;
/**
This property should be set when integrating non-China areas at the same time, otherwise it does not need to be set.you‘d better set Territory first,  if you need to set them
@param territory : Regional value
*/
+ (void)setTerritory:(BUAdSDKTerritory)territory;
/**
 Register the App key that’s already been applied before requesting an ad from TikTok Audience Network.
 @param appID : the unique identifier of the App
@@ -62,6 +74,9 @@
/// Open GDPR Privacy for the user to choose before setAppID.
+ (void)openGDPRPrivacyFromRootViewController:(UIViewController *)rootViewController confirm:(BUConfirmGDPR)confirm;
/// Custom set idfa value
+ (void)setCustomIDFA:(NSString *)idfa;
/// get appID
+ (NSString *)appID;
@@ -71,9 +86,16 @@
/// get GDPR
+ (NSInteger)GDPR;
/// get coppa
+ (NSUInteger)coppa;
@end
@interface BUAdSDKManager (MopubAdaptor) <BUMopubAdMarkUpDelegate>
@end
@interface BUAdSDKManager (BUAdNR)
+ (NSDictionary *)bunr_dictionaryWithSlot:(BUAdSlot *)slot isDynamicRender:(BOOL)isDynamicRender;
@end
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSDKTestToolManager.h
@@ -25,6 +25,8 @@
+ (void)clearInputContent;
- (NSString *)testTimeStamp;
@end
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUAdSlot.h
@@ -5,7 +5,7 @@
//  Copyright Â© 2017 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "BUSize.h"
typedef NS_ENUM(NSInteger, BUAdSlotAdType) {
@@ -37,7 +37,7 @@
/// required. Ad type.
@property (nonatomic, assign) BUAdSlotAdType AdType;
/// required. Ad display location.
/// optional. Ad display location. defaults is BUAdSlotPositionTop
@property (nonatomic, assign) BUAdSlotPosition position;
/// Accept a set of image sizes, please pass in the BUSize object.
@@ -55,16 +55,22 @@
/// Maximum length of description.
@property (nonatomic, assign) NSInteger descLengthLimit;
/// Whether to support deeplink.
@property (nonatomic, assign) BOOL isSupportDeepLink;
/// optional. Whether to support deeplink.defaults is true
@property (nonatomic, assign) BOOL isSupportDeepLink DEPRECATED_MSG_ATTRIBUTE("This property is deprecated,Settings are no longer required after version 3300");
/// Native banner ads and native interstitial ads are set to 1, other ad types are 0, the default is 0.
@property (nonatomic, assign) BOOL isOriginAd;
/// optional. Whether to support render control
@property (nonatomic, assign) BOOL supportRenderControl;
//adload_seq:(针对聚合广告位)传递本次请求是为“自然日内某设备某广告位置第N次展示机会”发出的广告请求,同物理位置在自然日从1开始计数,不同物理位置独立计数;example:某原生广告位置,当天第5次产生展示机会,这次展示机向穿山甲发送了4次广告请求,则这4次广告请求的"adload_seq"的值应为5。第二天重新开始计数。
@property (nonatomic, assign) NSInteger adloadSeq;
// Valid only in Native Banner and Native Interstitial
@property (nonatomic, assign) CGSize adSize;
//prime_rit:(针对聚合广告位)广告物理位置对应的固定穿山甲广告位id,可以使用第一层的广告位id也可以为某一层的广告位id,但要求同一物理位置在该字段固定上报同一广告位id,不频繁更换;example:某原生广告位,当天共发出了1000个请求,这1000个请求中使用了5个不同target的穿山甲rit,用某X rit来作为该位置的标记rit,则这1000次请求的prime_rit都需要上报X rit的rit id。
@property (nonatomic, copy) NSString *primeRit;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUBannerAdView.h
File was deleted
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUFullscreenVideoAd.h
@@ -87,7 +87,7 @@
@interface BUFullscreenVideoAd : NSObject <BUMopubAdMarkUpDelegate>
@property (nonatomic, weak, nullable) id<BUFullscreenVideoAdDelegate> delegate;
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid;
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use fullscreenVideoMaterialMetaAdDidLoad: instead.")));
/// media configuration parameters.
@property (nonatomic, copy, readonly) NSDictionary *mediaExt;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUImage.h
@@ -18,6 +18,10 @@
// image height
@property (nonatomic, assign) float height;
// stream ad image druation
@property (nonatomic, assign) float duration;
- (instancetype)initWithDictionary:(NSDictionary *)dic;
- (NSDictionary *)dictionaryValue;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUInterstitialAd.h
File was deleted
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUMaterialMeta.h
@@ -70,6 +70,18 @@
/// video duration
@property (nonatomic, assign) NSInteger videoDuration;
/// video url, will be empty string if allowCustomVideoPlayer is NO, contact BD to add to allow list.
@property (nonatomic, copy, readonly) NSString *videoUrl;
/// be allowed to play video ad via custome player, contact BD to add to allow list.
@property (nonatomic, assign, readonly) BOOL allowCustomVideoPlayer;
/// video resolution width
@property (nonatomic, assign, readonly) NSInteger videoResolutionWidth;
/// video resolution height
@property (nonatomic, assign, readonly) NSInteger videoResolutionHeight;
/// media configuration parameters.
@property (nonatomic, copy) NSDictionary *mediaExt;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUMopubAdMarkUpDelegate.h
@@ -10,6 +10,8 @@
NS_ASSUME_NONNULL_BEGIN
@class BUAdSlot;
@protocol BUMopubAdMarkUpDelegate <NSObject>
@optional
@@ -17,12 +19,15 @@
  */
- (void)setMopubAdMarkUp:(NSString *)adm;
/// Bidding Token. Now for MSDK in domestic, used for every ad type.
- (NSString *)biddingToken;
/** Mopub Adaptor get AD type from rit
  *   @return  @{@"adSlotType": @(1), @"renderType": @(1)}
  *   adSlotType refer from BUAdSlotAdType in "BUAdSlot.h"
  *   showType: @"1" express AD   @"2" native AD
  */
+ (NSDictionary *)AdTypeWithRit:(NSString *)rit error:(NSError **)error;
+ (nullable NSDictionary *)AdTypeWithRit:(NSString *)rit error:(NSError **)error;
/** Mopub bidding Adaptor get AD type from adm
  *  @return  @{@"adSlotType": @(1), @"renderType": @(1)}
@@ -34,6 +39,7 @@
/// Mopub Bidding Token
+ (NSString *)mopubBiddingToken;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeAd.h
@@ -12,6 +12,7 @@
#import "BUVideoAdView.h"
#import "BUMopubAdMarkUpDelegate.h"
@protocol BUNativeAdDelegate;
NS_ASSUME_NONNULL_BEGIN
@@ -87,10 +88,16 @@
@optional
/**
 This method is called when native ad material loaded successfully.
 This method is called when native ad material loaded successfully. This method will be deprecated. Use nativeAdDidLoad:view: instead
 */
- (void)nativeAdDidLoad:(BUNativeAd *)nativeAd;
/**
 This method is called when native ad material loaded successfully.
 */
- (void)nativeAdDidLoad:(BUNativeAd *)nativeAd view:(UIView *_Nullable)view;
/**
 This method is called when native ad materia failed to load.
 @param error : the reason of error
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeAdRelatedView.h
@@ -8,6 +8,7 @@
#import <UIKit/UIKit.h>
#import "BUVideoAdView.h"
#import "BUNativeAd.h"
#import "BUVideoAdReportor.h"
NS_ASSUME_NONNULL_BEGIN
@@ -33,15 +34,22 @@
@property (nonatomic, strong, readonly, nullable) UIImageView *logoADImageView;
/**
 Video ad view. Need to actively add to the view.
 Video ad view. Need to actively add to the view. Can not coexist with videoAdReportor.
 */
@property (nonatomic, strong, readonly, nullable) BUVideoAdView *videoAdView;
/**
Video ad Reportor. Can not coexist with videoAdView.
*/
@property (nonatomic, strong, readonly, nullable) id<BUVideoAdReportor> videoAdReportor;
/**
 Refresh the data every time you get new datas in order to show ad perfectly.
 */
- (void)refreshData:(BUNativeAd *)nativeAd;
//@property (nonatomic, copy) BOOL(^expectUseCustomVideoPlayer)(BOOL isSupported, NSString *videoUrl);
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeAdsManager.h
@@ -14,6 +14,7 @@
#import "BUAdSlot.h"
#import "BUMaterialMeta.h"
#import "BUNativeAd.h"
#import "BUNativeExpressAdViewDelegate.h"
@protocol BUNativeAdsManagerDelegate;
@@ -26,7 +27,10 @@
/// The delegate for receiving state change messages such as requests succeeding/failing.
/// The delegate can be set to any object which conforming to <BUNativeAdsManagerDelegate>.
@property (nonatomic, weak, nullable) id<BUNativeAdsManagerDelegate> delegate;
/// The delegate for receiving messages when is render template
@property (nonatomic, weak, nullable) id<BUNativeExpressAdViewDelegate> nativeExpressAdViewDelegate;
/// Valid only in native Feed
@property (nonatomic, assign, readwrite) CGSize adSize;
- (instancetype)initWithSlot:(BUAdSlot * _Nullable) slot;
/**
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressAdManager.h
@@ -14,74 +14,10 @@
#import "BUDislikeWords.h"
#import "BUPlayerPublicDefine.h"
#import "BUMopubAdMarkUpDelegate.h"
#import "BUNativeExpressAdViewDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@class BUNativeExpressAdManager;
@protocol BUNativeExpressAdViewDelegate <NSObject>
@optional
/**
 * Sent when views successfully load ad
 */
- (void)nativeExpressAdSuccessToLoad:(BUNativeExpressAdManager *)nativeExpressAd views:(NSArray<__kindof BUNativeExpressAdView *> *)views;
/**
 * Sent when views fail to load ad
 */
- (void)nativeExpressAdFailToLoad:(BUNativeExpressAdManager *)nativeExpressAd error:(NSError *_Nullable)error;
/**
 * This method is called when rendering a nativeExpressAdView successed, and nativeExpressAdView.size.height has been updated
 */
- (void)nativeExpressAdViewRenderSuccess:(BUNativeExpressAdView *)nativeExpressAdView;
/**
 * This method is called when a nativeExpressAdView failed to render
 */
- (void)nativeExpressAdViewRenderFail:(BUNativeExpressAdView *)nativeExpressAdView error:(NSError *_Nullable)error;
/**
 * Sent when an ad view is about to present modal content
 */
- (void)nativeExpressAdViewWillShow:(BUNativeExpressAdView *)nativeExpressAdView;
/**
 * Sent when an ad view is clicked
 */
- (void)nativeExpressAdViewDidClick:(BUNativeExpressAdView *)nativeExpressAdView;
/**
Sent when a playerw playback status changed.
@param playerState : player state after changed
*/
- (void)nativeExpressAdView:(BUNativeExpressAdView *)nativeExpressAdView stateDidChanged:(BUPlayerPlayState)playerState;
/**
 * Sent when a player finished
 * @param error : error of player
 */
- (void)nativeExpressAdViewPlayerDidPlayFinish:(BUNativeExpressAdView *)nativeExpressAdView error:(NSError *)error;
/**
 * Sent when a user clicked dislike reasons.
 * @param filterWords : the array of reasons why the user dislikes the ad
 */
- (void)nativeExpressAdView:(BUNativeExpressAdView *)nativeExpressAdView dislikeWithReason:(NSArray<BUDislikeWords *> *)filterWords;
/**
 * Sent after an ad view is clicked, a ad landscape view will present modal content
 */
- (void)nativeExpressAdViewWillPresentScreen:(BUNativeExpressAdView *)nativeExpressAdView;
/**
 This method is called when another controller has been closed.
 @param interactionType : open appstore in app or open the webpage or view video ad details page.
 */
- (void)nativeExpressAdViewDidCloseOtherController:(BUNativeExpressAdView *)nativeExpressAdView interactionType:(BUInteractionType)interactionType;
@end
@interface BUNativeExpressAdManager : NSObject <BUMopubAdMarkUpDelegate>
@@ -104,7 +40,12 @@
/**
 The number of ads requested,The maximum is 3
 */
- (void)loadAd:(NSInteger)count;
- (void)loadAdDataWithCount:(NSInteger)count;
@end
@interface BUNativeExpressAdManager (Deprecated)
- (void)loadAd:(NSInteger)count __attribute__((deprecated("Use loadAdDataWithCount: instead.")));
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressAdView.h
@@ -10,6 +10,7 @@
NS_ASSUME_NONNULL_BEGIN
@interface BUNativeExpressAdView : UIView
/**
 * Whether render is ready
@@ -36,6 +37,7 @@
 */
- (void)render;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressAdViewDelegate.h
New file
@@ -0,0 +1,83 @@
//
//  BUNativeExpressAdViewDelegate.h
//  BUAdSDK
//
//  Created by Rush.D.Xzj on 2020/10/12.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BUMaterialMeta.h"
NS_ASSUME_NONNULL_BEGIN
@class BUNativeExpressAdManager;
@class BUNativeExpressAdView;
@class BUDislikeWords;
@protocol BUNativeExpressAdViewDelegate <NSObject>
@optional
/**
 * Sent when views successfully load ad
 */
- (void)nativeExpressAdSuccessToLoad:(BUNativeExpressAdManager *)nativeExpressAdManager views:(NSArray<__kindof BUNativeExpressAdView *> *)views;
/**
 * Sent when views fail to load ad
 */
- (void)nativeExpressAdFailToLoad:(BUNativeExpressAdManager *)nativeExpressAdManager error:(NSError *_Nullable)error;
/**
 * This method is called when rendering a nativeExpressAdView successed, and nativeExpressAdView.size.height has been updated
 */
- (void)nativeExpressAdViewRenderSuccess:(BUNativeExpressAdView *)nativeExpressAdView;
/**
 * This method is called when a nativeExpressAdView failed to render
 */
- (void)nativeExpressAdViewRenderFail:(BUNativeExpressAdView *)nativeExpressAdView error:(NSError *_Nullable)error;
/**
 * Sent when an ad view is about to present modal content
 */
- (void)nativeExpressAdViewWillShow:(BUNativeExpressAdView *)nativeExpressAdView;
/**
 * Sent when an ad view is clicked
 */
- (void)nativeExpressAdViewDidClick:(BUNativeExpressAdView *)nativeExpressAdView;
/**
Sent when a playerw playback status changed.
@param playerState : player state after changed
*/
- (void)nativeExpressAdView:(BUNativeExpressAdView *)nativeExpressAdView stateDidChanged:(BUPlayerPlayState)playerState;
/**
 * Sent when a player finished
 * @param error : error of player
 */
- (void)nativeExpressAdViewPlayerDidPlayFinish:(BUNativeExpressAdView *)nativeExpressAdView error:(NSError *)error;
/**
 * Sent when a user clicked dislike reasons.
 * @param filterWords : the array of reasons why the user dislikes the ad
 */
- (void)nativeExpressAdView:(BUNativeExpressAdView *)nativeExpressAdView dislikeWithReason:(NSArray<BUDislikeWords *> *)filterWords;
/**
 * Sent after an ad view is clicked, a ad landscape view will present modal content
 */
- (void)nativeExpressAdViewWillPresentScreen:(BUNativeExpressAdView *)nativeExpressAdView;
/**
 This method is called when another controller has been closed.
 @param interactionType : open appstore in app or open the webpage or view video ad details page.
 */
- (void)nativeExpressAdViewDidCloseOtherController:(BUNativeExpressAdView *)nativeExpressAdView interactionType:(BUInteractionType)interactionType;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressBannerView.h
@@ -80,13 +80,11 @@
- (instancetype)initWithSlotID:(NSString *)slotID
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink;
                        adSize:(CGSize)adsize;
- (instancetype)initWithSlotID:(NSString *)slotID
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink
                      interval:(NSInteger)interval;
/**
@@ -99,20 +97,42 @@
                     adloadSeq:(NSInteger)adloadSeq
                      primeRit:(NSString *)primeRit
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink;
                        adSize:(CGSize)adsize;
- (instancetype)initWithSlotID:(NSString *)slotID
                     adloadSeq:(NSInteger)adloadSeq
                      primeRit:(NSString *)primeRit
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink
                      interval:(NSInteger)interval;
- (void)loadAdData;
@end
@interface BUNativeExpressBannerView (Deprecated)
- (instancetype)initWithSlotID:(NSString *)slotID
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink DEPRECATED_MSG_ATTRIBUTE("Use initWithSlotID:rootViewController:adSize: instead.");
- (instancetype)initWithSlotID:(NSString *)slotID
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink
                      interval:(NSInteger)interval DEPRECATED_MSG_ATTRIBUTE("Use initWithSlotID:rootViewController:adSize:interval: instead.");
- (instancetype)initWithSlotID:(NSString *)slotID
                     adloadSeq:(NSInteger)adloadSeq
                      primeRit:(NSString *)primeRit
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink DEPRECATED_MSG_ATTRIBUTE("Use initWithSlotID:adloadSeq:primeRit:rootViewController:adSize: instead.");
- (instancetype)initWithSlotID:(NSString *)slotID
                     adloadSeq:(NSInteger)adloadSeq
                      primeRit:(NSString *)primeRit
            rootViewController:(UIViewController *)rootViewController
                        adSize:(CGSize)adsize
             IsSupportDeepLink:(BOOL)isSupportDeepLink
                      interval:(NSInteger)interval DEPRECATED_MSG_ATTRIBUTE("Use initWithSlotID:adloadSeq:primeRit:rootViewController:adSize:interval: instead.");
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressFullscreenVideoAd.h
@@ -7,6 +7,7 @@
#import <UIKit/UIKit.h>
#import "BUMaterialMeta.h"
#import "BUMopubAdMarkUpDelegate.h"
@class BUNativeExpressFullscreenVideoAd;
@@ -23,7 +24,6 @@
@optional
/**
 This method is called when video ad material loaded successfully.
 And you can call [BUNativeExpressFullscreenVideoAd showAdFromRootViewController:].
 */
- (void)nativeExpressFullscreenVideoAdDidLoad:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
@@ -48,6 +48,7 @@
/**
 This method is called when video cached successfully.
 For a better user experience, it is recommended to display video ads at this time.
 And you can call [BUNativeExpressFullscreenVideoAd showAdFromRootViewController:].
 */
- (void)nativeExpressFullscreenVideoAdDidDownLoadVideo:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
@@ -101,10 +102,10 @@
@end
@interface BUNativeExpressFullscreenVideoAd : NSObject
@interface BUNativeExpressFullscreenVideoAd : NSObject <BUMopubAdMarkUpDelegate>
@property (nonatomic, weak, nullable) id<BUNativeExpressFullscreenVideoAdDelegate> delegate;
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid;
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use nativeExpressFullscreenVideoAdDidLoad: instead.")));
/// media configuration parameters.
@property (nonatomic, copy, readonly) NSDictionary *mediaExt;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressInterstitialAd.h
@@ -9,6 +9,7 @@
#import <UIKit/UIKit.h>
#import "BUMaterialMeta.h"
#import "BUMopubAdMarkUpDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@class BUSize;
@@ -80,7 +81,7 @@
 Initializes interstitial ad.
 @param slotID : The unique identifier of interstitial ad.
 @param adsize : custom size of ad view.
 @return BUInterstitialAd
 @return BUNativeExpressInterstitialAd
 */
- (instancetype)initWithSlotID:(NSString *)slotID adSize:(CGSize)adsize;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressRewardedVideoAd.h
@@ -8,6 +8,7 @@
#import <UIKit/UIKit.h>
#import "BUAdSDKDefines.h"
#import "BUMaterialMeta.h"
#import "BUMopubAdMarkUpDelegate.h"
@class BUNativeExpressRewardedVideoAd;
@class BURewardedVideoModel;
@@ -26,7 +27,6 @@
@optional
/**
 This method is called when video ad material loaded successfully.
 And you can call [BUNativeExpressRewardedVideoAd showAdFromRootViewController:].
 */
- (void)nativeExpressRewardedVideoAdDidLoad:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
@@ -43,6 +43,7 @@
/**
 This method is called when cached successfully.
 For a better user experience, it is recommended to display video ads at this time.
 And you can call [BUNativeExpressRewardedVideoAd showAdFromRootViewController:].
 */
- (void)nativeExpressRewardedVideoAdDidDownLoadVideo:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
@@ -123,7 +124,7 @@
@end
@interface BUNativeExpressRewardedVideoAd : NSObject
@interface BUNativeExpressRewardedVideoAd : NSObject <BUMopubAdMarkUpDelegate>
@property (nonatomic, strong) BURewardedVideoModel *rewardedVideoModel;
@property (nonatomic, weak, nullable) id<BUNativeExpressRewardedVideoAdDelegate> delegate;
/// media configuration parameters.
@@ -134,9 +135,18 @@
 Setted to YES when data is not empty and has not been displayed.
 Repeated display is not billed.
 */
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid;
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use nativeExpressRewardedVideoAdDidLoad: instead.")));
- (instancetype)initWithSlotID:(NSString *)slotID rewardedVideoModel:(BURewardedVideoModel *)model;
/**
adload_seq:(针对聚合广告位)传递本次请求是为“自然日内某设备某广告位置第N次展示机会”发出的广告请求,同物理位置在自然日从1开始计数,不同物理位置独立计数;example:某原生广告位置,当天第5次产生展示机会,这次展示机向穿山甲发送了4次广告请求,则这4次广告请求的"adload_seq"的值应为5。第二天重新开始计数。
prime_rit:(针对聚合广告位)广告物理位置对应的固定穿山甲广告位id,可以使用第一层的广告位id也可以为某一层的广告位id,但要求同一物理位置在该字段固定上报同一广告位id,不频繁更换;example:某原生广告位,当天共发出了1000个请求,这1000个请求中使用了5个不同target的穿山甲rit,用某X rit来作为该位置的标记rit,则这1000次请求的prime_rit都需要上报X rit的rit id。
*/
- (instancetype)initWithSlotID:(NSString *)slotID adloadSeq:(NSInteger)adloadSeq primeRit:(NSString * __nullable)primeRit rewardedVideoModel:(nonnull BURewardedVideoModel *)model;
- (void)loadAdData;
/**
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUNativeExpressSplashView.h
@@ -7,6 +7,7 @@
#import <UIKit/UIKit.h>
#import "BUMaterialMeta.h"
#import "BUMopubAdMarkUpDelegate.h"
@class BUNativeExpressSplashView;
@@ -73,7 +74,7 @@
@interface BUNativeExpressSplashView : UIView
@interface BUNativeExpressSplashView : UIView <BUMopubAdMarkUpDelegate>
/**
 The delegate for receiving state change messages.
 */
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BURewardedVideoAd.h
@@ -30,7 +30,7 @@
 Setted to YES when data is not empty and has not been displayed.
 Repeated display is not billed.
 */
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid;
@property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use rewardedVideoAdDidLoad: instead.")));
/// media configuration parameters.
@property (nonatomic, copy, readonly) NSDictionary *mediaExt;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BURewardedVideoModel.h
@@ -10,7 +10,7 @@
@interface BURewardedVideoModel : NSObject
/**
   required.
   optional.
   Third-party game user_id identity.
   Mainly used in the reward issuance, it is the callback pass-through parameter from server-to-server.
   It is the unique identifier of each user.
@@ -19,13 +19,13 @@
 */
@property (nonatomic, copy) NSString *userId;
//optional. reward name.
@property (nonatomic, copy) NSString *rewardName;
//optional. number of rewards.
@property (nonatomic, assign) NSInteger rewardAmount;
//optional. serialized string.
@property (nonatomic, copy) NSString *extra;
//reward name. It will assigned value when the ads back.
@property (nonatomic, copy) NSString *rewardName;
//number of rewards. It will assigned value when the ads back.
@property (nonatomic, assign) NSInteger rewardAmount;
@end
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUSplashAdView.h
@@ -8,12 +8,13 @@
#import <UIKit/UIKit.h>
#import "BUMaterialMeta.h"
#import "BUSplashZoomOutView.h"
#import "BUMopubAdMarkUpDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@protocol BUSplashAdDelegate;
@interface BUSplashAdView : UIView
@interface BUSplashAdView : UIView <BUMopubAdMarkUpDelegate>
/**
The unique identifier of splash ad.
 */
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUSplashZoomOutView.h
@@ -43,6 +43,11 @@
- (void)splashZoomOutViewAdDidClose:(BUSplashZoomOutView *)splashAd;
/**
This method is called when spalashAd automatically dimiss afte countdown equals to zero
*/
- (void)splashZoomOutViewAdDidAutoDimiss:(BUSplashZoomOutView *)splashAd;
/**
 This method is called when another controller has been closed.
 @param interactionType : open appstore in app or open the webpage or view video ad details page.
 */
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUVideoAdReportor.h
New file
@@ -0,0 +1,55 @@
//
//  BUVideoAdReportor.h
//  BUAdSDK
//
//  Created by bytedance on 2020/8/3.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
/// the reportor of video ad in feed, auto created by system if video ads in feed is customd.
@protocol BUVideoAdReportor <NSObject>
@required
/// report did start play video
/// @param duration total duration of video, unit ms
- (void)didStartPlayVideoWithVideoDuration:(NSTimeInterval)duration;
/// report did start play video auto, designed by developer
/// @param duration total duration of video, unit ms
- (void)didAutoStartPlayWithVideoDuration:(NSTimeInterval)duration;
/// report did play to the end of video
- (void)didFinishVideo;
/// report did pause video
/// @param duration duration of video that user watched
- (void)didPauseVideoWithCurrentDuration:(NSTimeInterval)duration;
/// report did resume video from paused
/// @param duration duration of video that user watched
- (void)didResumeVideoWithCurrentDuration:(NSTimeInterval)duration;
/// report did break video playing, maybe change another video or disappear from screen and so on
/// @param duration duration of video that user watched
- (void)didBreakVideoWithCurrentDuration:(NSTimeInterval)duration;
/// report did click video view, auto implement by Pangle, developers need not call this method
/// @param duration duration of video that user watched
- (void)didClickVideoViewWithCurrentDuration:(NSTimeInterval)duration;
/// report sth. wrong with playing
/// @param error error
- (void)didPlayFailedWithError:(NSError *)error;
/// report sth. wrong with play start
/// @param error error
- (void)didPlayStartFailedWithError:(NSError *)error;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUAdSDK.framework/Headers/BUVideoAdView.h
@@ -52,6 +52,11 @@
@property (nonatomic, assign) BOOL drawVideoClickEnable;
/**
AdType information.
*/
@property (nonatomic, assign) NSInteger AdType;
/**
 material information.
 */
@property (nonatomic, strong, readwrite, nullable) BUMaterialMeta *materialMeta;
BuWanVideo2.0/CSJ/BUAdSDK.framework/Info.plist
Binary files differ
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/BUCNAuxiliary
Binary files differ
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Headers/BUCNAuxiliary.h
New file
@@ -0,0 +1,22 @@
//
//  BUCNAuxiliary.h
//  BUCNAuxiliary
//
//  Created by bytedance on 2020/8/25.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
///
#import "BUCNAuxiliaryManager.h"
//! Project version number for BUCNAuxiliary.
FOUNDATION_EXPORT double BUCNAuxiliaryVersionNumber;
//! Project version string for BUCNAuxiliary.
FOUNDATION_EXPORT const unsigned char BUCNAuxiliaryVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <BUCNAuxiliary/PublicHeader.h>
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Headers/BUCNAuxiliaryManager.h
New file
@@ -0,0 +1,22 @@
//
//  BUCNAuxiliaryManager.h
//  BUCNAuxiliary
//
//  Created by bytedance on 2020/8/26.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface BUCNAuxiliaryManager : NSObject
+ (instancetype)shareManager;
///设置地区
+ (void)setTerritory:(NSString *)territory;
///获取地区
+ (NSString *)territory;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Headers/BUCNCommonHeader.h
New file
@@ -0,0 +1,16 @@
//
//  BUCNCommonHeader.h
//  BUCNAuxiliary
//
//  Created by bytedance on 2020/8/27.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#ifndef BUCNCommonHeader_h
#define BUCNCommonHeader_h
typedef NS_ENUM(NSUInteger, BUCNAuxiliaryTerritory) {
    BUCNAuxiliaryTerritory_CN = 3,
};
#endif /* BUCNCommonHeader_h */
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Info.plist
Binary files differ
BuWanVideo2.0/CSJ/BUCNAuxiliary.framework/Modules/module.modulemap
New file
@@ -0,0 +1,6 @@
framework module BUCNAuxiliary {
  umbrella header "BUCNAuxiliary.h"
  export *
  module * { export * }
}
BuWanVideo2.0/CSJ/BUFoundation.framework/BUFoundation
Binary files differ
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUBundleHelper.h
@@ -13,7 +13,7 @@
@interface BUBundleHelper : NSObject
// èŽ·å–èµ„æºæ–‡ä»¶
+ (NSBundle *)resourceBundle;
+ (nullable NSBundle *)resourceBundle;
@end
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUCocoaSecurity.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUCommonMacros.h
@@ -10,6 +10,8 @@
FOUNDATION_EXPORT NSString * const BUSDKVersion;
/// æ ‡è®°æ˜¯å¦æ˜¯å¼€å‘状态,正式上线发版时置 0
#define DevEnv 0
/** String **/
#define BUEmptyString                                 (@"");
@@ -96,7 +98,8 @@
#define BUMAXScreenSide                   MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)
#endif
#define BUiPhoneX ((BUMAXScreenSide == 812.0) || (BUMAXScreenSide == 896))
#define BUIsNotchScreen bu_is_notch_screen()
#define BUiPhoneX BUIsNotchScreen
#define kBUDefaultNavigationBarHeight  (BUiPhoneX?88:64)      // å¯¼èˆªæ¡é«˜åº¦
#define kBUSafeTopMargin (BUiPhoneX?24:0)
#define kBUDefaultStautsBarHeight  (BUiPhoneX?44:20)      // çŠ¶æ€æ é«˜åº¦
@@ -130,16 +133,37 @@
FOUNDATION_EXPORT id BU_JSONObjectByRemovingKeysWithNullValues(id JSONObject);
FOUNDATION_EXPORT BOOL bu_is_notch_screen(void);
/** LOG **/
#define BU_Log_Foundation(frmt, ...)   BU_Log_Base(BUFoundationLog, frmt, ##__VA_ARGS__)
#define BU_Log_Base(BULogTypeString, frmt, ...)   BU_LOG_MAYBE(BULogTypeString, BU_LOG_ENABLED, frmt, ##__VA_ARGS__)
#define BU_Log_Foundation(frmt, ...) BU_LOG_MAYBE(BUFoundationLog, BU_LOG_ENABLED, frmt, ##__VA_ARGS__)
#define BU_LOG_MAYBE(BULogTypeString, flg, frmt, ...)                       \
do {                                                      \
if(flg) NSLog(@"【BytedanceUnion V%@】-【%@】%@", BUSDKVersion, BULogTypeString, [NSString stringWithFormat:frmt,##__VA_ARGS__]);                       \
if(flg) NSLog(@"【PangleUnion V%@】-【%@】%@", BUSDKVersion, BULogTypeString, [NSString stringWithFormat:frmt,##__VA_ARGS__]);                       \
} while(0)
#if DevEnv
#define BU_LogD_Verbose @"🟡".UTF8String
#define BU_LogD_Info    @"🟢".UTF8String
#define BU_LogD_Error   @"🔴".UTF8String
#define BU_LogD(BULogType, nature, format, ...) printf("\n【%s】%s [%s %d] %s\n\n", BULogType.UTF8String, nature, [NSString stringWithUTF8String:__FILE__].lastPathComponent.UTF8String ,__LINE__, [NSString stringWithFormat:format, ##__VA_ARGS__].UTF8String)
#else
#define BU_LogD_Verbose
#define BU_LogD_Info
#define BU_LogD_Error
#define BU_LogD(BULogTypeString, nature, ...)
#endif
FOUNDATION_EXPORT NSString * const BUFoundationLog;
FOUNDATION_EXPORT BOOL BU_LOG_ENABLED;
// å¯¹æžšä¸¾å€¼è¿›è¡Œæ—¥å¿—字符串转换, ä¾‹å¦‚对于一个枚举值   1表示激励视频广告的意思, å°†è¿”回:   æ¿€åŠ±è§†é¢‘å¹¿å‘Š(value:1)
FOUNDATION_EXPORT NSString *NSStringLogFromBUAdEnumItem(NSInteger enumItem, NSDictionary *dic, NSString *defaultValue);
// å¯¹æžšä¸¾å€¼è¿›è¡Œå­—符串转换   ä¾‹å¦‚对于一个枚举值   1表示rewarded_ad的字符串, å°†è¿”回:  rewarded_ad
FOUNDATION_EXPORT NSString *NSStringFromBUAdEnumItem(NSInteger enumItem, NSDictionary *dic, NSString *defaultValue);
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUDeviceHelper.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUEnvironment.h
New file
@@ -0,0 +1,17 @@
//
//  BUEnvironment.h
//  BUFoundation
//
//  Created by bytedance on 2020/10/29.
//  Copyright Â© 2020 Union. All rights reserved.
//
#ifndef BUEnvironment_h
#define BUEnvironment_h
#import <Foundation/Foundation.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
CTTelephonyNetworkInfo *BUDefaultTelephonyNetworkInfo(void);
#endif /* BUEnvironment_h */
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUFoundation.h
@@ -10,9 +10,7 @@
#import <BUFoundation/BUPersistence.h>
#import <BUFoundation/BURouter.h>
#import <BUFoundation/BUUIResponderHelper.h>
#import <BUFoundation/BUTLocationService.h>
#import <BUFoundation/BUBaseRequest.h>
#import <BUFoundation/BURuntimeUtil.h>
#import <BUFoundation/BUTimer.h>
#import <BUFoundation/BUDynamicPlugin.h>
#import <BUFoundation/BUStaticPlugin.h>
@@ -33,15 +31,12 @@
#import <BUFoundation/BUGifImage.h>
#import <BUFoundation/BUThreadSafeDictionary.h>
#import <BUFoundation/BUThreadSafeMutableArray.h>
#import <BUFoundation/BUCocoaSecurity.h>
#import <BUFoundation/BUInfoHelper.h>
#import <BUFoundation/BUReachability.h>
#import <BUFoundation/BUNetInfoHelper.h>
#import <BUFoundation/BUDeviceHelper.h>
#import <BUFoundation/BUScreenHelper.h>
#import <BUFoundation/BUCommonMacros.h>
#import <BUFoundation/BUFoundationAddress.h>
#import <BUFoundation/BUBundleHelper.h>
#import <BUFoundation/BUEnvironment.h>
/// Category
@@ -55,7 +50,9 @@
#import <BUFoundation/UIColor+BUTheme.h>
#import <BUFoundation/UIImage+BUIcon.h>
#import <BUFoundation/NSObject+BUSafeKVO.h>
#import <BUFoundation/NSUserDefaults+BUCrypt.h>
#import <BUFoundation/NSJSONSerialization+BUSafeSerializaiton.h>
#import <BUFoundation/NSObject+BUUtils.h>
/************************************ ThirdParty***********************************/
//  AFN
@@ -71,9 +68,12 @@
#import <BUFoundation/UIImageView+BUWebCache.h>
#import <BUFoundation/BU_SDImageCache.h>
#import <BUFoundation/BUZipArchive.h>
#import <BUFoundation/BUGeckoPreloadManager.h>
// ByteFinder
#import <BUFoundation/EBAppLog.h>
#import <BUFoundation/EBAppLogConfig.h>
//#import <BUFoundation/EBAppLog.h>
//#import <BUFoundation/EBAppLogConfig.h>
//#import <BUFoundation/HMDBUToBCrashTrackerRestrict.h>
//#import <BUFoundation/HMDBUToBAddressRange.h>
//#import <BUFoundation/HMDBUToBCrashTracker.h>
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUFoundationAddress.h
@@ -12,9 +12,9 @@
@interface BUFoundationAddress : NSObject
+ (int64_t)begainAddress;
+ (int64_t)bu_begainAddress;
+ (int64_t)endAddress;
+ (int64_t)bu_endAddress;
@end
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUGeckoPreloadManager.h
New file
@@ -0,0 +1,42 @@
//
//  BUGeckoPreloadManager.h
//  BUAdSDK
//
//  Created by wangyanlin on 2020/6/29.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef void (^BUPreloadCompletion)(NSData * _Nullable data,NSDictionary * _Nullable respHeader);
typedef void (^BUPreloadTrackBlock)(NSObject *model,NSString *label,NSDictionary *parameter);
@interface BUGeckoPreloadManager : NSObject
@property (nonatomic, strong) NSMapTable *mapTable;
@property (nonatomic, strong) NSMutableDictionary *geckoDict;
@property (nonatomic, copy) BUPreloadTrackBlock trackBlock;
+ (instancetype)sharedInstance;
+ (void)setupSDKWithTerritory:(NSString *)territory
                     IESGeckoKitAppId:(NSString *)IESGeckoKitAppId
          IESGeckoKit_CACHE_DIRECTORY:(NSString *)IESGeckoKit_CACHE_DIRECTORY
                 IESGeckoKitAccessKey:(NSString *)IESGeckoKitAccessKey
                  IESGeckoKit_Domains:(NSArray *)IESGeckoKit_Domains
                             ZipBlock:(id)zipBlock;
//1.本地zip åŒ…已经被删除了,自动去下载
//2.如果zip需要更新,会自动更新
//3.本地有zip, å¹¶ä¸”不需要更新. ä¸åšå¤„理
+ (void)syncResourcesParamsWithChannel:(NSArray <id>*)materialArray hosts:(NSArray *)hosts;
+ (void)asyncGetDataWithInfo:(NSDictionary *)info completion:(BUPreloadCompletion)completion;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUGeo.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUInfoHelper.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUNetInfoHelper.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BURouter.h
@@ -11,5 +11,5 @@
#import "UIViewController+BUUtilities.h"
@interface BURouter : NSObject
+ (void)pushFromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC;
+ (void)presentFromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC;
@end
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BURuntimeUtil.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUTLocationService.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUUIResponderHelper.h
@@ -29,6 +29,10 @@
// èŽ·å–æŒ‡å®šUIResponder的链下游第一个UINavigationController对象
+ (nullable UINavigationController*)nextNavigationControllerFor:(UIResponder* _Nullable)responder;
/** æŸ¥æ‰¾å½“前显示的ViewController*/
+ (UIViewController *)topViewController;
+ (UIViewController *)recursiveFindCurrentShowViewControllerFromViewController:(UIViewController *)fromVC;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUWKWebView.h
@@ -16,4 +16,6 @@
/// ç™½å±æ£€æµ‹ç™¾åˆ†æ¯”
- (void)bu_detectBlankPercentCompleteBlock:(void(^)(CGFloat bgColorPercent, NSError *error))block;
/// jsbridge ç™½å±æ£€æµ‹ç™¾åˆ†æ¯”
- (void)bu_detectBlankPercentWithImageStr:(NSString *)imageStr completeBlock:(void(^)(CGFloat bgColorPercent, NSError *))block;
@end
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUWebViewApplication.h
@@ -12,8 +12,8 @@
#import "BURexxarEngine.h"
#import "BUWebViewDefine.h"
extern NSString *const kBUBytedanceScheme;
extern NSString *const kBUBytedanceDomReadyHost;
extern NSString *const kBUPangleScheme;
extern NSString *const kBUPangleDomReadyHost;
@interface BUWebViewApplication : NSObject
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUZipArchive.h
New file
@@ -0,0 +1,153 @@
//
//  BUZipArchive.h
//  BUZipArchive
//
//  Created by Sam Soffes on 7/21/10.
//  Copyright (c) Sam Soffes 2010-2015. All rights reserved.
//
#ifndef _BUZipArchive_H
#define _BUZipArchive_H
#import <Foundation/Foundation.h>
#import "BUZipCommon.h"
NS_ASSUME_NONNULL_BEGIN
extern NSString *const BUZipArchiveErrorDomain;
typedef NS_ENUM(NSInteger, BUZipArchiveErrorCode) {
    BUZipArchiveErrorCodeFailedOpenZipFile      = -1,
    BUZipArchiveErrorCodeFailedOpenFileInZip    = -2,
    BUZipArchiveErrorCodeFileInfoNotLoadable    = -3,
    BUZipArchiveErrorCodeFileContentNotReadable = -4,
    BUZipArchiveErrorCodeFailedToWriteFile      = -5,
    BUZipArchiveErrorCodeInvalidArguments       = -6,
};
@protocol BUZipArchiveDelegate;
@interface BUZipArchive : NSObject
// Password check
+ (BOOL)isFilePasswordProtectedAtPath:(NSString *)path;
+ (BOOL)isPasswordValidForArchiveAtPath:(NSString *)path password:(NSString *)pw error:(NSError * _Nullable * _Nullable)error NS_SWIFT_NOTHROW;
// Total payload size
+ (NSNumber *)payloadSizeForArchiveAtPath:(NSString *)path error:(NSError **)error;
// Unzip
+ (BOOL)unzipFileAtPath:(NSString *)path toDestination:(NSString *)destination;
+ (BOOL)unzipFileAtPath:(NSString *)path toDestination:(NSString *)destination delegate:(nullable id<BUZipArchiveDelegate>)delegate;
+ (BOOL)unzipFileAtPath:(NSString *)path
          toDestination:(NSString *)destination
              overwrite:(BOOL)overwrite
               password:(nullable NSString *)password
                  error:(NSError * *)error;
+ (BOOL)unzipFileAtPath:(NSString *)path
          toDestination:(NSString *)destination
              overwrite:(BOOL)overwrite
             needRename:(BOOL)needRename
               password:(nullable NSString *)password
                  error:(NSError * *)error
               delegate:(nullable id<BUZipArchiveDelegate>)delegate NS_REFINED_FOR_SWIFT;
+ (BOOL)unzipFileAtPath:(NSString *)path
          toDestination:(NSString *)destination
     preserveAttributes:(BOOL)preserveAttributes
              overwrite:(BOOL)overwrite
               password:(nullable NSString *)password
                  error:(NSError * *)error
               delegate:(nullable id<BUZipArchiveDelegate>)delegate;
+ (BOOL)unzipFileAtPath:(NSString *)path
          toDestination:(NSString *)destination
        progressHandler:(void (^_Nullable)(NSString *entry, bu_unz_file_info zipInfo, long entryNumber, long total))progressHandler
      completionHandler:(void (^_Nullable)(NSString *path, BOOL succeeded, NSError * _Nullable error))completionHandler;
+ (BOOL)unzipFileAtPath:(NSString *)path
          toDestination:(NSString *)destination
              overwrite:(BOOL)overwrite
               password:(nullable NSString *)password
        progressHandler:(void (^_Nullable)(NSString *entry, bu_unz_file_info zipInfo, long entryNumber, long total))progressHandler
      completionHandler:(void (^_Nullable)(NSString *path, BOOL succeeded, NSError * _Nullable error))completionHandler;
+ (BOOL)unzipFileAtPath:(NSString *)path
          toDestination:(NSString *)destination
     preserveAttributes:(BOOL)preserveAttributes
              overwrite:(BOOL)overwrite
             needRename:(BOOL)needRename
         nestedZipLevel:(NSInteger)nestedZipLevel
               password:(nullable NSString *)password
                  error:(NSError **)error
               delegate:(nullable id<BUZipArchiveDelegate>)delegate
        progressHandler:(void (^_Nullable)(NSString *entry, bu_unz_file_info zipInfo, long entryNumber, long total))progressHandler
      completionHandler:(void (^_Nullable)(NSString *path, BOOL succeeded, NSError * _Nullable error))completionHandler;
// Zip
// default compression level is Z_DEFAULT_COMPRESSION (from "zlib.h")
// keepParentDirectory: if YES, then unzipping will give `directoryName/fileName`. If NO, then unzipping will just give `fileName`. Default is NO.
// without password
+ (BOOL)createZipFileAtPath:(NSString *)path withFilesAtPaths:(NSArray<NSString *> *)paths;
+ (BOOL)createZipFileAtPath:(NSString *)path withContentsOfDirectory:(NSString *)directoryPath;
+ (BOOL)createZipFileAtPath:(NSString *)path withContentsOfDirectory:(NSString *)directoryPath keepParentDirectory:(BOOL)keepParentDirectory;
// with optional password, default encryption is AES
// don't use AES if you need compatibility with native macOS unzip and Archive Utility
+ (BOOL)createZipFileAtPath:(NSString *)path withFilesAtPaths:(NSArray<NSString *> *)paths withPassword:(nullable NSString *)password;
+ (BOOL)createZipFileAtPath:(NSString *)path withContentsOfDirectory:(NSString *)directoryPath withPassword:(nullable NSString *)password;
+ (BOOL)createZipFileAtPath:(NSString *)path withContentsOfDirectory:(NSString *)directoryPath keepParentDirectory:(BOOL)keepParentDirectory withPassword:(nullable NSString *)password;
+ (BOOL)createZipFileAtPath:(NSString *)path
    withContentsOfDirectory:(NSString *)directoryPath
        keepParentDirectory:(BOOL)keepParentDirectory
               withPassword:(nullable NSString *)password
         andProgressHandler:(void(^ _Nullable)(NSUInteger entryNumber, NSUInteger total))progressHandler;
+ (BOOL)createZipFileAtPath:(NSString *)path
    withContentsOfDirectory:(NSString *)directoryPath
        keepParentDirectory:(BOOL)keepParentDirectory
           compressionLevel:(int)compressionLevel
                   password:(nullable NSString *)password
                        AES:(BOOL)aes
            progressHandler:(void(^ _Nullable)(NSUInteger entryNumber, NSUInteger total))progressHandler;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithPath:(NSString *)path NS_DESIGNATED_INITIALIZER;
- (BOOL)open;
/// write empty folder
- (BOOL)writeFolderAtPath:(NSString *)path withFolderName:(NSString *)folderName withPassword:(nullable NSString *)password;
/// write file
- (BOOL)writeFile:(NSString *)path withPassword:(nullable NSString *)password;
- (BOOL)writeFileAtPath:(NSString *)path withFileName:(nullable NSString *)fileName withPassword:(nullable NSString *)password;
- (BOOL)writeFileAtPath:(NSString *)path withFileName:(nullable NSString *)fileName compressionLevel:(int)compressionLevel password:(nullable NSString *)password AES:(BOOL)aes;
/// write data
- (BOOL)writeData:(NSData *)data filename:(nullable NSString *)filename withPassword:(nullable NSString *)password;
- (BOOL)writeData:(NSData *)data filename:(nullable NSString *)filename compressionLevel:(int)compressionLevel password:(nullable NSString *)password AES:(BOOL)aes;
- (BOOL)close;
@end
@protocol BUZipArchiveDelegate <NSObject>
@optional
- (void)zipArchiveWillUnzipArchiveAtPath:(NSString *)path zipInfo:(bu_unz_global_info)zipInfo;
- (void)zipArchiveDidUnzipArchiveAtPath:(NSString *)path zipInfo:(bu_unz_global_info)zipInfo unzippedPath:(NSString *)unzippedPath;
- (BOOL)zipArchiveShouldUnzipFileAtIndex:(NSInteger)fileIndex totalFiles:(NSInteger)totalFiles archivePath:(NSString *)archivePath fileInfo:(bu_unz_file_info)fileInfo;
- (void)zipArchiveWillUnzipFileAtIndex:(NSInteger)fileIndex totalFiles:(NSInteger)totalFiles archivePath:(NSString *)archivePath fileInfo:(bu_unz_file_info)fileInfo;
- (void)zipArchiveDidUnzipFileAtIndex:(NSInteger)fileIndex totalFiles:(NSInteger)totalFiles archivePath:(NSString *)archivePath fileInfo:(bu_unz_file_info)fileInfo;
- (void)zipArchiveDidUnzipFileAtIndex:(NSInteger)fileIndex totalFiles:(NSInteger)totalFiles archivePath:(NSString *)archivePath unzippedFilePath:(NSString *)unzippedFilePath;
- (void)zipArchiveProgressEvent:(unsigned long long)loaded total:(unsigned long long)total;
@end
NS_ASSUME_NONNULL_END
#endif /* _BUZipArchive_H */
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BUZipCommon.h
New file
@@ -0,0 +1,68 @@
#ifndef BUZipCommon
#define BUZipCommon
// typedefs moved from mz_compat.h to here for public access
/* unz_global_info structure contain global data about the ZIPfile
 These data comes from the end of central dir */
typedef struct bu_unz_global_info64_s
{
    uint64_t number_entry;          /* total number of entries in the central dir on this disk */
    uint32_t number_disk_with_CD;   /* number the the disk with central dir, used for spanning ZIP */
    uint16_t size_comment;          /* size of the global comment of the zipfile */
} bu_unz_global_info64;
typedef struct bu_unz_global_info_s
{
    uint32_t number_entry;          /* total number of entries in the central dir on this disk */
    uint32_t number_disk_with_CD;   /* number the the disk with central dir, used for spanning ZIP */
    uint16_t size_comment;          /* size of the global comment of the zipfile */
} bu_unz_global_info;
/* unz_file_info contain information about a file in the zipfile */
/* https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT */
typedef struct bu_unz_file_info64_s
{
    uint16_t version;               /* version made by                 2 bytes */
    uint16_t version_needed;        /* version needed to extract       2 bytes */
    uint16_t flag;                  /* general purpose bit flag        2 bytes */
    uint16_t compression_method;    /* compression method              2 bytes */
    uint32_t dos_date;              /* last mod file date in Dos fmt   4 bytes */
    uint32_t crc;                   /* crc-32                          4 bytes */
    uint64_t compressed_size;       /* compressed size                 8 bytes */
    uint64_t uncompressed_size;     /* uncompressed size               8 bytes */
    uint16_t size_filename;         /* filename length                 2 bytes */
    uint16_t size_file_extra;       /* extra field length              2 bytes */
    uint16_t size_file_comment;     /* file comment length             2 bytes */
    uint32_t disk_num_start;        /* disk number start               4 bytes */
    uint16_t internal_fa;           /* internal file attributes        2 bytes */
    uint32_t external_fa;           /* external file attributes        4 bytes */
    uint64_t disk_offset;
    uint16_t size_file_extra_internal;
} bu_unz_file_info64;
typedef struct bu_unz_file_info_s
{
    uint16_t version;               /* version made by                 2 bytes */
    uint16_t version_needed;        /* version needed to extract       2 bytes */
    uint16_t flag;                  /* general purpose bit flag        2 bytes */
    uint16_t compression_method;    /* compression method              2 bytes */
    uint32_t dos_date;              /* last mod file date in Dos fmt   4 bytes */
    uint32_t crc;                   /* crc-32                          4 bytes */
    uint32_t compressed_size;       /* compressed size                 4 bytes */
    uint32_t uncompressed_size;     /* uncompressed size               4 bytes */
    uint16_t size_filename;         /* filename length                 2 bytes */
    uint16_t size_file_extra;       /* extra field length              2 bytes */
    uint16_t size_file_comment;     /* file comment length             2 bytes */
    uint16_t disk_num_start;        /* disk number start               2 bytes */
    uint16_t internal_fa;           /* internal file attributes        2 bytes */
    uint32_t external_fa;           /* external file attributes        4 bytes */
    uint64_t disk_offset;
} bu_unz_file_info;
#endif
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/BU_SDDiskCache.h
@@ -110,16 +110,4 @@
- (nonnull instancetype)init NS_UNAVAILABLE;
/**
 Move the cache directory from old location to new location, the old location will be removed after finish.
 If the old location does not exist, does nothing.
 If the new location does not exist, only do a movement of directory.
 If the new location does exist, will move and merge the files from old location.
 If the new location does exist, but is not a directory, will remove it and do a movement of directory.
 @param srcPath old location of cache directory
 @param dstPath new location of cache directory
 */
- (void)moveCacheDirectoryFromPath:(nonnull NSString *)srcPath toPath:(nonnull NSString *)dstPath;
@end
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/EBAppLog.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/EBAppLogConfig.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/EBAppLogDelegateProtocol.h
File was deleted
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSDictionary+BUUtilities.h
@@ -18,9 +18,13 @@
#pragma mark - Safe Value Type From Key
- (NSString *)bu_stringForKey:(NSString *)key defaultValue:(NSString *)defalutValue;
- (NSInteger)bu_integerForKey:(NSString *)key defaultValue:(NSInteger)defalutValue;
- (long)bu_longForKey:(NSString *)key defaultValue:(long)defalutValue;
- (long long)bu_longLongForKey:(NSString *)key defaultValue:(long long)defalutValue;
- (NSTimeInterval)bu_timeIntervalForKey:(NSString *)key defaultValue:(NSTimeInterval)defalutValue;
- (NSTimeInterval)bu_floatForKey:(NSString *)key defaultValue:(float)defalutValue;
- (NSArray *)bu_arrayForKey:(NSString *)key defaultValue:(NSArray *)defalutValue;
- (NSDictionary *)bu_dictionaryForKey:(NSString *)key defaultValue:(NSDictionary *)defalutValue;
@end
@interface NSDictionary(BU_JSONValue)
@@ -29,3 +33,11 @@
+ (id)bu_dictionaryWithJSONData:(NSData *)inData error:(NSError **)outError;
+ (id)bu_dictionaryWithJSONString:(NSString *)inJSON error:(NSError **)outError;
@end
@interface NSMutableDictionary (BU_Helper)
#pragma mark - Safe Set Object For Key
- (void)bu_setObject:(id)object forKey:(id<NSCopying>)key;
@end
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSJSONSerialization+BUSafeSerializaiton.h
New file
@@ -0,0 +1,18 @@
//
//  NSJSONSerialization+BUSafeSerializaiton.h
//  BUFoundation
//
//  Created by bytedance on 2020/10/10.
//  Copyright Â© 2020 Union. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSJSONSerialization (BUSafeSerializaiton)
+ (nonnull NSString *)bu_stringJsonSerializationWithObject:(nullable id)object options:(NSJSONWritingOptions)opt error:(NSError **)error;
+ (nullable NSData *)bu_dataJsonSerializationWithObject:(nullable id)object options:(NSJSONWritingOptions)opt error:(NSError **)error;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSObject+BUUtils.h
New file
@@ -0,0 +1,19 @@
//
//  NSObject+BUUtils.h
//  BUFoundation
//
//  Created by wangyanlin on 2020/12/7.
//  Copyright Â© 2020 Union. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSObject (BUUtils)
+ (NSString *)bu_convertToStringWithOrignalObj:(id)obj;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/NSUserDefaults+BUCrypt.h
New file
@@ -0,0 +1,30 @@
//
//  NSUserDefaults+BUCrypt.h
//  BUFoundation
//
//  Created by Willie on 2020/9/11.
//  Copyright Â© 2020 bytedance. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSUserDefaults (BUCrypt)
- (void)setValue:(nullable id)value
          forKey:(NSString *)key
           crypt:(BOOL)crypt
           error:(NSError **)error;
- (nullable NSDictionary<NSString *, id> *)dictionaryForKey:(NSString *)defaultName
                                                      crypt:(BOOL)crypt
                                                      error:(NSError **)error;
- (void)removeObjectForKey:(NSString *)defaultName
                     crypt:(BOOL)crypt
                     error:(NSError **)error;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/UIImage+BUIcon.h
@@ -33,6 +33,8 @@
extern NSString *const kBU_logoAd_oversea;
extern NSString *const kBU_GDPRBack;
extern NSString *const kBU_playableLoading;
extern NSString *const kBU_splashZoomOutClose;
extern NSString *const kBU_playableLoading_oversea;
@interface UIImage (BU_Icon)
// å¼‚步获取image ä¸é˜»å¡žä¸»çº¿ç¨‹
BuWanVideo2.0/CSJ/BUFoundation.framework/Headers/UIView+BUAdditions.h
@@ -8,6 +8,8 @@
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface UIView (BU_Additions)
- (UIImage *)bu_captureView;
@@ -22,12 +24,21 @@
    UIViewBorderOptionAll
} UIViewBorderOption;
typedef struct {
  CGFloat topLeft;
  CGFloat topRight;
  CGFloat bottomLeft;
  CGFloat bottomRight;
} BUFCornerRadii;
@interface UIView (BU_Border)
- (void)bu_setBorder:(UIViewBorderOption)option width:(CGFloat)width color:(UIColor *)color;
- (void)bu_setDashBorder:(UIViewBorderOption)option width:(CGFloat)width color:(UIColor *)color;
- (void)bu_roundCornerWithDashBorder:(CGFloat)radius width:(CGFloat)widht color:(UIColor *)color;
- (void)bu_updateClippingForLayer:(CALayer *)layer cornerRadii:(BUFCornerRadii)cornerRadii maxRadius:(CGFloat)maxRadius;
@end
@@ -36,8 +47,8 @@
@property (nonatomic) float bu_y;
@property (nonatomic) float bu_width;
@property (nonatomic) float bu_height;
@property (nonatomic, getter = bu_y,setter = setBu_y:) float top;
@property (nonatomic, getter = bu_x,setter = setBu_x:) float left;
@property (nonatomic, getter = bu_y,setter = setBu_y:) float bu_top;    // å¢žåŠ bu前缀,防止与外部开发者的分类属性名冲突:https://jira.bytedance.com/browse/UNION-4447 fixed in 3300 by chaors
@property (nonatomic, getter = bu_x,setter = setBu_x:) float bu_left;
@property (nonatomic) float bu_bottom;
@property (nonatomic) float bu_right;
@property (nonatomic) CGSize bu_size;
@@ -50,17 +61,6 @@
@end
@interface UIView(BU_ScreenShot)
+ (UIImage *)bu_screenShot;
+ (UIImage *)bu_screenShotWithoutStatusBar;
- (UIImage *)bu_screenShot;
@end
@interface UIView (BU_TKCategory)
// DRAW GRADIENT
@@ -71,8 +71,8 @@
// DRAW LINE
+ (void)bu_drawLineInRect:(CGRect)rect red:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
+ (void)bu_drawLineInRect:(CGRect)rect colors:(CGFloat[])colors;
+ (void)bu_drawLineInRect:(CGRect)rect colors:(CGFloat[])colors width:(CGFloat)lineWidth cap:(CGLineCap)cap;
+ (void)bu_drawLineInRect:(CGRect)rect colors:(CGFloat[_Nullable])colors;
+ (void)bu_drawLineInRect:(CGRect)rect colors:(CGFloat[_Nullable])colors width:(CGFloat)lineWidth cap:(CGLineCap)cap;
@end
@@ -81,6 +81,10 @@
- (UILongPressGestureRecognizer *)bu_addLogPressGestureWithTarget:(id)target selecter:(SEL)aSelector;
@property (nonatomic, strong, nullable) UITapGestureRecognizer *bu_tgr;
// ä¼šç§»é™¤æ—§çš„æ‰‹åŠ¿
- (void)bu_addGestureRecognizerWithTarget:(id)target action:(SEL)action;
- (void)bu_removeGestureRecognizer;
@end
@interface UIView (BU_FindFirstResponder)
@@ -95,6 +99,10 @@
@interface UIView (BU_NearestController)
- (UIViewController *)bu_findNearestController;
@end
@interface UIView (BU_SafeArea)
@@ -103,3 +111,4 @@
+ (UIEdgeInsets)bu_defaultAreaInsets;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/CSJ/BUFoundation.framework/HeimdallrInfo.plist
Binary files differ
BuWanVideo2.0/CSJ/BUFoundation.framework/Info.plist
Binary files differ
BuWanVideo2.0/CollectionController.m
@@ -524,7 +524,8 @@
        }else{
            //收藏的视频
            NSDictionary *dic = _videoData[indexPath.row];
            XYRDetailViewController *play=[[XYRDetailViewController alloc] init];
            XYRDetailViewController *play = [[XYRDetailViewController alloc] init];
            [YTHsharedManger startManger].preController = self;
            play.modalPresentationStyle = 0;
            play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
            [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/FuLiSheViewController.m
@@ -224,6 +224,7 @@
#pragma mark -UICollectionViewDataSource
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
    XYRDetailViewController *play=[[XYRDetailViewController alloc] init];
    [YTHsharedManger startManger].preController = self;
    play.modalPresentationStyle = 0;
    play.Model = [XYRVideoInfoModel yy_modelWithDictionary:_arrDate[indexPath.row]];
    [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/IndividualStarController.m
@@ -199,6 +199,7 @@
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSDictionary * dic = movelist[indexPath.row];
    XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
    [YTHsharedManger startManger].preController = self;
    play.modalPresentationStyle = 0;
    play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
    [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/Info.plist
@@ -4,6 +4,8 @@
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>同意布丸影视大全使用地理信息吗?</string>
    <key>CFBundleDisplayName</key>
    <string>影视大全</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
@@ -143,8 +145,6 @@
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
BuWanVideo2.0/LookNoteController.m
@@ -310,7 +310,8 @@
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if (mytableview.editing == NO) {
        [tableView deselectRowAtIndexPath:indexPath animated:YES];
        XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
        XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
        [YTHsharedManger startManger].preController = self;
        NSDictionary *dic = historyListDataArray[indexPath.row];
        play.modalPresentationStyle = 0;
        play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
BuWanVideo2.0/MainViewController.m
@@ -284,7 +284,8 @@
    if([[dic objectForKey:@"PushType"] isEqualToString:@"pushVideoUpdateByAccount"]){//跳转到详细界面
        NSString *userInfo=[dic objectForKey:@"Params"];
        NSDictionary *Params = [self dictionaryWithJsonString:userInfo];
        XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
        XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
        [YTHsharedManger startManger].preController = self;
        play.modalPresentationStyle = 0;
        play.Model = [XYRVideoInfoModel yy_modelWithDictionary:Params];
        [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/MyRegardController.m
@@ -210,7 +210,8 @@
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(nonnull NSIndexPath *)indexPath{
    NSDictionary * dic = [ListDataArray[indexPath.section] objectForKey:@"VideoInfo"];
    NSLog(@"%ld",(long)indexPath.section);
    XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
    XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
    [YTHsharedManger startManger].preController = self;
    play.modalPresentationStyle = 0;
    play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
    [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/OnlySpecialController.m
@@ -179,6 +179,7 @@
    if(indexPath.section ==2){
        NSDictionary * dic = dataarr[indexPath.row];
        XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
        [YTHsharedManger startManger].preController = self;
        play.modalPresentationStyle = 0;
        play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
        [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/PPTVController.h
New file
@@ -0,0 +1,19 @@
//
//  PPTVController.h
//  BuWanVideo2.0
//
//  Created by Aeline on 2021/2/27.
//  Copyright Â© 2021 com.yeshi.buwansheque.ios. All rights reserved.
//
#import "BaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface PPTVController : UIViewController
@property (nonatomic, nullable, strong) NSDictionary *parms;
@end
NS_ASSUME_NONNULL_END
BuWanVideo2.0/PPTVController.m
New file
@@ -0,0 +1,158 @@
//
//  PPTVController.m
//  BuWanVideo2.0
//
//  Created by Aeline on 2021/2/27.
//  Copyright Â© 2021 com.yeshi.buwansheque.ios. All rights reserved.
//
#import "PPTVController.h"
#import <WebKit/WebKit.h>
@interface PPTVController () <WKNavigationDelegate, WKUIDelegate>
@property (nonatomic, nullable, strong) WKWebView *webView;
@end
@implementation PPTVController
- (void)viewDidLoad {
    [super viewDidLoad];
    [self loadViewConfig];
}
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}
- (void)loadViewConfig {
    [self.view addSubview:self.webView];
    NSString *url = self.parms[@"playUrl"];
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
    [self.webView loadRequest:request];
    UIButton *backbutton = [UIButton buttonWithType:UIButtonTypeCustom];
    [backbutton setImage:[UIImage imageNamed:@"详情页面返回"] forState:UIControlStateNormal];
    [self.view addSubview:backbutton];
    backbutton.frame = CGRectMake(10, KIsiPhoneX?85:65, 40, 30);
    [backbutton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenW, [[UIApplication sharedApplication] statusBarFrame].size.height+1)];
    view.backgroundColor = [UIColor blackColor];
    [self.view addSubview:view];
    if (@available(iOS 13, *)) {
    } else {
        //将要进入全屏
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startFullScreen) name:UIWindowDidResignKeyNotification object:nil];
        //退出全屏
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(endFullScreen) name:UIWindowDidBecomeHiddenNotification object:nil];
    }
}
-(void)startFullScreen {
    //[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    UIApplication *application = [UIApplication sharedApplication];
    [application setStatusBarOrientation: UIInterfaceOrientationLandscapeRight];
    application.keyWindow.transform=CGAffineTransformMakeRotation(M_PI/2);
    CGRect frame = [UIScreen mainScreen].applicationFrame;
    application.keyWindow.bounds = CGRectMake(0, 0, frame.size.height + 20, frame.size.width);
}
-(void)endFullScreen {
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    UIApplication *application = [UIApplication sharedApplication];
    [application setStatusBarOrientation: UIInterfaceOrientationLandscapeRight];
    CGRect frame = [UIScreen mainScreen].applicationFrame;
    application.keyWindow.bounds = CGRectMake(0, 0, frame.size.width, frame.size.height + 20);
    [UIView animateWithDuration:0 animations:^{
        application.keyWindow.transform=CGAffineTransformMakeRotation(M_PI * 2);
    }];
}
- (void)back {
    [self.navigationController popViewControllerAnimated:YES];
}
// é¡µé¢å¼€å§‹åŠ è½½æ—¶è°ƒç”¨
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation {
}
// é¡µé¢åŠ è½½å¤±è´¥æ—¶è°ƒç”¨
- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error {
}
// å½“内容开始返回时调用
- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation {
    [self performSelector:@selector(afterDelay) withObject:nil afterDelay:0.5];
}
- (void)afterDelay {
    [self.webView evaluateJavaScript:@"javascript:adPlayFinish()" completionHandler:^(id _Nullable object, NSError * _Nullable error) {}];
}
- (WKWebView *)webView
{
    if (!_webView) {
        // 0.网页配置对象
        WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
        // 1.原生与JS交互管理
        WKUserContentController *userContentController = [[WKUserContentController alloc] init];
        /// è§£å†³å¾ªçŽ¯å¼•ç”¨
        // 0.在viewdisAppear方法中
        //        [self.wkWebview.configuration.userContentController removeScriptMessageHandlerForName:@"ScanAction"];
        //        [userContentController addScriptMessageHandler:self name:@"ScanAction"];
        // 1.继承系统的NSProxy
        //        [userContentController addScriptMessageHandler:(id<WKScriptMessageHandler>)[XPZ_Proxy proxyWithTarget:self] name:@"ScanAction"];
        // 2.自定义NSProxy
        //        [userContentController addScriptMessageHandler:(id<WKScriptMessageHandler>)[XPZ_CustomProxy proxyWithTarget:self] name:@"ScanAction"];
        // æ·»åŠ 
        config.userContentController = userContentController;
        // 3.WKWebview设置
        WKPreferences *prefer = [[WKPreferences alloc] init];
        //设置是否支持javaScript é»˜è®¤æ˜¯æ”¯æŒçš„
        prefer.javaScriptEnabled = true;
        // // åœ¨iOS上默认为NO,表示是否允许不经过用户交互由javaScript自动打开窗口
        prefer.javaScriptCanOpenWindowsAutomatically = YES;
        // æ·»åŠ 
        config.preferences = prefer;
        config.preferences.minimumFontSize = 0.0f;
        // æ˜¯ä½¿ç”¨h5的视频播放器在线播放, è¿˜æ˜¯ä½¿ç”¨åŽŸç”Ÿæ’­æ”¾å™¨å…¨å±æ’­æ”¾
        config.allowsInlineMediaPlayback = YES;
        //设置视频是否需要用户手动播放  è®¾ç½®ä¸ºNO则会允许自动播放
        config.mediaTypesRequiringUserActionForPlayback = YES;
        //设置是否允许画中画技术 åœ¨ç‰¹å®šè®¾å¤‡ä¸Šæœ‰æ•ˆ
        config.allowsPictureInPictureMediaPlayback = YES;
        //设置请求的User-Agent信息中应用程序名称 iOS9后可用
        config.applicationNameForUserAgent = @"ChinaDailyForiPad";
        _webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, KScreenW, KScreenH) configuration:config];
        _webView.UIDelegate = self;
        _webView.navigationDelegate = self;
        // æ˜¯å¦å…è®¸æ‰‹åŠ¿å·¦æ»‘è¿”å›žä¸Šä¸€çº§, ç±»ä¼¼å¯¼èˆªæŽ§åˆ¶çš„左滑返回
        _webView.allowsBackForwardNavigationGestures = YES;
        //可返回的页面列表, å­˜å‚¨å·²æ‰“开过的网页
        WKBackForwardList * backForwardList = [_webView backForwardList];
    }
    return _webView;
}
@end
BuWanVideo2.0/SubregionDetailViewController.m
@@ -592,6 +592,7 @@
    NSString *str=[NSString stringWithFormat:@"ValueX%@Y%ldZ%ld",_Species,(long)SpeciesNumber,(long)typeNumber];
    NSMutableArray *dataAry=[_dataDic objectForKey:str];
    XYRDetailViewController *detailVC=[[XYRDetailViewController alloc] init];
    [YTHsharedManger startManger].preController = self;
    detailVC.modalPresentationStyle = 0;
    if(LoadGoogleAD){//加载广告
        detailVC.Model=[XYRVideoInfoModel yy_modelWithDictionary:dataAry[indexPath.row-indexPath.row/20]];
@@ -796,6 +797,7 @@
        return;
    }
    XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
    [YTHsharedManger startManger].preController = self;
    play.modalPresentationStyle = 0;
    play.Model = [XYRVideoInfoModel yy_modelWithDictionary:_hotListData[indexPath.row]];
    [self presentViewController:play animated:YES completion:^{
BuWanVideo2.0/XYRDetailViewController.h
@@ -15,6 +15,7 @@
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *topLayout;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *backLayout;
@property (nonatomic , strong) UIViewController *viewController;
//优酷的两个属性
@property (nonatomic, assign) BOOL islocal;
@property (nonatomic, retain) id videoItem;
BuWanVideo2.0/XYRDetailViewController.m
@@ -9,6 +9,7 @@
#import "AppDelegate.h"
#import "XYRDetailViewController.h"
#import "PPTVController.h"
#import "XYRVideoDetailModel.h"
#import "UIImageView+WebCache.h"
@@ -173,10 +174,6 @@
    [self addTitleBackView];
    //加载视频详情页面的数据
    [self getVideoDetailViewWithMovieId:self.Model.Id WithThirdType:self.Model.ThirdType WithResourceId:nil];
    if ([YTHsharedManger startManger].ad[@"videoDetailFullVideo"] && [[YTHsharedManger startManger].ad[@"videoDetailFullVideo"] isEqualToString:@"csj"]) {
        [self loadFullscreenVideoAd];
    }
}
- (void)loadFullscreenVideoAd {
@@ -1291,6 +1288,31 @@
    return UIInterfaceOrientationPortrait;
}
- (UIViewController *)fetchCurrentViewController {
    UIViewController* currentViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
    BOOL runLoopFind = YES;
    while (runLoopFind) {
        if (currentViewController.presentedViewController) {
            currentViewController = currentViewController.presentedViewController;
        } else if ([currentViewController isKindOfClass:[UINavigationController class]]) {
            UINavigationController* navigationController = (UINavigationController* )currentViewController;
            currentViewController = [navigationController.childViewControllers lastObject];
        } else if ([currentViewController isKindOfClass:[UITabBarController class]]) {
            UITabBarController* tabBarController = (UITabBarController* )currentViewController;
            currentViewController = tabBarController.selectedViewController;
        } else {
            NSUInteger childViewControllerCount = currentViewController.childViewControllers.count;
            if (childViewControllerCount > 0) {
                currentViewController = currentViewController.childViewControllers.lastObject;
                return currentViewController;
            } else {
                return currentViewController;
            }
        }
    }
    return currentViewController;
}
/***********(以下)数据网路加载**************/
/**
 *  èŽ·å–è§†é¢‘çš„è¯¦ç»†ä¿¡æ¯å¹¶åŠ è½½
@@ -1309,7 +1331,23 @@
            //瀑布流滑动到顶部
            [self.collectionView setContentOffset:CGPointMake(0, 0) animated:YES];
            NSDictionary *dictionaryDta = (NSDictionary *)result;
            _DetailModel=[XYRVideoDetailModel yy_modelWithDictionary:dictionaryDta];
            if ([dictionaryDta[@"Data"][@"pptv"] boolValue]) {
                [SVProgressHUD dismiss];
                // æ‹¦æˆªè·³è½¬ç•Œé¢
                PPTVController *vc = [[PPTVController alloc] init];
                vc.parms = dictionaryDta[@"Data"];
                vc.hidesBottomBarWhenPushed = YES;
                [[YTHsharedManger startManger].preController.navigationController pushViewController:vc animated:YES];
                [self dismissViewControllerAnimated:NO completion:^{}];
                return;
            }
            if ([YTHsharedManger startManger].ad[@"videoDetailFullVideo"] && [[YTHsharedManger startManger].ad[@"videoDetailFullVideo"] isEqualToString:@"csj"]) {
                [self loadFullscreenVideoAd];
            }
            _DetailModel = [XYRVideoDetailModel yy_modelWithDictionary:dictionaryDta];
            //更新详情页的视频图片
            [self.image setYthImageWithURL:_DetailModel.Data.PlayPicture placeholderImage:[UIImage imageNamed:@"默认加载图片"]];
            //在这里判断主演和主要内容是否为空,如果同时为空,就隐藏简介
@@ -2464,6 +2502,8 @@
//    }];
//}
- (void)dealloc {
    
    
BuWanVideo2.0/YTHNetInterface.h
@@ -12,10 +12,10 @@
#import "AFHTTPSessionManager.h"
//所有接口的域名
#define iconImageUrl @"http://bwapp.flqapp.com:8089/BuWan" //头像的请求地址,外网
#define iconImageUrl @"http://api.ysdq.yeshitv.com:8089/BuWan" //头像的请求地址,外网
//#define iconImageUrl @"http://192.168.1.66:8888/BuWan" //头像的请求地址,外网
#define domainHTTP @"http://bwapp.flqapp.com:8089/BuWan/api/v2" //2016-6-23新外网接口
#define domainHTTP @"http://api.ysdq.yeshitv.com:8089/BuWan/api/v2" //2016-6-23新外网接口
//#define domainHTTP @"http://192.168.1.66:8888/BuWan/api/v2" //2016-6-23新外网接口
BuWanVideo2.0/YTHsharedManger.h
@@ -20,6 +20,8 @@
 */
@property (nonatomic , assign) NSInteger NetworkStatus;
@property (nonatomic , strong) NSString *searchTitle;
@property (nonatomic , strong) UIViewController *preController;
/// é¦–页广告位配置
@property (nonatomic , strong) NSDictionary *ad;
BuWanVideo2.0/attentionView.m
@@ -255,6 +255,7 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
    [YTHsharedManger startManger].preController = self;
    play.modalPresentationStyle = 0;
    NSDictionary *dic = [information[indexPath.section]objectForKey:@"VideoInfo"];
    play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
BuWanVideo2.0/recommendView.m
@@ -1194,7 +1194,8 @@
                }else{
                    if ([_type_id integerValue] == 309 || [_type_id integerValue] == 310) {
                        NSArray *HomeVideoList=[self.dataHomeType[indexPath.section-1] objectForKey:@"HomeVideoList"];
                        XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
                        XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
                        [YTHsharedManger startManger].preController = [self viewController];
                        play.modalPresentationStyle = 0;
                        play.Model = [XYRVideoInfoModel yy_modelWithDictionary:[HomeVideoList[indexPath.row] objectForKey:@"Video"]];
                        [[self viewController] presentViewController:play animated:YES completion:^{
@@ -1203,7 +1204,8 @@
                        
                    } else {
                        NSDictionary *HomeVideoList=self.dataHomeType[indexPath.row];
                        XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
                        XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
                        [YTHsharedManger startManger].preController = [self viewController];
                        play.modalPresentationStyle = 0;
                        play.Model = [XYRVideoInfoModel yy_modelWithDictionary:HomeVideoList];
                        [[self viewController] presentViewController:play animated:YES completion:^{
@@ -1217,6 +1219,7 @@
            if ([_type_id integerValue] == 309 || [_type_id integerValue] == 310) {
                NSArray *HomeVideoList=[self.dataHomeType[indexPath.section-1] objectForKey:@"HomeVideoList"];
                XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
                [YTHsharedManger startManger].preController = [self viewController];
                play.modalPresentationStyle = 0;
                play.Model = [XYRVideoInfoModel yy_modelWithDictionary:[HomeVideoList[indexPath.row] objectForKey:@"Video"]];
                [[self viewController] presentViewController:play animated:YES completion:^{
@@ -1224,7 +1227,8 @@
                
            } else {
                NSDictionary *HomeVideoList=self.dataHomeType[indexPath.row] ;
                XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
                XYRDetailViewController *play = [[XYRDetailViewController alloc]init];
                [YTHsharedManger startManger].preController = [self viewController];
                play.modalPresentationStyle = 0;
                play.Model = [XYRVideoInfoModel yy_modelWithDictionary:HomeVideoList];
                [[self viewController] presentViewController:play animated:YES completion:^{
@@ -1265,6 +1269,7 @@
    NSInteger LinkType = [[self.dataAdverti[index] objectForKey:@"LinkType"] integerValue];
    if (LinkType == 1) {//普通视频跳转
        XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
        [YTHsharedManger startManger].preController = [self viewController];
        NSString *video = @"";
        if ([_type_id integerValue] == 309 || [_type_id integerValue] == 310) {
            video = @"Video";
BuWanVideo2.0/searchDetailViewController.m
@@ -400,6 +400,7 @@
- (void)playVideo:(XYRVideoInfoModel *)model {
    XYRDetailViewController *detailVC=[[XYRDetailViewController alloc] init];
    [YTHsharedManger startManger].preController = self;
    detailVC.modalPresentationStyle = 0;
    detailVC.Model = model;
    [self presentViewController:detailVC animated:YES completion:^{}];
@@ -555,6 +556,7 @@
            return;
        }
        XYRDetailViewController *detailVC=[[XYRDetailViewController alloc] init];
        [YTHsharedManger startManger].preController = self;
        detailVC.modalPresentationStyle = 0;
        detailVC.Model = model;
        [self presentViewController:detailVC animated:YES completion:^{}];
BuWanVideo2.0/²ÂÄãϲ»¶/GuessLikeViewController.m
@@ -201,6 +201,7 @@
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    XYRDetailViewController *play=[[XYRDetailViewController alloc]init];
    [YTHsharedManger startManger].preController = self;
    play.modalPresentationStyle = 0;
    play.Model = [XYRVideoInfoModel yy_modelWithDictionary:self.dataSource[indexPath.section] ];
    [self presentViewController:play animated:YES completion:nil];