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.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 0de7faaab..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 {
@@ -1172,7 +1186,7 @@ - (void)playButtonTapped:(id)sender {
}
NSUInteger index = [self indexForPlayButton:sender];
if (index != NSUIntegerMax) {
- if (!_currentVideoPlayerViewController) {
+ if (!_avPlayer) {
[self playVideoAtIndex:index];
}
}
@@ -1224,54 +1238,114 @@ - (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];
-}
+ //初始化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];
+ }
+ }];
-- (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:_currentPlayerViewController 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];
+
+ [_currentVideoLoadingIndicator removeFromSuperview];
+ _currentVideoLoadingIndicator = nil;
+ [[self pageDisplayedAtIndex:_currentVideoIndex] playButton].hidden = NO;
+ _currentVideoIndex = NSUIntegerMax;
+
+ }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;
+ _currentPlayerViewController = nil;
_currentVideoLoadingIndicator = nil;
[[self pageDisplayedAtIndex:_currentVideoIndex] playButton].hidden = NO;
_currentVideoIndex = NSUIntegerMax;
@@ -1598,19 +1672,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];
diff --git a/Pod/Classes/MWPhotoBrowserPrivate.h b/Pod/Classes/MWPhotoBrowserPrivate.h
index 5770d6787..29fafb8f1 100644
--- a/Pod/Classes/MWPhotoBrowserPrivate.h
+++ b/Pod/Classes/MWPhotoBrowserPrivate.h
@@ -8,9 +8,10 @@
#import
#import
-#import
+#import
#import "MWGridViewController.h"
#import "MWZoomingScrollView.h"
+#import
// Declare private methods of browser
@interface MWPhotoBrowser () {
@@ -54,7 +55,8 @@
UIImage *_previousNavigationBarBackgroundImageLandscapePhone;
// Video
- MPMoviePlayerViewController *_currentVideoPlayerViewController;
+ AVPlayerViewController *_currentPlayerViewController;
+ AVPlayer *_avPlayer;
NSUInteger _currentVideoIndex;
UIActivityIndicatorView *_currentVideoLoadingIndicator;