Commit db33d4e6 authored by Han Ruisong's avatar Han Ruisong
Browse files

升级到 4.0.2

1.修复了课堂练习显示有问题的bug。
parent 17b2699d
......@@ -205,6 +205,9 @@
04DF5D4B2265D6540060B43B /* icon_radio_bg@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04DF5D492265D6540060B43B /* icon_radio_bg@3x.png */; };
04E332BB226EA81F0091AC52 /* icon_ad_close@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04E332B9226EA81E0091AC52 /* icon_ad_close@2x.png */; };
04E332BC226EA81F0091AC52 /* icon_ad_close@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04E332BA226EA81F0091AC52 /* icon_ad_close@3x.png */; };
04E5D1ED22CC4DD800F91B50 /* vrlibraw.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 04E5D1D822CC4DD800F91B50 /* vrlibraw.bundle */; };
04E5D1EE22CC4DD800F91B50 /* libCCSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04E5D1E222CC4DD800F91B50 /* libCCSDK.a */; };
04E5D1EF22CC4DD800F91B50 /* resource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 04E5D1E922CC4DD800F91B50 /* resource.bundle */; };
04EB65BF226D679F00FAB532 /* DWSettingFuncButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 04EB65BE226D679F00FAB532 /* DWSettingFuncButton.m */; };
04EB65C8226D6A6000FAB532 /* icon_setting_video@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04EB65C0226D6A5F00FAB532 /* icon_setting_video@3x.png */; };
04EB65C9226D6A6000FAB532 /* icon_setting_network@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04EB65C1226D6A5F00FAB532 /* icon_setting_network@3x.png */; };
......@@ -229,9 +232,6 @@
04F0B79F22602D8F0097C3CB /* icon_return_black@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04F0B79D22602D8F0097C3CB /* icon_return_black@2x.png */; };
04F0B7A022602D8F0097C3CB /* icon_return_black@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 04F0B79E22602D8F0097C3CB /* icon_return_black@3x.png */; };
04F0B7A3226054D50097C3CB /* DWMemberGeneralButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F0B7A2226054D50097C3CB /* DWMemberGeneralButton.m */; };
04FF21E822CB008200B98CAF /* vrlibraw.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 04FF21D322CB008100B98CAF /* vrlibraw.bundle */; };
04FF21E922CB008200B98CAF /* libCCSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04FF21DD22CB008100B98CAF /* libCCSDK.a */; };
04FF21EA22CB008200B98CAF /* resource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 04FF21E422CB008100B98CAF /* resource.bundle */; };
04FFA9AB226426CC008C2713 /* DWVodPlayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FFA9AA226426CC008C2713 /* DWVodPlayViewController.m */; };
04FFA9AE226426E0008C2713 /* DWVodModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FFA9AD226426E0008C2713 /* DWVodModel.m */; };
04FFA9B122642E7D008C2713 /* DWVodPlayTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FFA9B022642E7D008C2713 /* DWVodPlayTableViewCell.m */; };
......@@ -609,6 +609,33 @@
04DF5D492265D6540060B43B /* icon_radio_bg@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_radio_bg@3x.png"; sourceTree = "<group>"; };
04E332B9226EA81E0091AC52 /* icon_ad_close@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_ad_close@2x.png"; sourceTree = "<group>"; };
04E332BA226EA81F0091AC52 /* icon_ad_close@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_ad_close@3x.png"; sourceTree = "<group>"; };
04E5D1D222CC4DD800F91B50 /* DWExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWExt.h; sourceTree = "<group>"; };
04E5D1D322CC4DD800F91B50 /* DWVRHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVRHeader.h; sourceTree = "<group>"; };
04E5D1D422CC4DD800F91B50 /* DWDownloadSessionManager+File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DWDownloadSessionManager+File.h"; sourceTree = "<group>"; };
04E5D1D522CC4DD800F91B50 /* DWErrorCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWErrorCode.h; sourceTree = "<group>"; };
04E5D1D622CC4DD800F91B50 /* NSURLSession+DWCorrectedResumeData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURLSession+DWCorrectedResumeData.h"; sourceTree = "<group>"; };
04E5D1D722CC4DD800F91B50 /* DWAdInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWAdInfo.h; sourceTree = "<group>"; };
04E5D1D822CC4DD800F91B50 /* vrlibraw.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = vrlibraw.bundle; sourceTree = "<group>"; };
04E5D1D922CC4DD800F91B50 /* DWBatchDownloadUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWBatchDownloadUtility.h; sourceTree = "<group>"; };
04E5D1DA22CC4DD800F91B50 /* DWLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWLog.h; sourceTree = "<group>"; };
04E5D1DB22CC4DD800F91B50 /* DWVideoDataAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVideoDataAdapter.h; sourceTree = "<group>"; };
04E5D1DC22CC4DD800F91B50 /* DWGIFManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWGIFManager.h; sourceTree = "<group>"; };
04E5D1DD22CC4DD800F91B50 /* DWVodVideoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVodVideoModel.h; sourceTree = "<group>"; };
04E5D1DE22CC4DD800F91B50 /* DWSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWSDK.h; sourceTree = "<group>"; };
04E5D1DF22CC4DD800F91B50 /* DWDownloadSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWDownloadSessionManager.h; sourceTree = "<group>"; };
04E5D1E022CC4DD800F91B50 /* DWDownloadUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWDownloadUtility.h; sourceTree = "<group>"; };
04E5D1E122CC4DD800F91B50 /* DWUploader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWUploader.h; sourceTree = "<group>"; };
04E5D1E222CC4DD800F91B50 /* libCCSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libCCSDK.a; sourceTree = "<group>"; };
04E5D1E322CC4DD800F91B50 /* DWDownloadModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWDownloadModel.h; sourceTree = "<group>"; };
04E5D1E422CC4DD800F91B50 /* DWPlayerSkinView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWPlayerSkinView.h; sourceTree = "<group>"; };
04E5D1E522CC4DD800F91B50 /* DWPlayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWPlayerView.h; sourceTree = "<group>"; };
04E5D1E622CC4DD800F91B50 /* DWVRLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVRLibrary.h; sourceTree = "<group>"; };
04E5D1E722CC4DD800F91B50 /* DWVodAdInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVodAdInfoModel.h; sourceTree = "<group>"; };
04E5D1E822CC4DD800F91B50 /* DWPlayInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWPlayInfo.h; sourceTree = "<group>"; };
04E5D1E922CC4DD800F91B50 /* resource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = resource.bundle; sourceTree = "<group>"; };
04E5D1EA22CC4DD800F91B50 /* DW360Program.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DW360Program.h; sourceTree = "<group>"; };
04E5D1EB22CC4DD800F91B50 /* DW360Director.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DW360Director.h; sourceTree = "<group>"; };
04E5D1EC22CC4DD800F91B50 /* DWVideoCompressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVideoCompressController.h; sourceTree = "<group>"; };
04EB65BD226D679F00FAB532 /* DWSettingFuncButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DWSettingFuncButton.h; sourceTree = "<group>"; };
04EB65BE226D679F00FAB532 /* DWSettingFuncButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DWSettingFuncButton.m; sourceTree = "<group>"; };
04EB65C0226D6A5F00FAB532 /* icon_setting_video@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_setting_video@3x.png"; sourceTree = "<group>"; };
......@@ -637,33 +664,6 @@
04F0B79E22602D8F0097C3CB /* icon_return_black@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_return_black@3x.png"; sourceTree = "<group>"; };
04F0B7A1226054D50097C3CB /* DWMemberGeneralButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DWMemberGeneralButton.h; sourceTree = "<group>"; };
04F0B7A2226054D50097C3CB /* DWMemberGeneralButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DWMemberGeneralButton.m; sourceTree = "<group>"; };
04FF21CD22CB008100B98CAF /* DWExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWExt.h; sourceTree = "<group>"; };
04FF21CE22CB008100B98CAF /* DWVRHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVRHeader.h; sourceTree = "<group>"; };
04FF21CF22CB008100B98CAF /* DWDownloadSessionManager+File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DWDownloadSessionManager+File.h"; sourceTree = "<group>"; };
04FF21D022CB008100B98CAF /* DWErrorCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWErrorCode.h; sourceTree = "<group>"; };
04FF21D122CB008100B98CAF /* NSURLSession+DWCorrectedResumeData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURLSession+DWCorrectedResumeData.h"; sourceTree = "<group>"; };
04FF21D222CB008100B98CAF /* DWAdInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWAdInfo.h; sourceTree = "<group>"; };
04FF21D322CB008100B98CAF /* vrlibraw.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = vrlibraw.bundle; sourceTree = "<group>"; };
04FF21D422CB008100B98CAF /* DWBatchDownloadUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWBatchDownloadUtility.h; sourceTree = "<group>"; };
04FF21D522CB008100B98CAF /* DWLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWLog.h; sourceTree = "<group>"; };
04FF21D622CB008100B98CAF /* DWVideoDataAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVideoDataAdapter.h; sourceTree = "<group>"; };
04FF21D722CB008100B98CAF /* DWGIFManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWGIFManager.h; sourceTree = "<group>"; };
04FF21D822CB008100B98CAF /* DWVodVideoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVodVideoModel.h; sourceTree = "<group>"; };
04FF21D922CB008100B98CAF /* DWSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWSDK.h; sourceTree = "<group>"; };
04FF21DA22CB008100B98CAF /* DWDownloadSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWDownloadSessionManager.h; sourceTree = "<group>"; };
04FF21DB22CB008100B98CAF /* DWDownloadUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWDownloadUtility.h; sourceTree = "<group>"; };
04FF21DC22CB008100B98CAF /* DWUploader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWUploader.h; sourceTree = "<group>"; };
04FF21DD22CB008100B98CAF /* libCCSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libCCSDK.a; sourceTree = "<group>"; };
04FF21DE22CB008100B98CAF /* DWDownloadModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWDownloadModel.h; sourceTree = "<group>"; };
04FF21DF22CB008100B98CAF /* DWPlayerSkinView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWPlayerSkinView.h; sourceTree = "<group>"; };
04FF21E022CB008100B98CAF /* DWPlayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWPlayerView.h; sourceTree = "<group>"; };
04FF21E122CB008100B98CAF /* DWVRLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVRLibrary.h; sourceTree = "<group>"; };
04FF21E222CB008100B98CAF /* DWVodAdInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVodAdInfoModel.h; sourceTree = "<group>"; };
04FF21E322CB008100B98CAF /* DWPlayInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWPlayInfo.h; sourceTree = "<group>"; };
04FF21E422CB008100B98CAF /* resource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = resource.bundle; sourceTree = "<group>"; };
04FF21E522CB008100B98CAF /* DW360Program.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DW360Program.h; sourceTree = "<group>"; };
04FF21E622CB008100B98CAF /* DW360Director.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DW360Director.h; sourceTree = "<group>"; };
04FF21E722CB008100B98CAF /* DWVideoCompressController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DWVideoCompressController.h; sourceTree = "<group>"; };
04FFA9A9226426CC008C2713 /* DWVodPlayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DWVodPlayViewController.h; sourceTree = "<group>"; };
04FFA9AA226426CC008C2713 /* DWVodPlayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DWVodPlayViewController.m; sourceTree = "<group>"; };
04FFA9AC226426E0008C2713 /* DWVodModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DWVodModel.h; sourceTree = "<group>"; };
......@@ -740,7 +740,7 @@
B57CC7BE18E2E575001A1696 /* CoreLocation.framework in Frameworks */,
B57CC7BC18E2E569001A1696 /* CoreMedia.framework in Frameworks */,
B547EC4C18E033FB00BC980C /* CoreGraphics.framework in Frameworks */,
04FF21E922CB008200B98CAF /* libCCSDK.a in Frameworks */,
04E5D1EE22CC4DD800F91B50 /* libCCSDK.a in Frameworks */,
B547EC4E18E033FB00BC980C /* UIKit.framework in Frameworks */,
B547EC4A18E033FB00BC980C /* Foundation.framework in Frameworks */,
);
......@@ -1348,6 +1348,40 @@
path = Ad;
sourceTree = "<group>";
};
04E5D1D122CC4DD800F91B50 /* SDK */ = {
isa = PBXGroup;
children = (
04E5D1D222CC4DD800F91B50 /* DWExt.h */,
04E5D1D322CC4DD800F91B50 /* DWVRHeader.h */,
04E5D1D422CC4DD800F91B50 /* DWDownloadSessionManager+File.h */,
04E5D1D522CC4DD800F91B50 /* DWErrorCode.h */,
04E5D1D622CC4DD800F91B50 /* NSURLSession+DWCorrectedResumeData.h */,
04E5D1D722CC4DD800F91B50 /* DWAdInfo.h */,
04E5D1D822CC4DD800F91B50 /* vrlibraw.bundle */,
04E5D1D922CC4DD800F91B50 /* DWBatchDownloadUtility.h */,
04E5D1DA22CC4DD800F91B50 /* DWLog.h */,
04E5D1DB22CC4DD800F91B50 /* DWVideoDataAdapter.h */,
04E5D1DC22CC4DD800F91B50 /* DWGIFManager.h */,
04E5D1DD22CC4DD800F91B50 /* DWVodVideoModel.h */,
04E5D1DE22CC4DD800F91B50 /* DWSDK.h */,
04E5D1DF22CC4DD800F91B50 /* DWDownloadSessionManager.h */,
04E5D1E022CC4DD800F91B50 /* DWDownloadUtility.h */,
04E5D1E122CC4DD800F91B50 /* DWUploader.h */,
04E5D1E222CC4DD800F91B50 /* libCCSDK.a */,
04E5D1E322CC4DD800F91B50 /* DWDownloadModel.h */,
04E5D1E422CC4DD800F91B50 /* DWPlayerSkinView.h */,
04E5D1E522CC4DD800F91B50 /* DWPlayerView.h */,
04E5D1E622CC4DD800F91B50 /* DWVRLibrary.h */,
04E5D1E722CC4DD800F91B50 /* DWVodAdInfoModel.h */,
04E5D1E822CC4DD800F91B50 /* DWPlayInfo.h */,
04E5D1E922CC4DD800F91B50 /* resource.bundle */,
04E5D1EA22CC4DD800F91B50 /* DW360Program.h */,
04E5D1EB22CC4DD800F91B50 /* DW360Director.h */,
04E5D1EC22CC4DD800F91B50 /* DWVideoCompressController.h */,
);
path = SDK;
sourceTree = "<group>";
};
04EB65BC226D57BF00FAB532 /* SubTitle */ = {
isa = PBXGroup;
children = (
......@@ -1368,40 +1402,6 @@
path = Authorize;
sourceTree = "<group>";
};
04FF21CC22CB008100B98CAF /* SDK */ = {
isa = PBXGroup;
children = (
04FF21CD22CB008100B98CAF /* DWExt.h */,
04FF21CE22CB008100B98CAF /* DWVRHeader.h */,
04FF21CF22CB008100B98CAF /* DWDownloadSessionManager+File.h */,
04FF21D022CB008100B98CAF /* DWErrorCode.h */,
04FF21D122CB008100B98CAF /* NSURLSession+DWCorrectedResumeData.h */,
04FF21D222CB008100B98CAF /* DWAdInfo.h */,
04FF21D322CB008100B98CAF /* vrlibraw.bundle */,
04FF21D422CB008100B98CAF /* DWBatchDownloadUtility.h */,
04FF21D522CB008100B98CAF /* DWLog.h */,
04FF21D622CB008100B98CAF /* DWVideoDataAdapter.h */,
04FF21D722CB008100B98CAF /* DWGIFManager.h */,
04FF21D822CB008100B98CAF /* DWVodVideoModel.h */,
04FF21D922CB008100B98CAF /* DWSDK.h */,
04FF21DA22CB008100B98CAF /* DWDownloadSessionManager.h */,
04FF21DB22CB008100B98CAF /* DWDownloadUtility.h */,
04FF21DC22CB008100B98CAF /* DWUploader.h */,
04FF21DD22CB008100B98CAF /* libCCSDK.a */,
04FF21DE22CB008100B98CAF /* DWDownloadModel.h */,
04FF21DF22CB008100B98CAF /* DWPlayerSkinView.h */,
04FF21E022CB008100B98CAF /* DWPlayerView.h */,
04FF21E122CB008100B98CAF /* DWVRLibrary.h */,
04FF21E222CB008100B98CAF /* DWVodAdInfoModel.h */,
04FF21E322CB008100B98CAF /* DWPlayInfo.h */,
04FF21E422CB008100B98CAF /* resource.bundle */,
04FF21E522CB008100B98CAF /* DW360Program.h */,
04FF21E622CB008100B98CAF /* DW360Director.h */,
04FF21E722CB008100B98CAF /* DWVideoCompressController.h */,
);
path = SDK;
sourceTree = "<group>";
};
B547EC3D18E033FB00BC980C = {
isa = PBXGroup;
children = (
......@@ -1439,7 +1439,7 @@
B547EC4F18E033FB00BC980C /* Demo */ = {
isa = PBXGroup;
children = (
04FF21CC22CB008100B98CAF /* SDK */,
04E5D1D122CC4DD800F91B50 /* SDK */,
0434420D225F0EDD003F7EC1 /* Classes */,
B547EC5818E033FB00BC980C /* DWAppDelegate.h */,
B547EC5918E033FB00BC980C /* DWAppDelegate.m */,
......@@ -1539,7 +1539,7 @@
04FFA9DA22647579008C2713 /* icon_play_return@2x.png in Resources */,
04AB4A2422B1F22A00BB9BF9 /* icon_exercises_answer_b_select@2x.png in Resources */,
04FFA9FA22647C84008C2713 /* icon_play_gif_disable@3x.png in Resources */,
04FF21EA22CB008200B98CAF /* resource.bundle in Resources */,
04E5D1EF22CC4DD800F91B50 /* resource.bundle in Resources */,
04B7A667226B0EF000951983 /* icon_question_wrong@3x.png in Resources */,
04FFA9E222647579008C2713 /* icon_play_full@3x.png in Resources */,
04DF5D4B2265D6540060B43B /* icon_radio_bg@3x.png in Resources */,
......@@ -1580,7 +1580,7 @@
04344224225F133C003F7EC1 /* icon_photo@2x.png in Resources */,
04FFA9DC22647579008C2713 /* icon_play_video@2x.png in Resources */,
04D60EDA22719B9C0009C572 /* icon_play_vr_inselect_normal@2x.png in Resources */,
04FF21E822CB008200B98CAF /* vrlibraw.bundle in Resources */,
04E5D1ED22CC4DD800F91B50 /* vrlibraw.bundle in Resources */,
04D60ED922719B9C0009C572 /* icon_play_vr_display_select@2x.png in Resources */,
04344225225F133C003F7EC1 /* icon_photo@3x.png in Resources */,
04AB4A3822B1F22A00BB9BF9 /* icon_exercises_right@3x.png in Resources */,
......
......@@ -92,8 +92,8 @@
-(void)reloadLoaclData
{
//请自行替换数据
NSArray * videos = @[];
NSArray * videos = @[];
for (int i = 0; i < videos.count; i++) {
DWVodModel * vodModel = [[DWVodModel alloc]init];
vodModel.videoId = [videos objectAtIndex:i];
......
......@@ -19,7 +19,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface DWExercisesAlertView : UIView
//@property(nonatomic,assign)CGFloat lastTime;
//返回听课时记录的d时间点
@property(nonatomic,assign)CGFloat frontScrubTime;
@property(nonatomic,assign)id <DWExercisesAlertViewDelegate> delegate;
......
......@@ -120,7 +120,6 @@ typedef NS_ENUM(NSUInteger, DWExercisesQuestionType) {
CGFloat height = 0;
UIFont * font = TitleFont(14);
CGSize size = [DWTools widthWithHeight:EXERCISESQUESTIONVIEWWIDTH - 105 - 60 andFont:font andLabelText:[answerModel.content substringWithRange:NSMakeRange(2, answerModel.content.length - 2)]];
if (ceil(size.height) < (font.lineHeight * 2)) {
height = 40 + 15;
}else{
......
......@@ -26,6 +26,9 @@ NS_ASSUME_NONNULL_BEGIN
@property(nonatomic,weak) id <DWExercisesViewDelegate> delegate;
//继续播放记录的时间位置
@property(nonatomic,assign)CGFloat lastScrubTime;
-(instancetype)initWithExercisesModel:(DWVideoExercisesModel *)exercisesModel;
//课堂练习,提交成功调用
......
......@@ -84,7 +84,7 @@
}
//引导页面
if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"showGuideView"] boolValue]) {
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"showGuideView"]) {
[[NSUserDefaults standardUserDefaults] setObject:@YES forKey:@"showGuideView"];
[self addSubview:self.guideView];
[_guideView mas_makeConstraints:^(MASConstraintMaker *make) {
......
......@@ -142,11 +142,10 @@
@property (nonatomic,strong)DWVisitorCollectView * visitorCollectView;
//**************************** 课堂练习 ****************************
//@property (nonatomic,assign)CGFloat exercisesLastTime;
@property (nonatomic,assign)CGFloat exercisesFrontScrubTime;
@property (nonatomic,assign)CGFloat exercisesLastScrubTime;
@property (nonatomic,strong)DWExercisesAlertView * exercisesAlertView;
@property (nonatomic,strong)DWExercisesView * exercisesView;
@property (nonatomic,assign)CGFloat exercisesFrontScrubTime;//记录回退时间
@property (nonatomic,assign)CGFloat exercisesLastScrubTime;//记录当前时间
@property (nonatomic,strong)DWExercisesAlertView * exercisesAlertView;//课堂练习提示View
@property (nonatomic,strong)DWExercisesView * exercisesView;//课堂练习view
@end
......@@ -1246,11 +1245,16 @@ static const CGFloat gifSeconds = 0.25;
__weak typeof(self) weakSelf = self;
[self.playerView scrubPrecise:time CompletionHandler:^(BOOL finished) {
weakSelf.isSlidering = NO;
if (![weakSelf haveUnansweredExercises:weakSelf.exercisesFrontScrubTime AndLastTime:weakSelf.exercisesLastScrubTime]) {
weakSelf.exercisesFrontScrubTime = -1;
weakSelf.exercisesLastScrubTime = -1;
}
}];
[self play];
[self showExercisesAlertView:time AndScrub:YES];
}
//速率选择
......@@ -1959,8 +1963,7 @@ static const CGFloat gifSeconds = 0.25;
}
#pragma mark--课堂练习------
-(void)showExercisesAlertView:(CGFloat)time AndScrub:(BOOL)isScrub
-(void)showExercisesAlertView:(CGFloat)time
{
if (!self.videoModel.exercises || self.videoModel.exercises.count == 0) {
return;
......@@ -1976,9 +1979,9 @@ static const CGFloat gifSeconds = 0.25;
if ((NSInteger)time >= exercises.showTime && exercises.isShow) {
[self pause];
if (isScrub) {
self.exercisesAlertView = [[DWExercisesAlertView alloc]init];
if (self.exercisesFrontScrubTime != -1) {
self.exercisesAlertView = [[DWExercisesAlertView alloc]init];
self.exercisesAlertView.frontScrubTime = self.exercisesFrontScrubTime;
self.exercisesAlertView.delegate = self;
[self.exercisesAlertView show];
}else{
......@@ -1989,6 +1992,7 @@ static const CGFloat gifSeconds = 0.25;
}
DWExercisesView * exercisesView = [[DWExercisesView alloc]initWithExercisesModel:exercises];
exercisesView.lastScrubTime = weakSelf.exercisesLastScrubTime;
exercisesView.delegate = self;
[exercisesView show];
weakSelf.exercisesView = exercisesView;
......@@ -2001,7 +2005,9 @@ static const CGFloat gifSeconds = 0.25;
//DWExercisesAlertViewDelegate
-(void)exercisesAlertViewReturn
{
[self.playerView scrub:self.exercisesFrontScrubTime];
self.exercisesFrontScrubTime = -1;
[self.playerView scrub:self.exercisesAlertView.frontScrubTime];
[self play];
[self.exercisesAlertView dismiss];
......@@ -2026,6 +2032,7 @@ static const CGFloat gifSeconds = 0.25;
}
DWExercisesView * exercisesView = [[DWExercisesView alloc]initWithExercisesModel:exercisesModel];
exercisesView.lastScrubTime = self.exercisesLastScrubTime;
exercisesView.delegate = self;
[exercisesView show];
self.exercisesView = exercisesView;
......@@ -2068,6 +2075,12 @@ static const CGFloat gifSeconds = 0.25;
-(void)exercisesViewFinishResumePlay:(DWVideoExercisesModel *)exercisesModel
{
exercisesModel.isShow = NO;
if (![self haveUnansweredExercises:self.exercisesFrontScrubTime AndLastTime:self.exercisesView.lastScrubTime]) {
self.exercisesFrontScrubTime = -1;
}
[self.playerView scrub:self.exercisesView.lastScrubTime];
[self.exercisesView dismiss];
self.exercisesView = nil;
......@@ -2077,10 +2090,27 @@ static const CGFloat gifSeconds = 0.25;
self.exercisesAlertView = nil;
}
[self.playerView scrub:self.exercisesLastScrubTime];
[self play];
}
-(BOOL)haveUnansweredExercises:(CGFloat)frontTime AndLastTime:(CGFloat)lastTime
{
BOOL ret = NO;
for (DWVideoExercisesModel * exercises in self.videoModel.exercises) {
if (exercises.showTime > lastTime) {
continue;
}
if (exercises.showTime < frontTime) {
continue;
}
if (exercises.isShow) {
ret = YES;
break;
}
}
return ret;
}
#pragma mark - DWPlayerSettingViewDelegate
-(void)playerSettingViewStyle:(DWVodSettingStyle)style AndSelectIndex:(NSInteger)selectIndex
{
......@@ -2303,18 +2333,26 @@ static const CGFloat gifSeconds = 0.25;
[self readNSUserDefaults];
}
//处理记忆播放时,课堂练习拖拽的位置。
if (_isSwitchquality) {
self.exercisesFrontScrubTime = -1;
self.exercisesLastScrubTime = -1;
}else{
self.exercisesFrontScrubTime = 0;
self.exercisesLastScrubTime = self.switchTime;
if (self.switchTime == 0) {
self.exercisesFrontScrubTime = -1;
self.exercisesLastScrubTime = -1;
}else{
self.exercisesFrontScrubTime = 0;
self.exercisesLastScrubTime = self.switchTime;
if (![self haveUnansweredExercises:self.exercisesFrontScrubTime AndLastTime:self.exercisesLastScrubTime]) {
self.exercisesFrontScrubTime = -1;
self.exercisesLastScrubTime = -1;
}
}
}
//读取原先的播放时间 用oldTimeScrub方法
[self.playerView oldTimeScrub:self.switchTime];
[self showExercisesAlertView:self.switchTime AndScrub:YES];
}
//播放完毕
......@@ -2355,7 +2393,9 @@ static const CGFloat gifSeconds = 0.25;
[self showVisitorView:time];
//课堂练习
[self showExercisesAlertView:time AndScrub:NO];
[self showExercisesAlertView:time];
self.exercisesLastScrubTime = time;
//拖拽时,禁止刷新进度信息
if (self.isSlidering) {
......@@ -2594,7 +2634,7 @@ static const CGFloat gifSeconds = 0.25;
self.playerView = [[DWPlayerView alloc]init];
self.playerView.timeOutLoad = 30;
self.playerView.timeOutBuffer = 30;
self.playerView.loadStyle = DWPlayerViewLoadStyleImmediately;
// self.playerView.loadStyle = DWPlayerViewLoadStyleImmediately;
self.playerView.forwardBufferDuration = 30;
self.playerView.delegate = self;
[self insertSubview:self.playerView atIndex:0];
......
......@@ -47,9 +47,7 @@
//根据自己项目原业务逻辑,自行斟酌调用即可。
[self migrateOldDownloadTaskToNewVersion];
[[NSUserDefaults standardUserDefaults] setObject:@NO forKey:@"showGuideView"];
[self.window makeKeyAndVisible];
return YES;
......
......@@ -23,5 +23,5 @@
#import "DWVodAdInfoModel.h"
//版本号
#define SDK_VERSION @"4.0.1"
#define SDK_VERSION @"4.0.2"
No preview for this file type
......@@ -493,6 +493,6 @@ header, .context-menu, .megamenu-content, footer{
</style>
</head>
<body class='typora-export' >
<div id='write' class = 'is-mac'><h1><a name='header-n0' class='md-header-anchor '></a>更新日志 </h1><h2><a name='header-n2' class='md-header-anchor '></a>Version 4.0.1</h2><p>发布时间:2019-07-02</p><p>更新内容:</p><p>1.课堂练习功能。</p><p>2.支持m3u8格式,缓存时长控制。</p><p>3.修复了iPhone7及plus机型下,m3u8播放链接可能会返回有误的问题。</p><h2><a name='header-n8' class='md-header-anchor '></a>Version 4.0.0</h2><p>发布时间:2019-06-18</p><p>更新内容:</p><p>1.demo全新升级。</p><p>2.加密与非加密版本的demo合并。</p><p>3.支持Cocoapods方式集成。</p><p>4.优化SDK使用方式。</p><h2><a name='header-n15' class='md-header-anchor '></a>Version 3.4.5</h2><p>发布时间:2019-06-14</p><p>更新内容:</p><p>1.视频问答优化。</p><p>2.广告播放流程优化。</p><p>3.修复了低版本下,播放音频时可能会导致闪退的问题。</p><h2><a name='header-n21' class='md-header-anchor '></a>Version 3.4.4</h2><p>发布时间:2019-05-17</p><p>更新内容:</p><p>1.新增访客信息收集器功能。 <br/> <br/>2.解决了在一些特殊情况下会发生crash的bug。</p><h2><a name='header-n25' class='md-header-anchor '></a>Version 3.4.3</h2><p>发布时间:2019-04-19</p><p>更新内容:</p><p>1.修复了播放离线音视频可能会crash的bug。</p><h2><a name='header-n29' class='md-header-anchor '></a>Version 3.4.1</h2><p>发布时间:2019-04-02</p><p>更新内容:</p><p>1.优化了播放音频时,可能出现的缓冲时间过长的问题。</p><h2><a name='header-n33' class='md-header-anchor '></a>Version 3.4.0</h2><p>发布时间:2019-03-06</p><p>更新内容:</p><p>1.新增音频DRM加密功能。</p><h2><a name='header-n37' class='md-header-anchor '></a>Version 3.3.6</h2><p>发布时间:2019-02-27</p><p>更新内容:</p><p>1.修复了对同一DWDrmServer对象多次调用start/stop,引起crash的bug。</p><h2><a name='header-n41' class='md-header-anchor '></a>Version 3.3.5</h2><p>发布时间:2019-02-14</p><p>更新内容:</p><p>1.视频批量下载功能。</p><p>2.修复了Demo界面上的一些显示bug。</p><h2><a name='header-n46' class='md-header-anchor '></a>Version 3.3.4</h2><p>发布时间:2019-01-25</p><p>更新内容:</p><p>1.新增字幕切换功能。</p><h2><a name='header-n50' class='md-header-anchor '></a>Version 3.3.3</h2><p>发布时间:2019-01-09</p><p>更新内容:</p><p>1.修复了iOS11.3之后,当原URL失效时,无法使用新URL继续下载的BUG。</p><h2><a name='header-n54' class='md-header-anchor '></a>Version 3.3.2</h2><p>发布时间:2018-12-26</p><p>更新内容:</p><p>1.完善SDK内部播放出错处理机制。</p><p>2.优化了demo流程,播放失败时自动切换备用线路。</p><p>3.修复了demo中的一些bug。</p><h2><a name='header-n60' class='md-header-anchor '></a>Version 3.3.1</h2><p>发布时间:2018-12-12</p><p>更新内容:</p><p>1.GIF功能整合,m3u8视频格式可以正常生成GIF。</p><p>2.修复了Drm模块在弱网下可能引发的一些问题。</p><h2><a name='header-n65' class='md-header-anchor '></a>Version 3.3.0</h2><p>发布时间:2018-11-22</p><p>更新内容:</p><p>1.视频问答新增单选多选类型。</p><p>2.新增网络检测功能。</p><p>3.原片实时播放流程处理。</p><p>4.修复了demo中的一些bug。</p><h2><a name='header-n72' class='md-header-anchor '></a>Version 3.2.1</h2><p>发布时间:2018-10-26</p><p>更新内容:</p><p>1.SDK新增错误码。</p><p>2.修复了在iOS12下,导致程序crash的BUG。</p><h2><a name='header-n77' class='md-header-anchor '></a>Version 3.2.0</h2><p>发布时间:2018-08-28</p><p>更新内容:</p><p>1.增加授权验证功能。</p><p>2.增加自定义超时时间功能。</p><h2><a name='header-n82' class='md-header-anchor '></a>Version 3.1.8</h2><p>发布时间:2018-06-12</p><p>更新内容:</p><p>1.新增问答统计功能</p><h2><a name='header-n86' class='md-header-anchor '></a>Version 3.1.7</h2><p>发布时间:2018-06-07</p><p>更新内容:</p><p>1.改善SDK帮助文档。</p><h2><a name='header-n90' class='md-header-anchor '></a>Version 3.1.6</h2><p>发布时间:2018-05-22</p><p>更新内容:</p><p>1.增加字幕显示功能。</p><h2><a name='header-n94' class='md-header-anchor '></a>Version 3.1.5</h2><p>发布时间:2018-05-15</p><p>更新内容:</p><p>1.新增问答图片显示功能。</p><h2><a name='header-n98' class='md-header-anchor '></a>Version 3.1.4</h2><p>发布时间:2018-05-10</p><p>更新内容:</p><p>1.上传功能优化。</p></div>
<div id='write' class = 'is-mac'><h1><a name='header-n0' class='md-header-anchor '></a>更新日志 </h1><h2><a name='header-n2' class='md-header-anchor '></a>Version 4.0.2</h2><p>发布时间:2019-07-03</p><p>更新内容:</p><p>1.修复了课堂练习显示有问题的bug。</p><h2><a name='header-n6' class='md-header-anchor '></a>Version 4.0.1</h2><p>发布时间:2019-07-02</p><p>更新内容:</p><p>1.课堂练习功能。</p><p>2.支持m3u8格式,缓存时长控制。</p><p>3.修复了iPhone7及plus机型下,m3u8播放链接可能会返回有误的问题。</p><h2><a name='header-n12' class='md-header-anchor '></a>Version 4.0.0</h2><p>发布时间:2019-06-18</p><p>更新内容:</p><p>1.demo全新升级。</p><p>2.加密与非加密版本的demo合并。</p><p>3.支持Cocoapods方式集成。</p><p>4.优化SDK使用方式。</p><h2><a name='header-n19' class='md-header-anchor '></a>Version 3.4.5</h2><p>发布时间:2019-06-14</p><p>更新内容:</p><p>1.视频问答优化。</p><p>2.广告播放流程优化。</p><p>3.修复了低版本下,播放音频时可能会导致闪退的问题。</p><h2><a name='header-n25' class='md-header-anchor '></a>Version 3.4.4</h2><p>发布时间:2019-05-17</p><p>更新内容:</p><p>1.新增访客信息收集器功能。 <br/> <br/>2.解决了在一些特殊情况下会发生crash的bug。</p><h2><a name='header-n29' class='md-header-anchor '></a>Version 3.4.3</h2><p>发布时间:2019-04-19</p><p>更新内容:</p><p>1.修复了播放离线音视频可能会crash的bug。</p><h2><a name='header-n33' class='md-header-anchor '></a>Version 3.4.1</h2><p>发布时间:2019-04-02</p><p>更新内容:</p><p>1.优化了播放音频时,可能出现的缓冲时间过长的问题。</p><h2><a name='header-n37' class='md-header-anchor '></a>Version 3.4.0</h2><p>发布时间:2019-03-06</p><p>更新内容:</p><p>1.新增音频DRM加密功能。</p><h2><a name='header-n41' class='md-header-anchor '></a>Version 3.3.6</h2><p>发布时间:2019-02-27</p><p>更新内容:</p><p>1.修复了对同一DWDrmServer对象多次调用start/stop,引起crash的bug。</p><h2><a name='header-n45' class='md-header-anchor '></a>Version 3.3.5</h2><p>发布时间:2019-02-14</p><p>更新内容:</p><p>1.视频批量下载功能。</p><p>2.修复了Demo界面上的一些显示bug。</p><h2><a name='header-n50' class='md-header-anchor '></a>Version 3.3.4</h2><p>发布时间:2019-01-25</p><p>更新内容:</p><p>1.新增字幕切换功能。</p><h2><a name='header-n54' class='md-header-anchor '></a>Version 3.3.3</h2><p>发布时间:2019-01-09</p><p>更新内容:</p><p>1.修复了iOS11.3之后,当原URL失效时,无法使用新URL继续下载的BUG。</p><h2><a name='header-n58' class='md-header-anchor '></a>Version 3.3.2</h2><p>发布时间:2018-12-26</p><p>更新内容:</p><p>1.完善SDK内部播放出错处理机制。</p><p>2.优化了demo流程,播放失败时自动切换备用线路。</p><p>3.修复了demo中的一些bug。</p><h2><a name='header-n64' class='md-header-anchor '></a>Version 3.3.1</h2><p>发布时间:2018-12-12</p><p>更新内容:</p><p>1.GIF功能整合,m3u8视频格式可以正常生成GIF。</p><p>2.修复了Drm模块在弱网下可能引发的一些问题。</p><h2><a name='header-n69' class='md-header-anchor '></a>Version 3.3.0</h2><p>发布时间:2018-11-22</p><p>更新内容:</p><p>1.视频问答新增单选多选类型。</p><p>2.新增网络检测功能。</p><p>3.原片实时播放流程处理。</p><p>4.修复了demo中的一些bug。</p><h2><a name='header-n76' class='md-header-anchor '></a>Version 3.2.1</h2><p>发布时间:2018-10-26</p><p>更新内容:</p><p>1.SDK新增错误码。</p><p>2.修复了在iOS12下,导致程序crash的BUG。</p><h2><a name='header-n81' class='md-header-anchor '></a>Version 3.2.0</h2><p>发布时间:2018-08-28</p><p>更新内容:</p><p>1.增加授权验证功能。</p><p>2.增加自定义超时时间功能。</p><h2><a name='header-n86' class='md-header-anchor '></a>Version 3.1.8</h2><p>发布时间:2018-06-12</p><p>更新内容:</p><p>1.新增问答统计功能</p><h2><a name='header-n90' class='md-header-anchor '></a>Version 3.1.7</h2><p>发布时间:2018-06-07</p><p>更新内容:</p><p>1.改善SDK帮助文档。</p><h2><a name='header-n94' class='md-header-anchor '></a>Version 3.1.6</h2><p>发布时间:2018-05-22</p><p>更新内容:</p><p>1.增加字幕显示功能。</p><h2><a name='header-n98' class='md-header-anchor '></a>Version 3.1.5</h2><p>发布时间:2018-05-15</p><p>更新内容:</p><p>1.新增问答图片显示功能。</p><h2><a name='header-n102' class='md-header-anchor '></a>Version 3.1.4</h2><p>发布时间:2018-05-10</p><p>更新内容:</p><p>1.上传功能优化。</p></div>
</body>
</html>
\ No newline at end of file
......@@ -23,5 +23,5 @@
#import "DWVodAdInfoModel.h"
//版本号
#define SDK_VERSION @"4.0.1"
#define SDK_VERSION @"4.0.2"
No preview for this file type
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment