From d3ac4c8e327997325346fd07cfd5349ec97c9697 Mon Sep 17 00:00:00 2001 From: cpp Date: Thu, 12 Nov 2020 16:16:02 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9AVPlayer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MWPhotoBrowser.xcodeproj/project.pbxproj | 2467 +++++------------ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../MWPhotoBrowser/MWPhotoBrowser-Info.plist | 2 + Pod/Classes/MWPhotoBrowser.m | 111 +- Pod/Classes/MWPhotoBrowserPrivate.h | 4 +- 5 files changed, 785 insertions(+), 1807 deletions(-) create mode 100644 Example/MWPhotoBrowser.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Example/MWPhotoBrowser.xcodeproj/project.pbxproj b/Example/MWPhotoBrowser.xcodeproj/project.pbxproj index 9eb939fd4..066253f3d 100644 --- a/Example/MWPhotoBrowser.xcodeproj/project.pbxproj +++ b/Example/MWPhotoBrowser.xcodeproj/project.pbxproj @@ -1,1767 +1,700 @@ - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 02040E41C46EB311FEA82F90 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Embed Pods Frameworks - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-frameworks.sh" - - showEnvVarsInLog - 0 - - 0EC5D4A41B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo1.jpg - path - MWPhotoBrowser/Local Media/photo1.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4A51B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo1t.jpg - path - MWPhotoBrowser/Local Media/photo1t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4A61B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo2.jpg - path - MWPhotoBrowser/Local Media/photo2.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4A71B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo2t.jpg - path - MWPhotoBrowser/Local Media/photo2t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4A81B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo3.jpg - path - MWPhotoBrowser/Local Media/photo3.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4A91B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo3t.jpg - path - MWPhotoBrowser/Local Media/photo3t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4AA1B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo4.jpg - path - MWPhotoBrowser/Local Media/photo4.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4AB1B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo4t.jpg - path - MWPhotoBrowser/Local Media/photo4t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4AC1B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo5.jpg - path - MWPhotoBrowser/Local Media/photo5.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4AD1B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo5t.jpg - path - MWPhotoBrowser/Local Media/photo5t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4AE1B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo6.jpg - path - MWPhotoBrowser/Local Media/photo6.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4AF1B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo6t.jpg - path - MWPhotoBrowser/Local Media/photo6t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4B01B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo7.jpg - path - MWPhotoBrowser/Local Media/photo7.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4B11B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo7t.jpg - path - MWPhotoBrowser/Local Media/photo7t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4B21B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo8.jpg - path - MWPhotoBrowser/Local Media/photo8.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4B31B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - photo8t.jpg - path - MWPhotoBrowser/Local Media/photo8t.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4B41B4C46E50092ACC1 - - isa - PBXFileReference - lastKnownFileType - file - name - video.mp4 - path - MWPhotoBrowser/Local Media/video.mp4 - sourceTree - SOURCE_ROOT - - 0EC5D4B51B4C46E50092ACC1 - - fileRef - 0EC5D4A41B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4B61B4C46E50092ACC1 - - fileRef - 0EC5D4A51B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4B71B4C46E50092ACC1 - - fileRef - 0EC5D4A61B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4B81B4C46E50092ACC1 - - fileRef - 0EC5D4A71B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4B91B4C46E50092ACC1 - - fileRef - 0EC5D4A81B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4BA1B4C46E50092ACC1 - - fileRef - 0EC5D4A91B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4BB1B4C46E50092ACC1 - - fileRef - 0EC5D4AA1B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4BC1B4C46E50092ACC1 - - fileRef - 0EC5D4AB1B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4BD1B4C46E50092ACC1 - - fileRef - 0EC5D4AC1B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4BE1B4C46E50092ACC1 - - fileRef - 0EC5D4AD1B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4BF1B4C46E50092ACC1 - - fileRef - 0EC5D4AE1B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C01B4C46E50092ACC1 - - fileRef - 0EC5D4AF1B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C11B4C46E50092ACC1 - - fileRef - 0EC5D4B01B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C21B4C46E50092ACC1 - - fileRef - 0EC5D4B11B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C31B4C46E50092ACC1 - - fileRef - 0EC5D4B21B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C41B4C46E50092ACC1 - - fileRef - 0EC5D4B31B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C51B4C46E50092ACC1 - - fileRef - 0EC5D4B41B4C46E50092ACC1 - isa - PBXBuildFile - - 0EC5D4C81B4C480E0092ACC1 - - isa - PBXFileReference - lastKnownFileType - image.jpeg - name - video_thumb.jpg - path - MWPhotoBrowser/Local Media/video_thumb.jpg - sourceTree - SOURCE_ROOT - - 0EC5D4C91B4C480E0092ACC1 - - fileRef - 0EC5D4C81B4C480E0092ACC1 - isa - PBXBuildFile - - 234A7CACC7671133BED1A091 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-MWPhotoBrowser_Tests.release.xcconfig - path - Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.release.xcconfig - sourceTree - <group> - - 2BD41C6E3DA363EE7B81636E - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods-MWPhotoBrowser_Tests.a - sourceTree - BUILT_PRODUCTS_DIR - - 3CC5A2FF9CBF1B37D7CB6F91 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Pods Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-resources.sh" - - showEnvVarsInLog - 0 - - 42FCB8D314CA85E2DF2C6434 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text - name - LICENSE - path - ../LICENSE - sourceTree - <group> - - 4C18E1171B47E72800E3D63A - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - AppDelegate.h - sourceTree - <group> - - 4C18E1181B47E72800E3D63A - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - AppDelegate.m - sourceTree - <group> - - 4C18E1191B47E72800E3D63A - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Menu.h - sourceTree - <group> - - 4C18E11A1B47E72800E3D63A - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Menu.m - sourceTree - <group> - - 4C18E11B1B47E72800E3D63A - - fileRef - 4C18E1181B47E72800E3D63A - isa - PBXBuildFile - - 4C18E11C1B47E72800E3D63A - - fileRef - 4C18E11A1B47E72800E3D63A - isa - PBXBuildFile - - 4C18E1431B47F05900E3D63A - - children - - 0EC5D4C81B4C480E0092ACC1 - 0EC5D4A41B4C46E50092ACC1 - 0EC5D4A51B4C46E50092ACC1 - 0EC5D4A61B4C46E50092ACC1 - 0EC5D4A71B4C46E50092ACC1 - 0EC5D4A81B4C46E50092ACC1 - 0EC5D4A91B4C46E50092ACC1 - 0EC5D4AA1B4C46E50092ACC1 - 0EC5D4AB1B4C46E50092ACC1 - 0EC5D4AC1B4C46E50092ACC1 - 0EC5D4AD1B4C46E50092ACC1 - 0EC5D4AE1B4C46E50092ACC1 - 0EC5D4AF1B4C46E50092ACC1 - 0EC5D4B01B4C46E50092ACC1 - 0EC5D4B11B4C46E50092ACC1 - 0EC5D4B21B4C46E50092ACC1 - 0EC5D4B31B4C46E50092ACC1 - 0EC5D4B41B4C46E50092ACC1 - - isa - PBXGroup - name - Local Media - path - Photos - sourceTree - <group> - - 4D7FBE8AC8249BBC4ADD838E - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-MWPhotoBrowser_Example.release.xcconfig - path - Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.release.xcconfig - sourceTree - <group> - - 4E0A14EFB687307A0833E979 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text - name - MWPhotoBrowser.podspec - path - ../MWPhotoBrowser.podspec - sourceTree - <group> - - 542176705B9DBC22BBCDF3E4 - - children - - 6E2C60685D353B336094E4E7 - 4D7FBE8AC8249BBC4ADD838E - CA6EC4575DA50FD5A6F8685B - 234A7CACC7671133BED1A091 - - isa - PBXGroup - name - Pods - sourceTree - <group> - - 5FDE805C8BB47D59B5BCB5FA - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Pods Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-resources.sh" - - showEnvVarsInLog - 0 - - 6003F581195388D10070C39A - - children - - 4E0A14EFB687307A0833E979 - B5C85CB7FE89F584D392C9CF - 42FCB8D314CA85E2DF2C6434 - 6003F593195388D20070C39A - 6003F5B5195388D20070C39A - 6003F58C195388D20070C39A - 6003F58B195388D20070C39A - 542176705B9DBC22BBCDF3E4 - - isa - PBXGroup - sourceTree - <group> - - 6003F582195388D10070C39A - - attributes - - CLASSPREFIX - MW - LastUpgradeCheck - 0730 - ORGANIZATIONNAME - Michael Waterfall - TargetAttributes - - 6003F5AD195388D20070C39A - - TestTargetID - 6003F589195388D20070C39A - - - - buildConfigurationList - 6003F585195388D10070C39A - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - Base - - mainGroup - 6003F581195388D10070C39A - productRefGroup - 6003F58B195388D20070C39A - projectDirPath - - projectReferences - - projectRoot - - targets - - 6003F589195388D20070C39A - 6003F5AD195388D20070C39A - - - 6003F585195388D10070C39A - - buildConfigurations - - 6003F5BD195388D20070C39A - 6003F5BE195388D20070C39A - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 6003F586195388D20070C39A - - buildActionMask - 2147483647 - files - - 4C18E11B1B47E72800E3D63A - 6003F59A195388D20070C39A - 4C18E11C1B47E72800E3D63A - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 6003F587195388D20070C39A - - buildActionMask - 2147483647 - files - - 6003F590195388D20070C39A - 6003F592195388D20070C39A - 6003F58E195388D20070C39A - BDF7E0625C136532C64B3038 - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 6003F588195388D20070C39A - - buildActionMask - 2147483647 - files - - 0EC5D4B51B4C46E50092ACC1 - 0EC5D4C31B4C46E50092ACC1 - 0EC5D4B71B4C46E50092ACC1 - 873B8AEB1B1F5CCA007FD442 - 6003F5A9195388D20070C39A - 0EC5D4BD1B4C46E50092ACC1 - 0EC5D4BF1B4C46E50092ACC1 - 0EC5D4BE1B4C46E50092ACC1 - 6003F598195388D20070C39A - 0EC5D4BB1B4C46E50092ACC1 - 0EC5D4C41B4C46E50092ACC1 - 0EC5D4C51B4C46E50092ACC1 - 0EC5D4C21B4C46E50092ACC1 - 0EC5D4C01B4C46E50092ACC1 - 0EC5D4C11B4C46E50092ACC1 - 0EC5D4B61B4C46E50092ACC1 - 0EC5D4C91B4C480E0092ACC1 - 0EC5D4BC1B4C46E50092ACC1 - 0EC5D4BA1B4C46E50092ACC1 - 0EC5D4B91B4C46E50092ACC1 - 0EC5D4B81B4C46E50092ACC1 - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 6003F589195388D20070C39A - - buildConfigurationList - 6003F5BF195388D20070C39A - buildPhases - - 81B3EFFED33BEA59184A897C - 6003F586195388D20070C39A - 6003F587195388D20070C39A - 6003F588195388D20070C39A - 5FDE805C8BB47D59B5BCB5FA - C7E06D0576A92A1C834427BE - - buildRules - - dependencies - - isa - PBXNativeTarget - name - MWPhotoBrowser_Example - productName - MWPhotoBrowser - productReference - 6003F58A195388D20070C39A - productType - com.apple.product-type.application - - 6003F58A195388D20070C39A - - explicitFileType - wrapper.application - includeInIndex - 0 - isa - PBXFileReference - path - MWPhotoBrowser_Example.app - sourceTree - BUILT_PRODUCTS_DIR - - 6003F58B195388D20070C39A - - children - - 6003F58A195388D20070C39A - 6003F5AE195388D20070C39A - - isa - PBXGroup - name - Products - sourceTree - <group> - - 6003F58C195388D20070C39A - - children - - 6003F58D195388D20070C39A - 6003F58F195388D20070C39A - 6003F591195388D20070C39A - 6003F5AF195388D20070C39A - 9C165E5EE0D40A4673EB6CB0 - 2BD41C6E3DA363EE7B81636E - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - 6003F58D195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - Foundation.framework - path - System/Library/Frameworks/Foundation.framework - sourceTree - SDKROOT - - 6003F58E195388D20070C39A - - fileRef - 6003F58D195388D20070C39A - isa - PBXBuildFile - - 6003F58F195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - CoreGraphics.framework - path - System/Library/Frameworks/CoreGraphics.framework - sourceTree - SDKROOT - - 6003F590195388D20070C39A - - fileRef - 6003F58F195388D20070C39A - isa - PBXBuildFile - - 6003F591195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - UIKit.framework - path - System/Library/Frameworks/UIKit.framework - sourceTree - SDKROOT - - 6003F592195388D20070C39A - - fileRef - 6003F591195388D20070C39A - isa - PBXBuildFile - - 6003F593195388D20070C39A - - children - - 4C18E1171B47E72800E3D63A - 4C18E1181B47E72800E3D63A - 4C18E1191B47E72800E3D63A - 4C18E11A1B47E72800E3D63A - 873B8AEA1B1F5CCA007FD442 - 6003F5A8195388D20070C39A - 4C18E1431B47F05900E3D63A - 6003F594195388D20070C39A - - isa - PBXGroup - name - Example - path - MWPhotoBrowser - sourceTree - <group> - - 6003F594195388D20070C39A - - children - - 6003F595195388D20070C39A - 6003F596195388D20070C39A - 6003F599195388D20070C39A - 6003F59B195388D20070C39A - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 6003F595195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - MWPhotoBrowser-Info.plist - sourceTree - <group> - - 6003F596195388D20070C39A - - children - - 6003F597195388D20070C39A - - isa - PBXVariantGroup - name - InfoPlist.strings - sourceTree - <group> - - 6003F597195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - text.plist.strings - name - en - path - en.lproj/InfoPlist.strings - sourceTree - <group> - - 6003F598195388D20070C39A - - fileRef - 6003F596195388D20070C39A - isa - PBXBuildFile - - 6003F599195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - main.m - sourceTree - <group> - - 6003F59A195388D20070C39A - - fileRef - 6003F599195388D20070C39A - isa - PBXBuildFile - - 6003F59B195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - MWPhotoBrowser-Prefix.pch - sourceTree - <group> - - 6003F5A8195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - folder.assetcatalog - path - Images.xcassets - sourceTree - <group> - - 6003F5A9195388D20070C39A - - fileRef - 6003F5A8195388D20070C39A - isa - PBXBuildFile - - 6003F5AA195388D20070C39A - - buildActionMask - 2147483647 - files - - 6003F5BC195388D20070C39A - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 6003F5AB195388D20070C39A - - buildActionMask - 2147483647 - files - - 6003F5B0195388D20070C39A - 6003F5B2195388D20070C39A - 6003F5B1195388D20070C39A - BBD9ABBBC6D859245030E9BA - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 6003F5AC195388D20070C39A - - buildActionMask - 2147483647 - files - - 6003F5BA195388D20070C39A - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 6003F5AD195388D20070C39A - - buildConfigurationList - 6003F5C2195388D20070C39A - buildPhases - - F7D70421FEADB9922E5F26C7 - 6003F5AA195388D20070C39A - 6003F5AB195388D20070C39A - 6003F5AC195388D20070C39A - 3CC5A2FF9CBF1B37D7CB6F91 - 02040E41C46EB311FEA82F90 - - buildRules - - dependencies - - 6003F5B4195388D20070C39A - - isa - PBXNativeTarget - name - MWPhotoBrowser_Tests - productName - MWPhotoBrowserTests - productReference - 6003F5AE195388D20070C39A - productType - com.apple.product-type.bundle.unit-test - - 6003F5AE195388D20070C39A - - explicitFileType - wrapper.cfbundle - includeInIndex - 0 - isa - PBXFileReference - path - MWPhotoBrowser_Tests.xctest - sourceTree - BUILT_PRODUCTS_DIR - - 6003F5AF195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - wrapper.framework - name - XCTest.framework - path - Library/Frameworks/XCTest.framework - sourceTree - DEVELOPER_DIR - - 6003F5B0195388D20070C39A - - fileRef - 6003F5AF195388D20070C39A - isa - PBXBuildFile - - 6003F5B1195388D20070C39A - - fileRef - 6003F58D195388D20070C39A - isa - PBXBuildFile - - 6003F5B2195388D20070C39A - - fileRef - 6003F591195388D20070C39A - isa - PBXBuildFile - - 6003F5B3195388D20070C39A - - containerPortal - 6003F582195388D10070C39A - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 6003F589195388D20070C39A - remoteInfo - MWPhotoBrowser - - 6003F5B4195388D20070C39A - - isa - PBXTargetDependency - target - 6003F589195388D20070C39A - targetProxy - 6003F5B3195388D20070C39A - - 6003F5B5195388D20070C39A - - children - - 6003F5BB195388D20070C39A - 6003F5B6195388D20070C39A - - isa - PBXGroup - path - Tests - sourceTree - <group> - - 6003F5B6195388D20070C39A - - children - - 6003F5B7195388D20070C39A - 6003F5B8195388D20070C39A - 606FC2411953D9B200FFA9A0 - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 6003F5B7195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Tests-Info.plist - sourceTree - <group> - - 6003F5B8195388D20070C39A - - children - - 6003F5B9195388D20070C39A - - isa - PBXVariantGroup - name - InfoPlist.strings - sourceTree - <group> - - 6003F5B9195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - text.plist.strings - name - en - path - en.lproj/InfoPlist.strings - sourceTree - <group> - - 6003F5BA195388D20070C39A - - fileRef - 6003F5B8195388D20070C39A - isa - PBXBuildFile - - 6003F5BB195388D20070C39A - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - Tests.m - sourceTree - <group> - - 6003F5BC195388D20070C39A - - fileRef - 6003F5BB195388D20070C39A - isa - PBXBuildFile - - 6003F5BD195388D20070C39A - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - ENABLE_TESTABILITY - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES_ERROR - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES_AGGRESSIVE - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - ONLY_ACTIVE_ARCH - YES - SDKROOT - iphoneos - TARGETED_DEVICE_FAMILY - 1,2 - - isa - XCBuildConfiguration - name - Debug - - 6003F5BE195388D20070C39A - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - YES - ENABLE_NS_ASSERTIONS - NO - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES_ERROR - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES_AGGRESSIVE - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.1 - SDKROOT - iphoneos - TARGETED_DEVICE_FAMILY - 1,2 - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 6003F5BF195388D20070C39A - - buildConfigurations - - 6003F5C0195388D20070C39A - 6003F5C1195388D20070C39A - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 6003F5C0195388D20070C39A - - baseConfigurationReference - 6E2C60685D353B336094E4E7 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME - LaunchImage - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - MWPhotoBrowser/MWPhotoBrowser-Prefix.pch - INFOPLIST_FILE - MWPhotoBrowser/MWPhotoBrowser-Info.plist - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - MODULE_NAME - ExampleApp - PRODUCT_BUNDLE_IDENTIFIER - org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier} - PRODUCT_NAME - $(TARGET_NAME) - WRAPPER_EXTENSION - app - - isa - XCBuildConfiguration - name - Debug - - 6003F5C1195388D20070C39A - - baseConfigurationReference - 4D7FBE8AC8249BBC4ADD838E - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME - LaunchImage - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - MWPhotoBrowser/MWPhotoBrowser-Prefix.pch - INFOPLIST_FILE - MWPhotoBrowser/MWPhotoBrowser-Info.plist - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - MODULE_NAME - ExampleApp - PRODUCT_BUNDLE_IDENTIFIER - org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier} - PRODUCT_NAME - $(TARGET_NAME) - WRAPPER_EXTENSION - app - - isa - XCBuildConfiguration - name - Release - - 6003F5C2195388D20070C39A - - buildConfigurations - - 6003F5C3195388D20070C39A - 6003F5C4195388D20070C39A - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 6003F5C3195388D20070C39A - - baseConfigurationReference - CA6EC4575DA50FD5A6F8685B - buildSettings - - BUNDLE_LOADER - $(TEST_HOST) - FRAMEWORK_SEARCH_PATHS - - $(SDKROOT)/Developer/Library/Frameworks - $(inherited) - $(DEVELOPER_FRAMEWORKS_DIR) - - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - Tests/Tests-Prefix.pch - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - INFOPLIST_FILE - Tests/Tests-Info.plist - PRODUCT_BUNDLE_IDENTIFIER - org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier} - PRODUCT_NAME - $(TARGET_NAME) - TEST_HOST - $(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example - WRAPPER_EXTENSION - xctest - - isa - XCBuildConfiguration - name - Debug - - 6003F5C4195388D20070C39A - - baseConfigurationReference - 234A7CACC7671133BED1A091 - buildSettings - - BUNDLE_LOADER - $(TEST_HOST) - FRAMEWORK_SEARCH_PATHS - - $(SDKROOT)/Developer/Library/Frameworks - $(inherited) - $(DEVELOPER_FRAMEWORKS_DIR) - - GCC_PRECOMPILE_PREFIX_HEADER - YES - GCC_PREFIX_HEADER - Tests/Tests-Prefix.pch - INFOPLIST_FILE - Tests/Tests-Info.plist - PRODUCT_BUNDLE_IDENTIFIER - org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier} - PRODUCT_NAME - $(TARGET_NAME) - TEST_HOST - $(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example - WRAPPER_EXTENSION - xctest - - isa - XCBuildConfiguration - name - Release - - 606FC2411953D9B200FFA9A0 - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - Tests-Prefix.pch - sourceTree - <group> - - 6E2C60685D353B336094E4E7 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-MWPhotoBrowser_Example.debug.xcconfig - path - Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.debug.xcconfig - sourceTree - <group> - - 81B3EFFED33BEA59184A897C - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Check Pods Manifest.lock - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null -if [[ $? != 0 ]] ; then - cat << EOM -error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. -EOM - exit 1 -fi - - showEnvVarsInLog - 0 - - 873B8AEA1B1F5CCA007FD442 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - file.storyboard - path - Main.storyboard - sourceTree - <group> - - 873B8AEB1B1F5CCA007FD442 - - fileRef - 873B8AEA1B1F5CCA007FD442 - isa - PBXBuildFile - - 9C165E5EE0D40A4673EB6CB0 - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods-MWPhotoBrowser_Example.a - sourceTree - BUILT_PRODUCTS_DIR - - B5C85CB7FE89F584D392C9CF - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - net.daringfireball.markdown - name - README.md - path - ../README.md - sourceTree - <group> - - BBD9ABBBC6D859245030E9BA - - fileRef - 2BD41C6E3DA363EE7B81636E - isa - PBXBuildFile - - BDF7E0625C136532C64B3038 - - fileRef - 9C165E5EE0D40A4673EB6CB0 - isa - PBXBuildFile - - C7E06D0576A92A1C834427BE - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Embed Pods Frameworks - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-frameworks.sh" - - showEnvVarsInLog - 0 - - CA6EC4575DA50FD5A6F8685B - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods-MWPhotoBrowser_Tests.debug.xcconfig - path - Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.debug.xcconfig - sourceTree - <group> - - F7D70421FEADB9922E5F26C7 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Check Pods Manifest.lock - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null -if [[ $? != 0 ]] ; then - cat << EOM -error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. -EOM - exit 1 -fi - - showEnvVarsInLog - 0 - - - rootObject - 6003F582195388D10070C39A - - +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0EC5D4B51B4C46E50092ACC1 /* photo1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A41B4C46E50092ACC1 /* photo1.jpg */; }; + 0EC5D4B61B4C46E50092ACC1 /* photo1t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A51B4C46E50092ACC1 /* photo1t.jpg */; }; + 0EC5D4B71B4C46E50092ACC1 /* photo2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A61B4C46E50092ACC1 /* photo2.jpg */; }; + 0EC5D4B81B4C46E50092ACC1 /* photo2t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A71B4C46E50092ACC1 /* photo2t.jpg */; }; + 0EC5D4B91B4C46E50092ACC1 /* photo3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A81B4C46E50092ACC1 /* photo3.jpg */; }; + 0EC5D4BA1B4C46E50092ACC1 /* photo3t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A91B4C46E50092ACC1 /* photo3t.jpg */; }; + 0EC5D4BB1B4C46E50092ACC1 /* photo4.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AA1B4C46E50092ACC1 /* photo4.jpg */; }; + 0EC5D4BC1B4C46E50092ACC1 /* photo4t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AB1B4C46E50092ACC1 /* photo4t.jpg */; }; + 0EC5D4BD1B4C46E50092ACC1 /* photo5.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AC1B4C46E50092ACC1 /* photo5.jpg */; }; + 0EC5D4BE1B4C46E50092ACC1 /* photo5t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AD1B4C46E50092ACC1 /* photo5t.jpg */; }; + 0EC5D4BF1B4C46E50092ACC1 /* photo6.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AE1B4C46E50092ACC1 /* photo6.jpg */; }; + 0EC5D4C01B4C46E50092ACC1 /* photo6t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AF1B4C46E50092ACC1 /* photo6t.jpg */; }; + 0EC5D4C11B4C46E50092ACC1 /* photo7.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B01B4C46E50092ACC1 /* photo7.jpg */; }; + 0EC5D4C21B4C46E50092ACC1 /* photo7t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B11B4C46E50092ACC1 /* photo7t.jpg */; }; + 0EC5D4C31B4C46E50092ACC1 /* photo8.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B21B4C46E50092ACC1 /* photo8.jpg */; }; + 0EC5D4C41B4C46E50092ACC1 /* photo8t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B31B4C46E50092ACC1 /* photo8t.jpg */; }; + 0EC5D4C51B4C46E50092ACC1 /* video.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B41B4C46E50092ACC1 /* video.mp4 */; }; + 0EC5D4C91B4C480E0092ACC1 /* video_thumb.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4C81B4C480E0092ACC1 /* video_thumb.jpg */; }; + 4C18E11B1B47E72800E3D63A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C18E1181B47E72800E3D63A /* AppDelegate.m */; }; + 4C18E11C1B47E72800E3D63A /* Menu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C18E11A1B47E72800E3D63A /* Menu.m */; }; + 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; + 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; + 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; + 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; }; + 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; }; + 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; }; + 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; }; + 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; + 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; + 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; + 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; }; + 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; + BBD9ABBBC6D859245030E9BA /* libPods-MWPhotoBrowser_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BD41C6E3DA363EE7B81636E /* libPods-MWPhotoBrowser_Tests.a */; }; + BDF7E0625C136532C64B3038 /* libPods-MWPhotoBrowser_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C165E5EE0D40A4673EB6CB0 /* libPods-MWPhotoBrowser_Example.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 6003F5B3195388D20070C39A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6003F589195388D20070C39A; + remoteInfo = MWPhotoBrowser; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0EC5D4A41B4C46E50092ACC1 /* photo1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo1.jpg; path = "MWPhotoBrowser/Local Media/photo1.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4A51B4C46E50092ACC1 /* photo1t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo1t.jpg; path = "MWPhotoBrowser/Local Media/photo1t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4A61B4C46E50092ACC1 /* photo2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo2.jpg; path = "MWPhotoBrowser/Local Media/photo2.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4A71B4C46E50092ACC1 /* photo2t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo2t.jpg; path = "MWPhotoBrowser/Local Media/photo2t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4A81B4C46E50092ACC1 /* photo3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo3.jpg; path = "MWPhotoBrowser/Local Media/photo3.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4A91B4C46E50092ACC1 /* photo3t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo3t.jpg; path = "MWPhotoBrowser/Local Media/photo3t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4AA1B4C46E50092ACC1 /* photo4.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo4.jpg; path = "MWPhotoBrowser/Local Media/photo4.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4AB1B4C46E50092ACC1 /* photo4t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo4t.jpg; path = "MWPhotoBrowser/Local Media/photo4t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4AC1B4C46E50092ACC1 /* photo5.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo5.jpg; path = "MWPhotoBrowser/Local Media/photo5.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4AD1B4C46E50092ACC1 /* photo5t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo5t.jpg; path = "MWPhotoBrowser/Local Media/photo5t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4AE1B4C46E50092ACC1 /* photo6.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo6.jpg; path = "MWPhotoBrowser/Local Media/photo6.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4AF1B4C46E50092ACC1 /* photo6t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo6t.jpg; path = "MWPhotoBrowser/Local Media/photo6t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4B01B4C46E50092ACC1 /* photo7.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo7.jpg; path = "MWPhotoBrowser/Local Media/photo7.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4B11B4C46E50092ACC1 /* photo7t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo7t.jpg; path = "MWPhotoBrowser/Local Media/photo7t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4B21B4C46E50092ACC1 /* photo8.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo8.jpg; path = "MWPhotoBrowser/Local Media/photo8.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4B31B4C46E50092ACC1 /* photo8t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo8t.jpg; path = "MWPhotoBrowser/Local Media/photo8t.jpg"; sourceTree = SOURCE_ROOT; }; + 0EC5D4B41B4C46E50092ACC1 /* video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; name = video.mp4; path = "MWPhotoBrowser/Local Media/video.mp4"; sourceTree = SOURCE_ROOT; }; + 0EC5D4C81B4C480E0092ACC1 /* video_thumb.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = video_thumb.jpg; path = "MWPhotoBrowser/Local Media/video_thumb.jpg"; sourceTree = SOURCE_ROOT; }; + 234A7CACC7671133BED1A091 /* Pods-MWPhotoBrowser_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.release.xcconfig"; sourceTree = ""; }; + 2BD41C6E3DA363EE7B81636E /* libPods-MWPhotoBrowser_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MWPhotoBrowser_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 42FCB8D314CA85E2DF2C6434 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; + 4C18E1171B47E72800E3D63A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 4C18E1181B47E72800E3D63A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 4C18E1191B47E72800E3D63A /* Menu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Menu.h; sourceTree = ""; }; + 4C18E11A1B47E72800E3D63A /* Menu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Menu.m; sourceTree = ""; }; + 4D7FBE8AC8249BBC4ADD838E /* Pods-MWPhotoBrowser_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.release.xcconfig"; sourceTree = ""; }; + 4E0A14EFB687307A0833E979 /* MWPhotoBrowser.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = MWPhotoBrowser.podspec; path = ../MWPhotoBrowser.podspec; sourceTree = ""; }; + 6003F58A195388D20070C39A /* MWPhotoBrowser_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MWPhotoBrowser_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 6003F595195388D20070C39A /* MWPhotoBrowser-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MWPhotoBrowser-Info.plist"; sourceTree = ""; }; + 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 6003F59B195388D20070C39A /* MWPhotoBrowser-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWPhotoBrowser-Prefix.pch"; sourceTree = ""; }; + 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 6003F5AE195388D20070C39A /* MWPhotoBrowser_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MWPhotoBrowser_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; }; + 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = ""; }; + 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; + 6E2C60685D353B336094E4E7 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.debug.xcconfig"; sourceTree = ""; }; + 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + 9C165E5EE0D40A4673EB6CB0 /* libPods-MWPhotoBrowser_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MWPhotoBrowser_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + B5C85CB7FE89F584D392C9CF /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; + CA6EC4575DA50FD5A6F8685B /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 6003F587195388D20070C39A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, + 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, + 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, + BDF7E0625C136532C64B3038 /* libPods-MWPhotoBrowser_Example.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6003F5AB195388D20070C39A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, + 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, + 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, + BBD9ABBBC6D859245030E9BA /* libPods-MWPhotoBrowser_Tests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 4C18E1431B47F05900E3D63A /* Local Media */ = { + isa = PBXGroup; + children = ( + 0EC5D4C81B4C480E0092ACC1 /* video_thumb.jpg */, + 0EC5D4A41B4C46E50092ACC1 /* photo1.jpg */, + 0EC5D4A51B4C46E50092ACC1 /* photo1t.jpg */, + 0EC5D4A61B4C46E50092ACC1 /* photo2.jpg */, + 0EC5D4A71B4C46E50092ACC1 /* photo2t.jpg */, + 0EC5D4A81B4C46E50092ACC1 /* photo3.jpg */, + 0EC5D4A91B4C46E50092ACC1 /* photo3t.jpg */, + 0EC5D4AA1B4C46E50092ACC1 /* photo4.jpg */, + 0EC5D4AB1B4C46E50092ACC1 /* photo4t.jpg */, + 0EC5D4AC1B4C46E50092ACC1 /* photo5.jpg */, + 0EC5D4AD1B4C46E50092ACC1 /* photo5t.jpg */, + 0EC5D4AE1B4C46E50092ACC1 /* photo6.jpg */, + 0EC5D4AF1B4C46E50092ACC1 /* photo6t.jpg */, + 0EC5D4B01B4C46E50092ACC1 /* photo7.jpg */, + 0EC5D4B11B4C46E50092ACC1 /* photo7t.jpg */, + 0EC5D4B21B4C46E50092ACC1 /* photo8.jpg */, + 0EC5D4B31B4C46E50092ACC1 /* photo8t.jpg */, + 0EC5D4B41B4C46E50092ACC1 /* video.mp4 */, + ); + name = "Local Media"; + path = Photos; + sourceTree = ""; + }; + 542176705B9DBC22BBCDF3E4 /* Pods */ = { + isa = PBXGroup; + children = ( + 6E2C60685D353B336094E4E7 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */, + 4D7FBE8AC8249BBC4ADD838E /* Pods-MWPhotoBrowser_Example.release.xcconfig */, + CA6EC4575DA50FD5A6F8685B /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */, + 234A7CACC7671133BED1A091 /* Pods-MWPhotoBrowser_Tests.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + 6003F581195388D10070C39A = { + isa = PBXGroup; + children = ( + 4E0A14EFB687307A0833E979 /* MWPhotoBrowser.podspec */, + B5C85CB7FE89F584D392C9CF /* README.md */, + 42FCB8D314CA85E2DF2C6434 /* LICENSE */, + 6003F593195388D20070C39A /* Example */, + 6003F5B5195388D20070C39A /* Tests */, + 6003F58C195388D20070C39A /* Frameworks */, + 6003F58B195388D20070C39A /* Products */, + 542176705B9DBC22BBCDF3E4 /* Pods */, + ); + sourceTree = ""; + }; + 6003F58B195388D20070C39A /* Products */ = { + isa = PBXGroup; + children = ( + 6003F58A195388D20070C39A /* MWPhotoBrowser_Example.app */, + 6003F5AE195388D20070C39A /* MWPhotoBrowser_Tests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 6003F58C195388D20070C39A /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6003F58D195388D20070C39A /* Foundation.framework */, + 6003F58F195388D20070C39A /* CoreGraphics.framework */, + 6003F591195388D20070C39A /* UIKit.framework */, + 6003F5AF195388D20070C39A /* XCTest.framework */, + 9C165E5EE0D40A4673EB6CB0 /* libPods-MWPhotoBrowser_Example.a */, + 2BD41C6E3DA363EE7B81636E /* libPods-MWPhotoBrowser_Tests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 6003F593195388D20070C39A /* Example */ = { + isa = PBXGroup; + children = ( + 4C18E1171B47E72800E3D63A /* AppDelegate.h */, + 4C18E1181B47E72800E3D63A /* AppDelegate.m */, + 4C18E1191B47E72800E3D63A /* Menu.h */, + 4C18E11A1B47E72800E3D63A /* Menu.m */, + 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */, + 6003F5A8195388D20070C39A /* Images.xcassets */, + 4C18E1431B47F05900E3D63A /* Local Media */, + 6003F594195388D20070C39A /* Supporting Files */, + ); + name = Example; + path = MWPhotoBrowser; + sourceTree = ""; + }; + 6003F594195388D20070C39A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 6003F595195388D20070C39A /* MWPhotoBrowser-Info.plist */, + 6003F596195388D20070C39A /* InfoPlist.strings */, + 6003F599195388D20070C39A /* main.m */, + 6003F59B195388D20070C39A /* MWPhotoBrowser-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 6003F5B5195388D20070C39A /* Tests */ = { + isa = PBXGroup; + children = ( + 6003F5BB195388D20070C39A /* Tests.m */, + 6003F5B6195388D20070C39A /* Supporting Files */, + ); + path = Tests; + sourceTree = ""; + }; + 6003F5B6195388D20070C39A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 6003F5B7195388D20070C39A /* Tests-Info.plist */, + 6003F5B8195388D20070C39A /* InfoPlist.strings */, + 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 6003F589195388D20070C39A /* MWPhotoBrowser_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Example" */; + buildPhases = ( + 81B3EFFED33BEA59184A897C /* Check Pods Manifest.lock */, + 6003F586195388D20070C39A /* Sources */, + 6003F587195388D20070C39A /* Frameworks */, + 6003F588195388D20070C39A /* Resources */, + 5FDE805C8BB47D59B5BCB5FA /* Copy Pods Resources */, + C7E06D0576A92A1C834427BE /* Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MWPhotoBrowser_Example; + productName = MWPhotoBrowser; + productReference = 6003F58A195388D20070C39A /* MWPhotoBrowser_Example.app */; + productType = "com.apple.product-type.application"; + }; + 6003F5AD195388D20070C39A /* MWPhotoBrowser_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Tests" */; + buildPhases = ( + F7D70421FEADB9922E5F26C7 /* Check Pods Manifest.lock */, + 6003F5AA195388D20070C39A /* Sources */, + 6003F5AB195388D20070C39A /* Frameworks */, + 6003F5AC195388D20070C39A /* Resources */, + 3CC5A2FF9CBF1B37D7CB6F91 /* Copy Pods Resources */, + 02040E41C46EB311FEA82F90 /* Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 6003F5B4195388D20070C39A /* PBXTargetDependency */, + ); + name = MWPhotoBrowser_Tests; + productName = MWPhotoBrowserTests; + productReference = 6003F5AE195388D20070C39A /* MWPhotoBrowser_Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 6003F582195388D10070C39A /* Project object */ = { + isa = PBXProject; + attributes = { + CLASSPREFIX = MW; + LastUpgradeCheck = 0730; + ORGANIZATIONNAME = "Michael Waterfall"; + TargetAttributes = { + 6003F589195388D20070C39A = { + DevelopmentTeam = TQ8FK3M7TF; + }; + 6003F5AD195388D20070C39A = { + TestTargetID = 6003F589195388D20070C39A; + }; + }; + }; + buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "MWPhotoBrowser" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + Base, + ); + mainGroup = 6003F581195388D10070C39A; + productRefGroup = 6003F58B195388D20070C39A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 6003F589195388D20070C39A /* MWPhotoBrowser_Example */, + 6003F5AD195388D20070C39A /* MWPhotoBrowser_Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 6003F588195388D20070C39A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0EC5D4B51B4C46E50092ACC1 /* photo1.jpg in Resources */, + 0EC5D4C31B4C46E50092ACC1 /* photo8.jpg in Resources */, + 0EC5D4B71B4C46E50092ACC1 /* photo2.jpg in Resources */, + 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */, + 6003F5A9195388D20070C39A /* Images.xcassets in Resources */, + 0EC5D4BD1B4C46E50092ACC1 /* photo5.jpg in Resources */, + 0EC5D4BF1B4C46E50092ACC1 /* photo6.jpg in Resources */, + 0EC5D4BE1B4C46E50092ACC1 /* photo5t.jpg in Resources */, + 6003F598195388D20070C39A /* InfoPlist.strings in Resources */, + 0EC5D4BB1B4C46E50092ACC1 /* photo4.jpg in Resources */, + 0EC5D4C41B4C46E50092ACC1 /* photo8t.jpg in Resources */, + 0EC5D4C51B4C46E50092ACC1 /* video.mp4 in Resources */, + 0EC5D4C21B4C46E50092ACC1 /* photo7t.jpg in Resources */, + 0EC5D4C01B4C46E50092ACC1 /* photo6t.jpg in Resources */, + 0EC5D4C11B4C46E50092ACC1 /* photo7.jpg in Resources */, + 0EC5D4B61B4C46E50092ACC1 /* photo1t.jpg in Resources */, + 0EC5D4C91B4C480E0092ACC1 /* video_thumb.jpg in Resources */, + 0EC5D4BC1B4C46E50092ACC1 /* photo4t.jpg in Resources */, + 0EC5D4BA1B4C46E50092ACC1 /* photo3t.jpg in Resources */, + 0EC5D4B91B4C46E50092ACC1 /* photo3.jpg in Resources */, + 0EC5D4B81B4C46E50092ACC1 /* photo2t.jpg in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6003F5AC195388D20070C39A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 02040E41C46EB311FEA82F90 /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3CC5A2FF9CBF1B37D7CB6F91 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 5FDE805C8BB47D59B5BCB5FA /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 81B3EFFED33BEA59184A897C /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + C7E06D0576A92A1C834427BE /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + F7D70421FEADB9922E5F26C7 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 6003F586195388D20070C39A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4C18E11B1B47E72800E3D63A /* AppDelegate.m in Sources */, + 6003F59A195388D20070C39A /* main.m in Sources */, + 4C18E11C1B47E72800E3D63A /* Menu.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6003F5AA195388D20070C39A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6003F5BC195388D20070C39A /* Tests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 6003F5B4195388D20070C39A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 6003F589195388D20070C39A /* MWPhotoBrowser_Example */; + targetProxy = 6003F5B3195388D20070C39A /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 6003F596195388D20070C39A /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 6003F597195388D20070C39A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 6003F5B8195388D20070C39A /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 6003F5B9195388D20070C39A /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 6003F5BD195388D20070C39A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 6003F5BE195388D20070C39A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 6003F5C0195388D20070C39A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6E2C60685D353B336094E4E7 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + DEVELOPMENT_TEAM = TQ8FK3M7TF; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MWPhotoBrowser/MWPhotoBrowser-Prefix.pch"; + INFOPLIST_FILE = "MWPhotoBrowser/MWPhotoBrowser-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MODULE_NAME = ExampleApp; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.MWPhotoBrowser-cpp"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 6003F5C1195388D20070C39A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4D7FBE8AC8249BBC4ADD838E /* Pods-MWPhotoBrowser_Example.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + DEVELOPMENT_TEAM = TQ8FK3M7TF; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MWPhotoBrowser/MWPhotoBrowser-Prefix.pch"; + INFOPLIST_FILE = "MWPhotoBrowser/MWPhotoBrowser-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MODULE_NAME = ExampleApp; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.MWPhotoBrowser-cpp"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + 6003F5C3195388D20070C39A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CA6EC4575DA50FD5A6F8685B /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "Tests/Tests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + 6003F5C4195388D20070C39A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 234A7CACC7671133BED1A091 /* Pods-MWPhotoBrowser_Tests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; + INFOPLIST_FILE = "Tests/Tests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 6003F585195388D10070C39A /* Build configuration list for PBXProject "MWPhotoBrowser" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6003F5BD195388D20070C39A /* Debug */, + 6003F5BE195388D20070C39A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6003F5C0195388D20070C39A /* Debug */, + 6003F5C1195388D20070C39A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6003F5C3195388D20070C39A /* Debug */, + 6003F5C4195388D20070C39A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 6003F582195388D10070C39A /* Project object */; +} diff --git a/Example/MWPhotoBrowser.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/MWPhotoBrowser.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/Example/MWPhotoBrowser.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/MWPhotoBrowser/MWPhotoBrowser-Info.plist b/Example/MWPhotoBrowser/MWPhotoBrowser-Info.plist index 940966cd9..9f9bf3d06 100644 --- a/Example/MWPhotoBrowser/MWPhotoBrowser-Info.plist +++ b/Example/MWPhotoBrowser/MWPhotoBrowser-Info.plist @@ -24,6 +24,8 @@ 1.0 LSRequiresIPhoneOS + NSPhotoLibraryUsageDescription + 是否允许此App打开相册方便我们上传照片,头像等服务 UILaunchStoryboardName Main UIMainStoryboardFile diff --git a/Pod/Classes/MWPhotoBrowser.m b/Pod/Classes/MWPhotoBrowser.m index 0de7faaab..e34a1e4b0 100644 --- a/Pod/Classes/MWPhotoBrowser.m +++ b/Pod/Classes/MWPhotoBrowser.m @@ -1172,7 +1172,7 @@ - (void)playButtonTapped:(id)sender { } NSUInteger index = [self indexForPlayButton:sender]; if (index != NSUIntegerMax) { - if (!_currentVideoPlayerViewController) { + if (!_avPlayer) { [self playVideoAtIndex:index]; } } @@ -1224,54 +1224,89 @@ - (void)playVideoAtIndex:(NSUInteger)index { - (void)_playVideo:(NSURL *)videoURL atPhotoIndex:(NSUInteger)index { // Setup player - _currentVideoPlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL]; - [_currentVideoPlayerViewController.moviePlayer prepareToPlay]; - _currentVideoPlayerViewController.moviePlayer.shouldAutoplay = YES; - _currentVideoPlayerViewController.moviePlayer.scalingMode = MPMovieScalingModeAspectFit; - _currentVideoPlayerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; - - // Remove the movie player view controller from the "playback did finish" notification observers - // Observe ourselves so we can get it to use the crossfade transition - [[NSNotificationCenter defaultCenter] removeObserver:_currentVideoPlayerViewController - name:MPMoviePlayerPlaybackDidFinishNotification - object:_currentVideoPlayerViewController.moviePlayer]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(videoFinishedCallback:) - name:MPMoviePlayerPlaybackDidFinishNotification - object:_currentVideoPlayerViewController.moviePlayer]; + AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:videoURL]; - // Show - [self presentViewController:_currentVideoPlayerViewController animated:YES completion:nil]; + _avPlayer = [AVPlayer playerWithPlayerItem:playerItem]; -} + AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:_avPlayer]; + + playerLayer.frame = self.view.bounds;//放置播放器的视图 + + [self.view.layer addSublayer:playerLayer]; -- (void)videoFinishedCallback:(NSNotification*)notification { + //监听status属性,注意监听的是AVPlayerItem + [playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil]; - // Remove observer - [[NSNotificationCenter defaultCenter] removeObserver:self - name:MPMoviePlayerPlaybackDidFinishNotification - object:_currentVideoPlayerViewController.moviePlayer]; - // Clear up - [self clearCurrentVideo]; +// _currentVideoPlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL]; +// [_currentVideoPlayerViewController.moviePlayer prepareToPlay]; +// _currentVideoPlayerViewController.moviePlayer.shouldAutoplay = YES; +// _currentVideoPlayerViewController.moviePlayer.scalingMode = MPMovieScalingModeAspectFit; +// _currentVideoPlayerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; - // Dismiss - BOOL error = [[[notification userInfo] objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue] == MPMovieFinishReasonPlaybackError; - if (error) { - // Error occured so dismiss with a delay incase error was immediate and we need to wait to dismiss the VC - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self dismissViewControllerAnimated:YES completion:nil]; - }); - } else { - [self dismissViewControllerAnimated:YES completion:nil]; + // Remove the movie player view controller from the "playback did finish" notification observers + // Observe ourselves so we can get it to use the crossfade transition +// [[NSNotificationCenter defaultCenter] removeObserver:_currentVideoPlayerViewController +// name:MPMoviePlayerPlaybackDidFinishNotification +// object:_currentVideoPlayerViewController.moviePlayer]; +// [[NSNotificationCenter defaultCenter] addObserver:self +// selector:@selector(videoFinishedCallback:) +// name:MPMoviePlayerPlaybackDidFinishNotification +// object:_currentVideoPlayerViewController.moviePlayer]; +// +// // Show +// [self presentViewController:_currentVideoPlayerViewController animated:YES completion:nil]; + +} + +//AVPlayerItem监听的回调函数 +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + AVPlayerItem *playerItem = (AVPlayerItem *)object; + + if ([keyPath isEqualToString:@"status"]){ + if (playerItem.status == AVPlayerItemStatusReadyToPlay){ + NSLog(@"playerItem is ready"); + + //如果视频准备好 就开始播放 + [_avPlayer play]; + + }else if(playerItem.status==AVPlayerStatusUnknown){ + NSLog(@"playerItem Unknown错误"); + }else if (playerItem.status==AVPlayerStatusFailed){ + NSLog(@"playerItem 失败"); + } } - } +//- (void)videoFinishedCallback:(NSNotification*)notification { +// +// // Remove observer +// [[NSNotificationCenter defaultCenter] removeObserver:self +// name:MPMoviePlayerPlaybackDidFinishNotification +// object:_currentVideoPlayerViewController.moviePlayer]; +// +// // Clear up +// [self clearCurrentVideo]; +// +// // Dismiss +// BOOL error = [[[notification userInfo] objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue] == MPMovieFinishReasonPlaybackError; +// if (error) { +// // Error occured so dismiss with a delay incase error was immediate and we need to wait to dismiss the VC +// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ +// [self dismissViewControllerAnimated:YES completion:nil]; +// }); +// } else { +// [self dismissViewControllerAnimated:YES completion:nil]; +// } +// +//} + - (void)clearCurrentVideo { - [_currentVideoPlayerViewController.moviePlayer stop]; + [_avPlayer pause]; +// [_currentVideoPlayerViewController.moviePlayer stop]; [_currentVideoLoadingIndicator removeFromSuperview]; - _currentVideoPlayerViewController = nil; + _avPlayer = nil; _currentVideoLoadingIndicator = nil; [[self pageDisplayedAtIndex:_currentVideoIndex] playButton].hidden = NO; _currentVideoIndex = NSUIntegerMax; diff --git a/Pod/Classes/MWPhotoBrowserPrivate.h b/Pod/Classes/MWPhotoBrowserPrivate.h index 5770d6787..2460a325e 100644 --- a/Pod/Classes/MWPhotoBrowserPrivate.h +++ b/Pod/Classes/MWPhotoBrowserPrivate.h @@ -8,7 +8,7 @@ #import #import -#import +#import #import "MWGridViewController.h" #import "MWZoomingScrollView.h" @@ -54,7 +54,7 @@ UIImage *_previousNavigationBarBackgroundImageLandscapePhone; // Video - MPMoviePlayerViewController *_currentVideoPlayerViewController; + AVPlayer *_avPlayer; NSUInteger _currentVideoIndex; UIActivityIndicatorView *_currentVideoLoadingIndicator; From a28859f8a925dec3f1966d8dc6fb5fa24f36081a Mon Sep 17 00:00:00 2001 From: cpp Date: Thu, 12 Nov 2020 20:05:29 +0800 Subject: [PATCH 2/5] AVPlayercontroller --- Pod/Classes/MWPhotoBrowser.m | 35 ++++++++++++++++++++++++----- Pod/Classes/MWPhotoBrowserPrivate.h | 2 ++ 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Pod/Classes/MWPhotoBrowser.m b/Pod/Classes/MWPhotoBrowser.m index e34a1e4b0..32ec36551 100644 --- a/Pod/Classes/MWPhotoBrowser.m +++ b/Pod/Classes/MWPhotoBrowser.m @@ -1228,11 +1228,30 @@ - (void)_playVideo:(NSURL *)videoURL atPhotoIndex:(NSUInteger)index { _avPlayer = [AVPlayer playerWithPlayerItem:playerItem]; - AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:_avPlayer]; - - playerLayer.frame = self.view.bounds;//放置播放器的视图 - - [self.view.layer addSublayer:playerLayer]; + //初始化AVPlayerViewController + _currentPlayerViewController = [[AVPlayerViewController alloc] init]; + _currentPlayerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; + _currentPlayerViewController.player =_avPlayer; + + /// 添加监听.以及回调 + __weak typeof(_avPlayer) weakPlayer = _avPlayer; + + __weak typeof(self) weakSelf = self; + [_avPlayer addPeriodicTimeObserverForInterval:CMTimeMake(1.0, 1.0) queue:dispatch_get_main_queue() usingBlock:^(CMTime time) { + + //进度 当前时间/总时间 + CGFloat progress = CMTimeGetSeconds(weakPlayer.currentItem.currentTime) / CMTimeGetSeconds(weakPlayer.currentItem.duration); + NSLog(@"播放当前进度:%f",CMTimeGetSeconds(weakPlayer.currentItem.currentTime)); + NSLog(@"播放总进度:%f",CMTimeGetSeconds(weakPlayer.currentItem.duration)); + if (progress == 1.0f) { + + NSLog(@"播放完毕"); + + [weakPlayer pause]; + + [weakSelf clearCurrentVideo]; + } + }]; //监听status属性,注意监听的是AVPlayerItem [playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil]; @@ -1270,6 +1289,11 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N //如果视频准备好 就开始播放 [_avPlayer play]; + + [_currentVideoLoadingIndicator removeFromSuperview]; + _currentVideoLoadingIndicator = nil; + [[self pageDisplayedAtIndex:_currentVideoIndex] playButton].hidden = NO; + _currentVideoIndex = NSUIntegerMax; }else if(playerItem.status==AVPlayerStatusUnknown){ NSLog(@"playerItem Unknown错误"); @@ -1307,6 +1331,7 @@ - (void)clearCurrentVideo { // [_currentVideoPlayerViewController.moviePlayer stop]; [_currentVideoLoadingIndicator removeFromSuperview]; _avPlayer = nil; + _currentPlayerViewController = nil; _currentVideoLoadingIndicator = nil; [[self pageDisplayedAtIndex:_currentVideoIndex] playButton].hidden = NO; _currentVideoIndex = NSUIntegerMax; diff --git a/Pod/Classes/MWPhotoBrowserPrivate.h b/Pod/Classes/MWPhotoBrowserPrivate.h index 2460a325e..29fafb8f1 100644 --- a/Pod/Classes/MWPhotoBrowserPrivate.h +++ b/Pod/Classes/MWPhotoBrowserPrivate.h @@ -11,6 +11,7 @@ #import #import "MWGridViewController.h" #import "MWZoomingScrollView.h" +#import // Declare private methods of browser @interface MWPhotoBrowser () { @@ -54,6 +55,7 @@ UIImage *_previousNavigationBarBackgroundImageLandscapePhone; // Video + AVPlayerViewController *_currentPlayerViewController; AVPlayer *_avPlayer; NSUInteger _currentVideoIndex; UIActivityIndicatorView *_currentVideoLoadingIndicator; From 7dd356843c2d27d8bc4046affd1bff7ba5ba40e8 Mon Sep 17 00:00:00 2001 From: cpp Date: Thu, 12 Nov 2020 20:29:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?AVPlayerController=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pod/Classes/MWPhotoBrowser.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Pod/Classes/MWPhotoBrowser.m b/Pod/Classes/MWPhotoBrowser.m index 32ec36551..e76f4fbf3 100644 --- a/Pod/Classes/MWPhotoBrowser.m +++ b/Pod/Classes/MWPhotoBrowser.m @@ -1274,7 +1274,7 @@ - (void)_playVideo:(NSURL *)videoURL atPhotoIndex:(NSUInteger)index { // object:_currentVideoPlayerViewController.moviePlayer]; // // // Show -// [self presentViewController:_currentVideoPlayerViewController animated:YES completion:nil]; + [self presentViewController:_currentPlayerViewController animated:YES completion:nil]; } From 4d367bd928fbe7bdb52ffc5f99f4ee4f1da0a311 Mon Sep 17 00:00:00 2001 From: cpp Date: Wed, 3 Feb 2021 20:22:52 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=A3=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pod/Classes/MWPhotoBrowser.h | 1 + Pod/Classes/MWPhotoBrowser.m | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Pod/Classes/MWPhotoBrowser.h b/Pod/Classes/MWPhotoBrowser.h index 4225f9cc1..6adbda8b8 100644 --- a/Pod/Classes/MWPhotoBrowser.h +++ b/Pod/Classes/MWPhotoBrowser.h @@ -35,6 +35,7 @@ - (BOOL)photoBrowser:(MWPhotoBrowser *)photoBrowser isPhotoSelectedAtIndex:(NSUInteger)index; - (void)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index selectedChanged:(BOOL)selected; - (void)photoBrowserDidFinishModalPresentation:(MWPhotoBrowser *)photoBrowser; +- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser activityViewControllerSelect:(NSString*)activityType completed:(BOOL)completed; @end diff --git a/Pod/Classes/MWPhotoBrowser.m b/Pod/Classes/MWPhotoBrowser.m index e76f4fbf3..2c1998aa8 100644 --- a/Pod/Classes/MWPhotoBrowser.m +++ b/Pod/Classes/MWPhotoBrowser.m @@ -1658,19 +1658,23 @@ - (void)actionButtonPressed:(id)sender { [items addObject:photo.caption]; } self.activityViewController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil]; - // Show loading spinner after a couple of seconds - double delayInSeconds = 2.0; - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ - if (self.activityViewController) { - [self showProgressHUDWithMessage:nil]; - } - }); +// double delayInSeconds = 2.0; +// dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); +// dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ +// if (self.activityViewController) { +// [self showProgressHUDWithMessage:nil]; +// } +// }); // Show typeof(self) __weak weakSelf = self; [self.activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed) { + if ([weakSelf.delegate respondsToSelector:@selector(photoBrowser:activityViewControllerSelect:completed:)]) { + // Let delegate handle things + [weakSelf.delegate photoBrowser:self activityViewControllerSelect:activityType completed:completed]; + + } weakSelf.activityViewController = nil; [weakSelf hideControlsAfterDelay]; [weakSelf hideProgressHUD:YES]; From 57727a6e5206269e7374a56c112af668c9c69708 Mon Sep 17 00:00:00 2001 From: cpp <> Date: Wed, 26 Oct 2022 17:07:49 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=AF=BC=E8=88=AA=E6=A0=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pod/Classes/MWPhotoBrowser.m | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Pod/Classes/MWPhotoBrowser.m b/Pod/Classes/MWPhotoBrowser.m index 2c1998aa8..a5e4ce6e1 100644 --- a/Pod/Classes/MWPhotoBrowser.m +++ b/Pod/Classes/MWPhotoBrowser.m @@ -442,13 +442,27 @@ - (void)didMoveToParentViewController:(UIViewController *)parent { - (void)setNavBarAppearance:(BOOL)animated { [self.navigationController setNavigationBarHidden:NO animated:animated]; UINavigationBar *navBar = self.navigationController.navigationBar; - navBar.tintColor = [UIColor whiteColor]; - navBar.barTintColor = nil; + navBar.tintColor = [UIColor blackColor]; + navBar.barTintColor = [UIColor whiteColor]; navBar.shadowImage = nil; navBar.translucent = YES; - navBar.barStyle = UIBarStyleBlackTranslucent; + navBar.barStyle = UIBarStyleBlack; [navBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; [navBar setBackgroundImage:nil forBarMetrics:UIBarMetricsLandscapePhone]; + + if(@available(iOS 15, *)) { + UINavigationBarAppearance *appearance = [UINavigationBarAppearance new]; + [appearance configureWithOpaqueBackground]; + + NSMutableDictionary *attributes = [NSMutableDictionary dictionary]; + [attributes setValue:[UIColor blackColor] forKey:NSForegroundColorAttributeName]; + appearance.titleTextAttributes = attributes; + + self.navigationController.navigationBar.standardAppearance = appearance; + } + else{ + [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor blackColor]}]; + } } - (void)storePreviousNavBarAppearance {